[self-interest] licenses and working together
Jecel Assumpcao Jr
jecel at merlintec.com
Wed Nov 17 13:53:06 UTC 1999
Gordon Cichon made several wonderful comments about licensing issues
and the madness of many parallel implementation efforts.
I was just commenting on the current Self 4.1 license and telling
Thorsten that I can imagine no restrictions that his lawyers might
complain about no matter what he intends to do with it. It even
allows you to redistribute it under the GPL if you like!
When Richard Stallman first proposed the GNU project, I had already
been thinking about these issues for a few years. One thing that
is clear is that not everything that is legal is practical. Take
the Squeak license as an example. It makes you release any modifications
you make to the base system, but you can develop applications on
top of it and keep the sources to yourself. Given the recent confusion
about Win98/IE you might imagine what an interesting task determining
where a Smalltalk ends and where an application begins will be.
What happens in practice? If you release a modification to the
Squeak base but it doesn't get officially adopted by the Disney
people, nobody will actually use it since they will have to file it
in again for each new release and you won't have time to handle
the ever increasing conflicts that will crop up. In the end, even
you will give up on using it and will migrate to whatever the
Disney people officially adopted. So even if the license didn't
make you release your changes, your only hope of making long term
use of it is to release it *and* get it adopted into the official
So that (GPL-like) clause in the Squeak license has a great potential
for confusion and will make someone considering commercial use of
the system worried, but currently offers no real protection. That
could change with improved distribution technology (breaking up
the image into independent packages) or if it got adopted by
someone with as much charisma as the Disney team (a Microsoft
Squeak might be taken more seriously, for example) so the present
complications might be worth the future protection.
I am thinking about adopting the current Self license for my own
releases and hope that in practice it will be good enough. Note
that I still intend to make a billing infrastructure available.
If someone wants to release something without the source and/or
charge for it, they should be able to. I will strongly discourage
it (by my own example in my code and by always choosing to use free
alternatives of other people's software) but it should be their
choice. Yes, there is a serious privacy problem in this design -
you have to trust the billing company. I don't see how you could
end up being charged for using your own code, though.
About working together, this is a key issue. I find it funny when
people say "who could have imagined that a bunch of students could
create a full Unix clone" as they admire Linux. There were *many*
Unix clones written in the 80s and the early 90s. The problem is
that every effort did everything: the kernel, ls, grep, vi and
so on. So all ended up dying before they were really usable or
they were finished but never widely released. The danger that Self
might follow the path of all these failed clones is very clear.
In a way, the situation today is better than it has ever been. In
the past, people would look at Self and say "great idea - I'll make
my next language like this!". So we got Kevo, NewtonScript, Omega,
GlyphicScript, Moostrap and a bunch of others you never heard of
(including my recently ressurected NeoLogo). Now we are saying
"what a great idea - I'll make my own version of Self so it will
run on the machines we have". So we see OpenSelf, JSelf, Self/R,
mySelf and... any others? At least in your attempt to port Self 4.0,
you were not "forking" the project.
One problem with the Sun Self is that it is much more like the
Mozilla project than Linux. It was worked on by a small group
and then unleased on the world as a very large piece of code. The
effort for outsiders to understand enough of it to actually make
significant changes is very great (since you didn't "grow up with
the code" like the original team did). Squeak avoided this fate
simply by being much smaller, since it was released in the same
way as Self.
I hope I have convinced you that I agree with you that Self/R is
a bad idea in nearly all regards. But I feel very strongly that
the large amount of things that are done in C++ in the Sun Self
is what is holding it back. The X Window problems are an example of
that. My own network problems are another example (I found the
bug, but was way too lazy to recompile the VM). In fact, while
the Squeak way of writing things in Smalltalk and translating
them to C and using an external compiler to get actual machine
code is better, it still is what is holding Squeak back. Self 4
proves that Self code that be translated into good enough machine
code, so I don't think we will have real progress until our Self
is *in* Self. So that is what I am working on.
A port of Self 4.1 to Linux PC or Windows would really help me
since people who are waiting for me to finish Self/R (there are
some :-) would have a way to start coding and learning as soon
as possible. I am willing to be convinced that I am wrong about
what I wrote in the previous paragraph. If somebody can do that,
then I'll joing the x86 porting effort and we can work together.
How do other people feel about what Gordon has written?
More information about the Self-interest