License change process

Pavel Krivanek squeak1 at continentalbrno.cz
Tue Jul 31 14:42:38 UTC 2007


Hi all,

small notes to the relicensing effort. Please see
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-July/119133.html.
As you maybe know, the main idea is to have relatively small image that
contains only free code and that is able to load the rest of current
Squeak.

I have selected about 3000 methods that can do this job and started
with the license change of the code:

1) code from all the people that signed the license agreement is free

2) some methods with non-standard initials were fixed (initialsFix.st)
to generate valid table of authors

3) this initials are considered to be free: ab jm sma fbs BP MD md sd
NouryBouraqadi stephaneducassse tpr. That are mostly initials of known
authors in a different form.

4) I compared the code with the code of free Squeak 1.1 and if the
code was the same and had no author, I added this comment: "from
Squeak 1.1". Such methods have new initials (pk).

5) if the method has the same code as in Squeak 1.1 but initials of a
contributor that haven't signed the agreement, it includes comment
like: "from Squeak 1.1, reformated by Andrew C. Greenberg". The new
initials are mine again.

6) The most problematic is the rest of non-free code. You may find the list
of this methods here:

http://comtalk.net/public/pub/KernelImage/license/ (odf table, pdf)

It's 316 methods. Some of them are simple accessors and are very
easy to rewrite - there's the special column with this information.

The next column contains original free code from Squeak 1.1 (if any). It is
always somehow different from the current version. I have created
next column with comment information that says how the original
method should be changed. For example it says that the ZeroDivide
class should be used instead of general error etc.. Of course some
methods aren't easy to rewrite (comments like significant changes or
different code).

So I'm looking for a good soul that wants to help and will write this
accessors and will modify the original methods where the information
enable it. This person must not see current versions of this methods!
That's why I cannot do that by myself.

Then we will have got about 200 kernel methods to rewrite. We need
to build two teams for that task:
- one group of people will read the current code and will write tests that
will specify the functionality of the methods (plus maybe some useful
comments or hints)
- the second group will write the new implementation. The members of this
group must not see the current implementation.

As the bonus to the free kernel we will have got more tests. I think
that this is
the best way how to correctly change the license of non-free Squeak code.
If you have better idea, tell me.

So, volunteers? ;-)

Chees,
-- Pavel



More information about the Squeak-dev mailing list