Last updated at 9:37 pm UTC on 2 April 2008
Please see Effort to relicense Squeak for the latest update on the Squeak Re-Licencing work.
Squeak-L is the name of the license governing Squeak. (Also known simply as the "Squeak License". The "L" stands for License.) This page gathers various bits of information from various mailing lists regarding this license.
To read the license in its entirety, see http://squeak.org/SqueakLicense/.
Spirit of the License
In the Back to the Future article, it is written:
"The Squeak license agreement explicitly grants the right to use Squeak in commercial applications royalty-free. The only requirement in return is that any ports of Squeak or changes to the base class library must be made available for free on the Internet. New applications and facilities built on Squeak do not need to be shared. We believe that this licensing agreement encourages the continued development and sharing of Squeak by its user community."
The original Apple research site (now gone, but archived on the Wayback Machine) had the following plain-English description of the license:
"Our license agreement contains conditions intended to keep Squeak open and available to the user community, while letting users do useful things with Squeak. You will see the license once you begin installing Squeak. These following examples are provided as illustrations and are not legally binding. See the license for the real terms. To the extent that the examples and the license conflict, the license will govern.
You are allowed to change Squeak, write extensions to Squeak, build an application in Squeak, and include some or all of Squeak with your products. You may distribute all of these things along with Squeak, or portions of Squeak, for free or for money. However, you must distribute these things under a license that protects Apple in the way described in our license to you.
If you modify any of the methods of class objects (or their relationships) that come with Squeak (as opposed to building on top of what we provide), you must post the modifications on a web site or otherwise make them available for free to others, just as we have done with Squeak. Our license to you explains how you must do this.
The same is true if you port Squeak to another machine or operating system: you must post your port on a web site or otherwise make it available for free to others under the terms described in our license to you."
Commercial Apps Written in Squeak
There is no problem writing commercial programs in Squeak and selling them. The only requirement is that you distribute changes to the base system that you make. If you just write an application on top of Squeak, then you have nothing to worry about.
In fact, there is some question of the practical impact of changes that are obviouly changes to the base system. There is no time limit in Squeak-L, and so you can always say you are planning to release them in five years.
[That loop hole must exist until the harvesting process is "fixed". I made changes to the base, and finally ended up posting them c.l.s. because I could not get acknowledgement of the report elsewhere. OpenSSL has an automated way to report problems; I'll get back to you later re whether they act on them :) -BillSchwab ]
Squeak and "open source" and "Open Source"
It surprises many that "Open Source" has been given a very specific and stringent definition via "OSI certification". See http://www.opensource.org for the details. There have been efforts to somehow make this apply to "open source" in lower case, but those seem to be failing as of September 2004. This makes sense: "open source" is regular English verbiage and is not a term that any one English speaker should be able to take over and define however they like. If you want to talk about certification by OSI, then it surely should be called "OSI certified" and not "open source".
It seems reasonable to call Squeak "open source", for a variety of reasons. Squeak Central considers Squeak to be "open source". Everyone seems to agree that Squeak meets the spirit of the open source movement, which Squeak predates. And finally, Squeak's license was written by professional lawyers friendly to Squeak Central, whose assigned task was to write a open source license (though it wasn't called this back then). To contrast, most of the idealists who nitpick open source software licenses are not themselves experts on law.
See Font-specific License Issues
The Indemnification Clause
The indemnification clause of the Squeak License is intended to protect Apple if someone sues them about something a redistributor of Squeak does. If you use Squeak to break into a bank, and the bank sues Apple for giving you the tools to do it, then Apple can, due to the indemnification clause, force you to either defend Apple or pay for Apple's defense, at your choice. Some – in particular some members of Debian's debian-legal mailing list – worry that the clause as written is too broad and that it may put too much liability on distributors.
Others think it is standard legal boilerplate, especially considering the method used to develop Squeak-L. They argue that whatever liability there is that Apple will be sued for one's behavior, must be dwarfed by the liability of being sued directly for that behavior (i.e., the bank sues you, the guy who did the crime, instead of bothering with Apple). Finally, they argue that the scenario is vanishingly unlikely. To begin with, someone has to sue Apple over Squeak, even though Apple has abandoned Squeak for several years now, over something you did, even though they could typically have sued you directly. Then, Apple would have to offer to let the distributor defend Apple's case for them, nevermind that Apple has their own quite capable legal staff. Finally, you'd have to refuse this offer and insist that Apple defends itself.
Efforts to Change the License
The original release of Squeak has been rereleased as APSL 2.0 software by Apple. This makes it far easier to start working towards a free software or "Open Source" release of Squeak. Go to the Squeak Relicense page to help or learn more.
Here is a nice piece on the SqueakFoundation swiki that discusses various pertinent licenses, explains the problems associated with Squeak-L, and proposes a path towards switching to a different license (possibly MIT) by gradually replacing chunks of Squeak code. See also Licensing Discussion in 2004.
With respect to font issues, all we really have to do is replace the fonts! Jim Gettys announced the release of the Bitstream Vera true type fonts (screenshot), and there are free bitmap fonts available.
Licensing Discussion in 2004
Here is where most of the info on this page comes from.
Why not GPL or LGPL?
First and foremost, GPL is intended to push a political agenda which not all Squeak users agree with. Thus, it is inappropriate at the very least for the main distribution, even if a subset of users want to fork a GNU Squeak.
A particular issue is that GPL is viral and does not mix well with other open source licenses.
Additionally, there are Ambiguities and uncertainties in the GPL, so even if you agree with the overall intent of
LGPL might be a reasonable alternative, but LGPL itself does not work well with Smalltalk. (links anyone?) Stallman seems to consider "linking" in Smalltalk to be the same as modification, and thus the linking provision of LGPL would not apply. On the other hand, GNU Smalltalk is released under LGPL.
GLORP is LGPL licensed. However, it has an extension that specifies just what qualifies a change that much be distributed back. It quite similar to the Lisp LGPL. I think these could be studied quite profitably towardsw making LGPL smalltalk practical.
Squeak in Debian?
There has been some discussion of whether Squeak can and will be included in Debian, a free software distribution. See Squeak in Debian.