How to change the squeak licence ?

Lex Spoon lex at
Thu May 19 14:21:34 UTC 2005

Ross, are you aware that Squeak's founders were working at Apple at the
time?  And that they worked directly with Apple's lawyers in order to
get a satisfactory open-source license?  You appear to be suspicious of
Squeak-L's drafters just because they were working for a large
corporation.  I agree with your characterization of lawyers' motives. 
Don't overlook, however, that it was *our* large corporation, at the
time, that they were working for.

Yes, the license protects the licensor,  as any good license should do. 
It also gives the freedoms to download Squeak with source code, modify
it, and redistribute it.  There is nothing insidious here.  It was just
lawyers -- our lawyers -- crafting a fair license.  It is shooting the
messenger to reject this carefully crafted license just because it
mentions things that are unpleasant.

Your responses are getting flippant.  I searched the US Gov's web site
to find any export regulations I could that apply.  As far as I can
find, the regs simply don't apply to non-military software.  Like you
suggest, the regs appear to say that exporting Squeak (or SML-NJ, or
Cecil) is fine, but exporting a missile-control program written in
Squeak is restricted.  These restrictions apply to any software written
in the US, and all that Squeak's export clause adds to this is that you
can't get American redistributors of Squeak into trouble by your
actions.  That seems only reasonable.

I don't see what the problem is that the license requires that the
downloader not cause harm to Apple through their actions.  That seems
like an entirely reasonable requirement, and at any rate it appears to
be a standard agreement.   Regarding the "to the extent of" language,
remember that "Modified Software" is software that the licensee has
created.  Thus, the indemnification clause only applies to actions of
the licensee (or enabled by the licensee), not to any old use of Squeak.
 I think this is completely fair.  If you do something to get Apple in
trouble, then you are liable to the extent that you did so.

In both cases, I admit I'm not a lawyer.  There might be some obscure
problem here.  But that could be said about anything.  We did the
smart thing and got advise from lawyers.

Overall, freedom means you can do what you want until you harm someone
else.  You seem to be asking for anarchy, the ability to do absolutely
anything.  Squeak-L is a free license, not an anarchistic one.  Is
freedom not enough?

That's an interesting case about the Apple-fan web site; I'll take your
word on it.  I still find it very unlikely that Apple will turn over
their defense to any outsider.  Operationally, Squeak-L's
indemnification clause does *not* equal "pay".  It gives multiple
options.  You can pay off Apple's defense team if you want,  but you can
also opt to defend it yourself.

I do think the matter under discussion is important.  It is important to
distinguish things like "practically free" from "theoretically free"
from "non-free but no one will ever invoke it".  Squeak is great
regardless of how good or bad its license is, and I certainly don't want
to misrepresent that license and get anyone in trouble.  As examples, a
couple of things that would cause me to re-evaluate are: serious lawyers
could analyze the license and weigh in, or a non-zero number of relevant
court cases could happen.

Right now, though, I do not see anything to worry about any more than
other public activity.  Whenever you step outside your door or log your
computer into the Internet, you are facing potential legal problems. 
Beyond this general haze of liability that exists in today's world, I
don't see what all the fuss is about with Squeak-L.  It's armchair
lawyering, and the truth is none of us really knows about Squeak-L--just
like with any other open source license.  Until we know something more
reliable, we ought to go with the spirit of the license and the advice
of lawyers that were working on our side.


More information about the Squeak-dev mailing list