Forking does not work for a shared object space like embedded Ruby. It’s fine for system Ruby where only one copy of the code would be loaded.
Again, it is not set up to be shared code library … and so it would basically need a complete reorganization, which means …
(1) … will not work the way the code is organized.
This means they will not open source it as doing so would increase the damage that some of the DC “hack” extensions already do.
(2) Ruby itself is a dynamic programming language. This allows code objects (modules, classes, methods and other objects,) to be modified and expanded at run time. So forking isn’t actually needed.
Some extensions just change the DC classes for their own needs.
This situation was much worse before Ruby 2 came out with SU2014. These 2.x version of Ruby now have refinements that only apply within code files that “use” them.
However, the DC code is an engine, that does automated things, such as attaching observes, etc. You cannot refine the DC observer classes and then expect the other DC code files to use the refinements because they don’t make any using
calls. (The code predated refinements and anyway the code couldn’t know ahead of time that later loaded extensions need to refine them.) It’s a “catch-22” scenario.
But, (3) … I myself reorganized, properly coded and fixed a nifty idea (scene aware DCs,) posted in a public blog by one of the SketchUp team members, (but was not coded correctly with best practices or written to be included within the actual DC extension,) and actually GAVE it privately to the team.
The response was a terse policy statement … “we do not accept code donations”.
So unless “The SketchUp Team” publicly changes this (privately expressed) “policy”, there is not any point in pursuing this as a collaborative effort.
How the Dynamic Components extension works is not hard for a good extension developer to figure out. Already some developers have created alternative parametric components extensions.
But doing a good job on something this complex is a very time consuming endeavor, and so these extensions become commercial extensions, as they have great value.