Archive of UserLand's first discussion group, started October 5, 1998.

Re: GPL compatibility

Author:Eric Kidd
Posted:9/8/2000; 11:34:21 PM
Topic:Guido and Richard
Msg #:21046 (In response to 21042)
Prev/Next:21045 / 21047

Warning: major licensing rant follows.

That's OK. I like rants. :-) I'm going to rant a little bit, too, if you don't mind. (My rant isn't aimed at anyone in particular.)

But first, some background: I support the right of authors to use any license they wish. Microsoft's licensing practices are OK with me, and so are Stallman's.

Making Sense of the GPL

This is what doesn't make sense to me about the GPL. Who is it to tell me what license my combined product is going to be governed by? What the heck?

You decide what license your code will be governed by. Period. Nobody has any legal right to tell you that, unless you've signed contracts to the contrary.

But depending on which license you pick, you may not be allowed to use other people's code. This is what happens with the GPL. If your software uses a license that conflicts with the GPL, you can't use GPL'd code in your software.

The Magic Lawyer-Speak

Here's the relevant section of the GPL:

[The requirements of the GPL] apply to the modified work as a whole. If identifiable sections of that work are not derived from the [GPL'd] Program, and can be reasonably considered independent and separate works in themselves, then [the GPL], and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the [GPL'd] Program, the distribution of the whole must be on the terms of [the GPL].

So you can release two versions of your program: one which uses somebody else's GPL'd code, and one which doesn't. Only the first version needs to be under the GPL.

Dual Licensing

Expat used to be under MPL or GPL (you choose, no idea how he managed the conflict).

There's no actual conflict. :-) Let me explain.

James Clark is the author of Expat. James Clark can do whatever he wants with Expat. He can release it as open source, he can sell it in stores, or he can license it for a million dollars a copy.

In fact, the US legal system permits him to do all three things at once. (Granted, nobody will pay a million dollars for something they can also buy in stores, but that's just the market, not the legal system.)

James Clark may even release one piece of software under two different open source licenses. The legal system permits this.

In the case of expat, the licenses were the MPL and the GPL. The two licenses were completely indepedent. You could use expat under the MPL, or you could use it under the GPL. You could ignore the other license entirely.

Tk Tree Widget

I wanted to combine a Tk tree widget from D. Richard Hipp under GPL with my own code. After a few back and forths, Richard said "why don't you release your app under whatever license and ship my widget under separate GPL license?"

D. Richard Hipp, unfortunately, does not understand the GPL. If he wanted you to use his Tk tree widget, he should have chosen a different license.

You've Got Friends

I frequently volunteer to help clean up licensing messes, as do many other open source developers. If you run into trouble, please ask one of us for help. We can talk to other open source developers, and we can work with lawyers.

For example, I once helped negotiate a four-way agreement between Richard Stallman, a commercial software developer, a university research group, and a bunch of open source volunteers. When we started, we had four licenses, three of which were mutually incompatible. When we finished, everybody felt warm and fuzzy.

It's just like the coporate world--you can't combine several major pieces of software into one package without a few negotiations along the way.

Eric's Easy Prescription

Use the XFree86 license--or the newer BSD license--and you won't have to deal with this stupid mess.

These licenses are 100% compatible with every known open source license. As a bonus, they're compatible with almost every commercial license, too.

Cheers,
Eric




This page was archived on 6/13/2001; 4:56:35 PM.

© Copyright 1998-2001 UserLand Software, Inc.