FAQ section on licenses

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Tue Feb 19 09:18:39 UTC 2002


I sent this to Andrew Greenberg for "review" but has gotten no answer.
So now I am turning it over to the list. It is a Q&A section on licenses
meant for the Squeak FAQ. NOTE: IT IS AN INCOMPLETE DRAFT. This means I
want your help to make it correct. I don't want to include it on the
Swiki before it is thought to be "correct".

(I also did not want to post it to the list before Andrew could look at
it but if I wait any more for an answer I will forget all about it)

I will "harvest" any comments/complements made and put it all together
when it settles down for the Swiki.

regards, Göran

PS. It's a start. Ok? :-) And...
<CSOTD>"Sorry, no CSOTD right now, later perhaps..."</CSOTD> DS
------------
First of all, a few simple basic facts about licenses:

-If you do not intend to distribute your application to anyone - perhaps
it is an inhouse application or just a private hooby program - then you
are not restricted in much any ways at all. You can then for example
include Smalltalk code covered by the GPL license into your own program
and modify Squeak all the way down to the metal for all you want.
-The author of a particular piece of software is the copyright holder to
that software (unless the author works for a company which normally
would give the copyrights to the company). The copyright holder decides
to let licensees use the software under a license. A copyright holder
can let different licensees use the software under different licenses.
This is often referred to as multiple/dual licensing and is something
that many people are unaware of. The copyright holder always has more
rights than the licensee - for example the right to change the license
or distribute the software under another license.
-If a piece of software is available under a particular license there is
always a possibility that the copyright holder can offer the same
software under yet another license, like for example the Squeak license.
You can always ask.


<b>Q: What licenses can I use for my application I have built in
Squeak?</b>
A: You can use any license that does not place any restrictions on
Squeak itself. The Squeak license does not place any restrictions on
your application code, it only applies to the Squeak base classes, the
Squeak VM and
modifications thereof.

Details: An example of an incompatible license in this respect is the
GPL which basically says that any code linked from the application
should comply with GPL. Since the concept of linking is poorly defined
it could be argued that your application code "links" the Squeak base
classes and thus GPL would state that the Squeak base classes needs to
comply with the GPL. Since SqueakL does not comply with GPL this makes
it impossible to use GPL for a Squeak application.

Note: It would also seem to make it impossible to use GPL for any
Smalltalk application when a classical image based Smalltalk runtime is
concerned (which covers most Smalltalk implementations).

<b>Q: What licenses can I use for my plugins I have built?</b>

<b>Q: What license can I use for my modifications to the Squeak base
classes or VM?</b>
A: In short - use SqueakL. It would be possible to craft a new compliant
license for such modifications
but it would go against the wish of the community to introduce yet
another license. It would also make the
community hesitant to accept the modifications into the "official"
Squeak.

Details: This is expressed quite clearly in section 2 of SqueakL. It
basically says that such a license should be no less protective of Apple
than SqueakL and should not make any representations or warranties on
behalf of Apple. It also says that such modifications should be made
publicly available as long as the modification is distributed or
sublicensed to others.

<b>Q: What license should I use for code meant for inclusion in Squeak
(contributions to the base image/modules)?</b>
A: In order to keep Squeak "clean licensewise" with the possibility of
the community being able to change the license in the future, the
community currently wants all contributions to Squeak itself to be at
least licensed under the SqueakL.

Details: As the copyright holder of your contribution you still have the
right to license the code under multiple licenses. This means that you
can simultaneously publish your code under a BSD like license in order
to make your code useable in a broader perspective, like for example in
other Smalltalk implementations, if you wish.


<b>Q: What licenses can libraries be under that I link in my
plugins?</b>

<b>Q: What licenses can libraries be under that I call from FFI?</b>

<b>Q: Is Squeak certified to be OpenSource by the
*OSI*http://www.opensource.org*, ie has SqueakL been approved by OSI as
an OpenSource license?</b>
A: No.
Details: The Linux *Debian>http://www.debian.org* distribution have
decided that Squeak can not be included in Debian proper due to *section
5>http://www.squeak.org/license.html* (indemnification). Debian's
"Debian Free Software Guidelines" was the original document that OSI
based their definition of their *registered certification
mark>http://www.opensource.org/docs/certification_mark.html*
"OpenSource".

<b>Q: Is Squeak "free software" according to the definition of "free
software" that FSF uses?</b>
A: No.
Details: Richard Stallman himself has answered that the fonts are
decidedly non free (this is fixable/being fixed), Section 6 (export
restrictions) makes it non free and he also had some thinking to do
about a condition in section 2. It is interesting to note that Debian
had no problem with section 6, but rather section 5 (indemnification).

<b>Q: SqueakL compared to the GPL, what are the main differences?</b>
A: The GPL is a so called "viral" license which basically means that you
can not use code under the GPL in a piece of software under a non GPL
compliant license. For example, if you develop a product in which Squeak
is a component you can publish/distribute your product under a license
of your own. This means that you can build proprietary products not only
in Squeak but also based on Squeak - including Squeak within the
product. This would not be possible if Squeak where under the GPL
license. Squeak does force modifications to Squeak itself to be
published under SqueakL - so there is a small viral component of
SqueakL, but it only demands that the modifications themselves - and not
the complete product - be publicly available. The intent of SqueakL is
to make it possible for companies to base products on Squeak and still,
by forcing modifications to Squeak to be public, let Squeak evolve
further.

<b>Q: SqueakL compared to the BSD/MIT/Xfree86 licenses, what are the
main differences?</b>
A: SqueakL includes clauses protecting Apple and placing restrictions on
what you can do with your modifications
to Squeak. So in this respect it is not as "unrestrictive" as BSD.

Q: SqueakL compared to the licenses of Python and Perl, what are the
main differences?

Q: SqueakL compared to the license of Java, what are the main
differences?



More information about the Squeak-dev mailing list