Hi Markus--
Naiad, (or Spoon, as I have seen it)...
Spoon is the working name for the whole system, Naiad is the module system part.
...relies on 'imprinting' and 'unification'. A Naiad system will be basically build up by running test which pull the necessary functionality 'automagically' from a providing project.
We could do things this way, but I suspect most authors will do a lot of manual fine-tuning, to make sure that their modules contain exactly what they intend and nothing else. Imprinting really comes into play when a finished module is transferred between one live system and another.
Everything named by the developer with a string will be uuid'ed, which means that uuids will be the id, followed by the name if not resolvable.
Every version of every module, author, class, and metaclass has a UUID. Methods are uniquely identified by a combination of a class or metaclass version and a selector. Names are never needed to transfer behavior between systems.
Both approaches share the license-clean approach. So if I'd like to provide fixes, code, implementation ideas to these, I'll have to sign a license agreement that my changes to-be-contributed will be MIT-licensed as this is the license to go, as it serves the smalltalk-squeak freedom to be used both in closed-source-distributed-images and open-source-distributed-images... right!? (Please correct me if I'm wrong).
You'll need to have signed and returned the Squeak project contributor's agreement to have your code included in the official Squeak releases, and the agreement is MIT-style, yes.
thanks again,
-C