Hi all.<br><br>I&#39;m currently re-writing some tools for use with namespaces (<a href="http://gulik.pbwiki.com/Namespaces">http://gulik.pbwiki.com/Namespaces</a>). Ideally, I&#39;d like a version of the Kernel-* and Collections-* categories that are licensed under the MIT license. This is unlikely to happen unless I rewrite them (hmm...). Failing that...
<br><br>I want to modify some tools to store license data with each method, so that I can avoid and rewrite methods which are under disagreeable licenses. License data can be stored at many levels of granularity - package, class, method, method change. I think adding it at the &quot;method change&quot; level is what we need - I want my change to a method to be licensed under MIT even though the original might be one of the other licenses.
<br><br>To store license metadata with each method change, I think one approach would be to have the tools automatically add comments to the end of each method such as:<br><br>------<br>copy<br>&nbsp;&nbsp;&nbsp; &quot;Answer another instance just like the receiver. Subclasses typically override postCopy; they typically do not override shallowCopy.&quot;
<br><br>&nbsp;&nbsp;&nbsp; ^self shallowCopy postCopy<br><br>&nbsp;&nbsp;&nbsp; &quot;ajh 8/18/2001 21:25 Original licensed under SqueakL.&quot;<br>&nbsp;&nbsp;&nbsp; &quot;mvdg 11/01/2008 22:41 Change licensed under MIT.&quot;<br>&nbsp;&nbsp;&nbsp; &quot;abc 14/03/2008 03:14 Original relicensed under Apache 
2.0.&quot;<br>------<br><br>The user would then have a preference which shows which license they release any changes under. The actual changes would be visible in the versions browser because the change would occur in the same commit as the added comment.
<br><br>Thoughts?<br><br>To implement this, the .changes file would need to be rewritten with all the extra licensing info, and the source pointers would all need updating.<br><br>A special version of the browser could be made which hides only the code of methods which have been written under a disagreeable license so that they can be rewritten without seeing the original source code.
<br><br>Gulik.<br><br>-- <br><a href="http://people.squeakfoundation.org/person/mikevdg">http://people.squeakfoundation.org/person/mikevdg</a><br><a href="http://gulik.pbwiki.com/">http://gulik.pbwiki.com/</a>