[self-interest] Re: licenses and working together
gordon at cichon.de
Wed Nov 17 16:16:45 UTC 1999
On Wed, 17 Nov 1999, Jecel Assumpcao Jr wrote:
> 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.
first one last comment on licensing:
The main difference between BSD and GPL licenses on the one
side, and things like the Mozilla license, the Apple license,
and Suns license is that contributors are not peers is the
latter case. In this sense, the Self license is much superior
to the license of Squeak and Mozilla.
> 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.
Yes, I absolutely agree with you. Let me point out that I am
not tied to porting Sunlabs Self to Linux unconditionally.
Once, I offered my help to the Java/Self guys and to abandon
Self/Linux in favor of it. They were not interested in cooperating
with me and I did not get an answer from them. Nevertheless,
if we could agree on a way to proceed, I would certainly adapt
my own effort to support it.
I agree with you that the best implementation of Self would be
in Self. But what exactly is Self? For me, Self is more than
this angle-bracket-thing. You also defined some extensions
to the Self language. I think Self is not well-defined enough
to do an implementation in itself now. Ideally, at least SIC
should be implemented in Self.
I think, this is logically the next step at the implementation
side to lay down a framework onto which optimized compilers for
different architectures can be plugged in. Just like GCC has its
framework, Self could have its own, too.
It would be a nice thing to "squeakify" Self, but please correct
me if I'm wrong, a squeakified Self would run so slowly that the
UI would be completely unuseable. And this Mango stuff is IMO
exactly the right stuff to play around extending Self grammar and
semantics. I would like to keep this stuff going, and not to
break it. Say, if you had an arbitrary slow interpreter of Self,
say written in perl, you would find it pretty difficult if not
impossible to write demanding code with it without UI. The Self
language gives you so much freedom that you are completely lost
without a user interface that guides you through the process.
And, IMHO I think, what holds back Squeak is that it is too
old and too late, and it is not even free software. Come on,
this is just another implemenation of Smalltalk-80. They are even
proud of not being integrated into an windowing system. Who is
today going to deploy an application that is not integrated into
the windowing system?
I think, Smalltalk could have played the role that Windows plays
today, i.e. the integrating framework for different applications
that run on a virtual machine if ParcPlace hadn't been so jealous
about its licensing policy. If they had sold Smalltalk-80 for 50
bugs, people would have used it, just like they used Windows. But
that opportunity is over for a long time already. Any OO environment
that likes to be used by the people must have 1) a social licensing
policy, and 2) a social environment. It has to integrate into its
host environment, window system, operating system, and other object
models. The time of autism is over and it won't come back.
More information about the Self-interest