Just open sourcing the code the way it is now, will not facilitate customization. The DC code objects were not written for this in mind. (As Julia says they are not a library.)
Part of the issue is that the 2 dialogs are hard-coded to use the current code objects (classes.)
What’s more, the add functionality mechanism, is a weird implementation where new DC subclass needs to be implemented and any dynamic component that wishes to use it, needs to have it’s hidden version attribute changed to the version of the subclass (which is part of the class name identifier.) Ie , now: DynamicComponentsV1
… follow on editions with more functionality would use a subclass that is named like: DynamicComponentsV2
, DynamicComponentsV3
, etc.
This really means that the SketchUp Core team (who is responsible for the DC code,) needs to be the party that adds new DC component subclasses. Otherwise, there would be a bunch of competing 3rd party version 2s, and 3s, and 4s, etc. (I suppose there could be a community extension hosted on GitHub that extends the DC extension, to prevent clashing code.)
But even weirder, is that this scenario sets up a situation where “out in the wild” there could be a mixture of DC component files of varying versions. The 3D Warehouse (I don’t believe) is setup to handle filtering and download by DC version (although this appears to be what Scott planned back in 2007.)
I think he intended for the versioning to be transparent to DC users, but something known by DC authors. Perhaps also if the modeler of DC chose to implement a V2 feature then the code would just transparently set the DC definition’s "_formatversion"
to "2.0"
in the background. (But the author has to be themselves running a DC extension that supports newer DC versions.)
But this sets up a challenge. What if an older SketchUp version inserts a V2 DC into the model, and only an old V1 compatible extension is installed. Does a message box warn the user to update the DC extension? Answer: Yes, (manually changing a DC version and attempting to apply a DC option change, even one that is still V1 compatible, results in a messagebox.) ie:

But once the messagebox is dismissed the dynamic option change is actually applied. But the DC Options dialog will not recognize the selection of the DC instance until this dialog is closed and reopened again.
The V1 authoring dialog will flat out refuse to display any authoring controls for a higher version DC component. (It displays a message that the user needs to select a component even though one is selected.)
What if it’s a pre-2017 SketchUp and cannot update because all V2 compatible DC extension versions are rbe
encrypted (ie, post v2017. If y’all did not notice, the DC extension for SU2018 and higher is distributed only as rbe
encrypted code. This likely means users still on versions earlier than SUv2016 would be “out of luck”.)