This is an awesome thread, I have learned a lot here - I wasn't aware that any of this stuff was going on.
If GrayBox is written dependent on taking chunks of ROM/System and putting it into the actual code before building it, these code chunks could be separated into a library. This library could at first be shared in the most secretive fashion among developers, but eventually you could develop a way to automatically produce the library from the ROM and System which comes full circle to requiring that these items be provided by the users out there and NOT provided by the developers.
Could one simply require that the ROM and System be supplied by the user? These items could be placed at Library/Application Support/GrayBox/ and accessed by any and all software builds without including them in the build.
If GrayBox is written dependent on taking chunks of ROM/System and putting it into the actual code before building it, these code chunks could be separated into a library. This library could at first be shared in the most secretive fashion among developers, but eventually you could develop a way to automatically produce the library from the ROM and System which comes full circle to requiring that these items be provided by the users out there and NOT provided by the developers.