Advogato's number

Posted 23 Nov 1999 at 22:58 UTC by advogato Share This

This is the third in a series of weekly editorials. This week's Advogato's number is a short rant on licenses.

The profusion of licenses continues. Recently, Corel announced that some components of their new Linux distribution will be released under the CPL, or "Corel Public License". This license is basically identical with the MPL, but with names changed to protect the innocent. Similarly, Novell is working on a Novell Cooperative License.

What to make of this profusion of licenses? It's nice to see companies getting the Open Source religion, and seeing all this code, some of it quite good, into open source.

However, all is not rosy in open source land. The big problem is that code released under an open source license cannot necessarily be used in other open source projects. In particular, there are many combinations of licenses that are simply incompatible with each other.

These incompatibility problems are not new with the profusion of open source licenses. The biggest offender is GPL, which is incompatible with any other license not strictly more liberal. This has already caused needless duplication of effort, for example separate XML parsers written in C for MPL and LGPL codebases (expat and gnome-xml).

The exact matrix of which licenses are compatible with which is quite fuzzy to Advogato (if anyone out there has a well-researched one to contribute, I'd greatly appreciate it). Yet, it seems that the legalese in the licenses is less important than their role in defining communities, particularly the walls between them.

I like the gang analogy. The GPL corresponds to the powerhouse badass gang. They're impressive as hell, but if you're not a member of the gang, you don't get to use the code. A more liberal license such as the MIT says you're willing to play with everybody. And of course, the profusion of [^G]PL licenses represent the wannabe rich kids who envy the GPL gang's style, but can't quite bring themselves to commit to the badass lifestyle.

The situation of incompatible licenses reminds Advogato somewhat of the fragmentation of Unix in the '80s. The reasons for coming out with new [^G]PL licenses are similar to the Unix "enhancements" of the '80s; basically, to give people reasons to buy in to a particular company's worldview and codebase.

No one is the better for having all these mutually exclusive software pools. Some of the code is very nice but, like the proprietary Unix hacking, just incompatible.

But here we are, with lots and lots of Open Source licenses. We're past the point where One True License can resolve these incompatibilities. How do we get closer to the ideal in which free software developers can just borrow and adapt the code they need, without worrying about licenses? I don't have the answer, but it's something to think about.

One approach that seems to have worked is poly-licensing, ie releasing a codebase under multiple licenses simultaneously. It may seem cumbersome, but probably helps resolve real license incompatibilty issues. Of course, one concern is that contributions may be made under only a subset of licenses.

Advogato is certainly not against new licenses. Existing licenses have their own share of flaws, and new ways to make money doing free software are always interesting (gotta find some way to feed my habit for Spanish anchovies!). However, any new license should be defined to be as compatible with existing free software licenses as possible. Even if people creating the license decide to make it incompatible, they should be very clear about that fact. As new licenses are created, the responsibility to fill in the rows and columns of the compatibility matrix should rest on the people causing the matrix to grow.

Thanks to Larry Ewing, Stig Hackvan, and the regulars on #gnome for discussions that inspired this editorial. People who are interested in exploring licensing issues in more detail will certainly want to get Stig's new book, Open Source Licensing: Building Business and Cooperation with Open Source, when it comes out.

GPL going away, posted 24 Nov 1999 at 09:07 UTC by mwimer » (Journeyer)

I think that as time goes on we are going to start seeing less and less gpled software even from the little OS projects. The GPL is too encumbered and nothing but extra overhead, so i predict that we will start seeing more and more software released closer and closer to public domain licensing, sorta like the revised bsd. We are entering a more civilized age where the reasons we write software moves away from just simply making (more) money or of furthering a political ideal, to furthering a technilogical ideal. And, i say the sooner we move away from socially or politically motivated licenses the better.

How about using OSI?, posted 24 Nov 1999 at 15:52 UTC by jamesh » (Master)

Since Eric Raymond and others at seem to be helping companies write these licences, maybe they shoud help create such a compatibility matrix. Of course, something like that would have to be reviewed by a number of groups (FSF, some BSD folks and X folks for instance).

Having such a matrix available would also be a useful thing for other companies planning to create new licences. I guess at least a few of the incompatibilities we see are due to overlooking the interactions between licences. If the interactions were documented like this, companies may take compatibility into account when writing the licence.

Such a matrix would also help small developers work out if they can use a bit of code, without having to research too much.

LGPL and MPL are compatible, posted 24 Nov 1999 at 18:05 UTC by rbrady » (Journeyer)

The MPL is compatible with the LGPL. Otherwsie you would not be able to get Mozilla binaries for Linux. I'm not sure why there are two Open Source xml parsers, but license incompatability, in this case, is not the reason.

XML parser licenses, posted 24 Nov 1999 at 19:52 UTC by raph » (Master)

This is interesting. I was going to write a reply saying that gnome-libs was motivated by the fact that James Clark's expat XML parser library was MPL and thus couldn't be used with GPL applications. However, when I checked the page, I found that it's dual licensed as MPL and GPL. I'm not sure when this happened, but it seems to be fairly recent, at least going by this mailing list post.

It certainly is the case that you can use LGPL libraries in MPL apps. Otherwise, Mozilla would not have been able to choose Gtk+ as the UI toolkit.

Open source outweighs license, posted 25 Nov 1999 at 16:13 UTC by scottyo » (Apprentice)

I think the fact that the code has been released under *some* open source license far outweighs which particular license is chosen. True, I might not be able to include the software with a particular "product" that I want to distribute. But, I *can* download, modify, and make it work with that product AND I can tell other people how I did that.

The community will pressure licensors whose software "demands" free-er distribution than their licenses allow (ala KDE / qt), to change their licenses or face oblivion. I think that opening the source code provides a self-check that the old UNIX vendors didn't provide. No, it's not always easy now for developers, but it's far from impossible and the benefits of having the source are undeniable.


Real licensing wars still ahead, posted 26 Nov 1999 at 03:47 UTC by ber » (Master)

As commercial interest in Linux grows, the game will attract more people who love to play hard ball and make money. If any company or even government can control a significant pool of code in some area this will be a chain with a ball. Therefore I think that me might get real licensing wars in the future. Today it is more like setting up the playing field.

Let me remind you that only the GPL or the written GNU philosophy protects software freedom in the long run. Just because it all works well right now, doesn't mean that it will in the future. Of course, MySQL, Qt and Mozilla are nice things, but IMO they already has some bad effects on the free software community. They hugged resources and talent within their area and prevented even better free software solutions.

The GPL covers a huge core of free software and warrantees its freedom in the future. I recommend it to (almost) every project.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page