"Licences Wars"

Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Thu, 06 Nov 2008 01:33:34 +0200
Newsgroups gmane.culture.hackers.israel
Message-ID <[email protected]>
Hi all!

(for linux-elitists : 
I'm sorry about my last post about the KDE 4 rant. I thought it was 
acceptable, but it turned out to violate this list's etiquette. This post is 
about something I haven't published (yet, though I intend to), and will 
contain my full thoughts in an attempt to get more input.
)

Software licences - what a flamatory topic. My post is going to be 
titled "Licences War" (as a tribute to "Languages Wars" -  
http://www.joelonsoftware.com/items/2006/09/01.html ), and will cover my 
opinion regarding it. The first part will explain the concepts and 
differences in ideology behind strong-copyleft-licences ("viral" ones like 
the GPL or the SleepyCat Licence), public-domain, non-copyleft licences such 
as BSDL, MITL, Apache, etc. and soft-copyleft licences in between (LGPL, the 
Artistic Licence, MPL, etc.). I'm not going to cover this explanation here, 
but I refer you to http://en.wikipedia.org/wiki/Copyleft and to other 
resources on the wikipedia.

Now. The first thing I'll mention is that it is not entirely agreed upon which 
licences are free/open-source and which are not:

The original Artistic Licence (authored by Larry Wall for dual-licensing perl) 
is:

* considered non-free (and non-GPL-compatible) by the FSF

* considered free by Debian.

* considered non-free by RedHat.

* considered free by Mandriva.

* considered open-source by the OSI - 
http://www.opensource.org/licenses/artistic-license-1.0.php

* was considered a contract in a certain judgement:

http://lwn.net/Articles/246695/

(Who are you going to believe?)

The Artistic Licence was later clarified into the Clarified Artistic Licence 
which are the minimum changes to make it "free" and GPL-compatible, and now 
has a new and improved version - Artistic 2.0, which is considered free and 
GPL-compatible by everybody, and is generally preferable for newer projects.

Moreover, the Apache 2.0 Licence was specifically phrased to be 
GPL-compatible, and is considered GPL compatible by the Apache Software 
Foundation, but the FSF concluded it was not compatible with the GPLv2 
(although it is with the GPLv3 that was published afterwards). Their legal 
teams still disagree on that matter. So who are you going to believe?

The Creative Commons Attribution (CC-by) and Attribution-ShareAlike Licences 
(CC-by-sa) are considered free (but not GPL-compatible) by the FSF (see 
http://www.gnu.org/philosophy/license-list.html#OtherLicenses ), while the 
Debian legal team concluded that they were not free.[1]

{{{{{{
[1] - I should note that I have issues with the entire Debian policy of 
including only free-as-in-speech material in their distribution, regardless 
of its type. I don't feel that non-software-content should abide by the same 
rules as software, and even RMS said that computer games are morally allowed 
to have non-free graphics, sound, and plots as long as their engines are 
free:

http://developers.slashdot.org/article.pl?sid=05/01/09/191257

So Debian are trying to be holier than the pope here and try to coerce 
everybody into abiding by irrational rules.

But this is besides the point of whether they are free or not.
}}}}}}

Another curious licence is the Affero GPL - 
http://en.wikipedia.org/wiki/Affero_General_Public_License - which aims to 
close the "Application Service Provider Loophole". What it means is that if I 
install an AGPLed program on a web-server and modify it then I must make my 
modifications public. However, the Free Software Definition (see 
http://www.gnu.org/philosophy/free-sw.html ), says that I must have "The 
freedom to study how the program works, and adapt it to your needs.". As a 
result, I personally don't consider the AGPL as free (because I may wish to 
run it on my web-server and modify it), but the FSF thinks otherwise. We have 
enough problems with the suitability of the GPL for embedded systems, that we 
don't need to kill the prospering web-apps market too.

After I cover the controversy of the different licences, I'm starting with a 
few bad ideas of what not to do:

1. Bad Idea No. 1: Choose a non-Open-Source Licence:
----------------------------------------------------

Well, I'm not sure it is a bad idea, but choosing a licence for a non-FOSS 
program is out of the scope for what I'm trying to write. I'm not going to 
stop you from trying, but I'm not going to help you with the licence choice. 
My best advice is to consult a lawyer.

2. Bad Idea No. 2: Choose a non-GPL-Compatible Licence:
-------------------------------------------------------

David A. Wheeler wrote about it here:

http://www.dwheeler.com/essays/gpl-compatible.html

Now, since the GPLv2 is incompatible with the GPLv3 (and vice-versa) you 
shouldn't choose GPLv2-only or GPLv3-only or GPLv3-and-above, because some 
projects may be licensed only under one of them. Also, the LGPLv3 is 
incompatible with the GPLv2, so you shouldn't choose it either. 
GPL-version-2-or-above or LGPL-version-2.1-or-above should be OK in this 
respect.

3. Bad Idea No. 3: "Same terms as Perl"
---------------------------------------

I originally wrote about the problem with the "licensed under the same terms 
as Perl itself" here:

http://use.perl.org/~Shlomi+Fish/journal/36050

(It was also covered here: 
http://perlbuzz.com/2008/04/the-problem-with-same-terms-as-perl-licensing.html ).

4. Bad Idea No. 4: "Under the Public Domain"
--------------------------------------------

See "Public Domain" here:

http://linuxmafia.com/kb/Licensing_and_Law/

The concept of "Public Domain" is not recognised in many jurisdications, and 
it is not clear whether one can place a software under the public domain in 
the first place. If you're interested in making your software 
as-close-to-PD-as-possible, you should choose the X11 Licence ( 
http://en.wikipedia.org/wiki/MIT_License ).

5. Bad Idea No. 5: Use the GPL or the LGPL:
-------------------------------------------

The GPL/LGPL contain many additional restrictions to the concept of copyleft, 
and are very mis-understood, over-hyped, and don't maintain compatibility 
with newer versions. Even the LGPL is reportedly problematic:

http://discuss.joelonsoftware.com/default.asp?joel.3.642822.36

The GPL and LGPL are of more political nature than other similar FOSS 
licences, and as such should be avoided. I recommend using the SleepyCat 
licence ( http://en.wikipedia.org/wiki/Sleepycat_License ), which is a 
strong-copyleft licence, that is compatible with GPLv2 and above, instead of 
the GPL and the Artistic 2.0 (or above) licence instead of the LGPL.

I read the GPLv2 originally once and couldn't understand it. The LGPLv2 or the 
GPLv3 would likely prove to be more problematic.

--------

Finally, not a statement of a bad idea in itself, but a call to use the X11 
Licence (or similar FOSS licences). That's because

- It's simple.
- It's easy to understand.
- It's practically PD which is what people innocently expect.
- Much fewer worries on who can violate your licence.
- Still gives you protection against litigation.
- It's GPL-compatible.
- You can boast that your program is Public domain / BSD-style.

----------------------

Regards,

	Shlomi Fish


-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
What Makes Software Apps High Quality -  http://xrl.us/bkeuk

Shlomi, so what are you working on? Working on a new wiki about unit testing 
fortunes in freecell? -- Ran Eilam