Ok.. Lets try to see if, once it is OSS, we keep it from forking. POVRay's license, which some twits insist isn't free, tend to provide better control over what happens to the application once its out in the wild. At most, there are:
1. Official version incorporating the best and most stable features, with an expectation they will get more stable over time.
2. MegaPOV, which is a catch all for new ideas, sort of like what the main OSS projects tend to end up being, but supported by a seperate team, since its not part of the official spec.
3. A very small number of specialty versions, usually only with 1-2 major changes or additions, which if they prove useful the tier 2 team will fit into MegaPOV, then later, if its stable enough and doesn't break the main teams intent for the application, will get incorporated there too.
In the case of Mushclient, it might even be possible to use the existing system that has distinct steps in it, to develop optional dlls that provide function. In other words, if someone developed GUI features, those could be usable "if" you download and install the module for it, but the standard client would only grow by the amount needed to check for the dll and support those commands "if" its installed. That solves one huge complaint we already have, bloat. If the client itself doesn't bloat, but *large* features get incorporated as optional modules, its not as huge of a problem. It basically becomes a class of plugins that provide pre-defined function(s), that are then accessable from the script system, as though they where built into the client. If its missing, and something trys to do, "world.newobject("blah")", but the module isn't installed, you get an error. Simple as that.
Well, maybe not simple, but with the source open, there are definitely some new options we will have available for working these things out. |