LWN.net Logo

HOWTO: Pick an open source license (part 2) (ZDNet)

Here's part 2 of Ed Burnette's 'HOWTO: Pick an open source license'. "In this part I'll go through some of the most common licenses and see where they fall from this tree. I'll also try to address some of the issues that people pointed out in the comments to my last posting. The same disclaimer applies: This isn't legal advice, and I'm not a lawyer, and I'm probably over-simplifying some of the points, but I hope you find it helpful."
(Log in to post comments)

HOWTO: Pick an open source license (part 2) (ZDNet)

Posted Jun 20, 2006 22:46 UTC (Tue) by jdave23 (guest, #27160) [Link]

For some reason this fellow thinks that only the copyright holder can sell GPL software.

Correct me if I'm wrong, but don't non-copyright holders sell GPL licensed software every day?

They are obligated to provide the source code, but I think even that is subject to demand -- they don't have to give it to you at the moment of sale, just make it available.

Unless I'm missing something, that's a pretty glaring error!

Glaring mistake

Posted Jun 20, 2006 23:18 UTC (Tue) by man_ls (subscriber, #15091) [Link]

Yes, there are several entries in the GPL FAQ that clarify the issue. The author is just spreading FUD about this license. Why? Is he just ignorant, or does he have an underlying reason? I cannot say.

Glaring mistake

Posted Jun 20, 2006 23:34 UTC (Tue) by drag (subscriber, #31333) [Link]

There are a lot of people that think that the GPL is a barrier to Linux adoption..

That just if we could install all these binary drivers.. Just if we could have all these commercial QT applications without the developers having to pay licensing fees, etc etc then everybody would flock to Linux.

Of course I think that they are absolutely all wrong. That the GPL forms a lowest common demoninator for licensing software. Imagine having to deal with software that had a dozen incompatable and badly written licenses that conflict and restrict you in different ways.. Some for shareware, some libraries you can only use at home or for 'education', etc etc.

Personally I think that GPL is critical for the widespread adoption of Free and open source software. Especially commercial interests. IBM can contribute all the code they want without having to worry about Sun or whoever doing a 'embrace and extend' dance and not returning the code themselves. The GPL allows you to contribute code for the 'common good' of open source software without having to worry about being 'ripped off'.

Of course BSD license is nice if you aren't worried about people taking your software to create superior closed source stuff.

Glaring mistake

Posted Jun 21, 2006 11:02 UTC (Wed) by job (guest, #670) [Link]

It's not like there wasn't any competition to Linux. FreeBSD is almost as old and was in a usable state earlier. Yet Linux is bigger today. I dare say this is because the GPL is a more business friendly license (for most businesses).

Re: Glaring mistake

Posted Jun 22, 2006 20:21 UTC (Thu) by eburnette (guest, #38598) [Link]

I've added some notes in the article to help clarify things. The main problem is we mean different things by "sell". I go into that more in the new notes. If the updates don't address your concerns then let me know, preferably in a comment there.

Glaring mistake not yet corrected

Posted Jun 22, 2006 21:30 UTC (Thu) by man_ls (subscriber, #15091) [Link]

Sadly, your notes do not clarify things. In the first one you say:
But if someone uses the GPL code in a derived work, and distributes the work, then the answer is No. I'm assuming distribution for this article.
As some people have noted below, "distribution" is not included in the common meaning of "use" as related to software (think how many people would "use Windows" or "use Mac OS X" if it was). But OK, we are talking about free software so let us accept your definition. Then in the second note you say:
However if by "sold" you mean "paid a fee for a license to use" then the answer is No. Working at a commercial software developer that does charge such fees, the latter definition is most natural to me, so it's the meaning I'm using for this article.
So now "use" does not include "distribution", since I assume your employer (SAS) does not sell licenses to "use and distribute" software. You even say that this is the most natural definition to you, which means that the previous one ("use including distribution") was contrived, and in the same paragraph where you start to badmouth the GPL.

When we discuss things it is often useful to clarify and define the terms we employ, in order to understand each other. But if we use incoherent definitions, it looks as if we are just using the discourse to justify our irrational emotions. Not necessarily bad (we may have some gut feeling which may look inconsistent at first, and which takes longer to clarify), but you will agree that it is not promising. Coherency is a minimum requirement for rational discussion.

I will discuss this issue in depth below. Even if we accept your winding premises, you are still not right. Red Hat does not just "charge for distribution [...] and charge for indemnification". In effect Red Hat charges for use:

Since every Enterprise Linux product includes support for the system on which it is installed, Red Hat supplies the products with a per-system usage/support agreement.
In fact, Red Hat limits the number of CPUs its ES product can be installed on, like other operating system vendors. So Red Hat is selling licenses to use GPL software, pure and simple. Could you run the same software without paying? Of course, almost all of it is available elsewhere; want to do it yourself? Fine, but then you do not get access to their binaries, support, indemnification... those things that software vendors provide when they sell software.

Red Hat also provides full source code in compliance with the GPL, which allows you to choose other vendor for support and services. Unlike what happens with most software vendors you are not captive; migration will have a cost, but you can do it at any time.

Red Hat are not alone, there are others who do the same: Novell, Mandriva, Canonical, even Sun for some time (with its ill-fated linux-based Java Desktop)... So it would seem that yes, you can sell software licensed under the GPL.

another error

Posted Jun 21, 2006 2:13 UTC (Wed) by stevenj (guest, #421) [Link]

Source to bug fixes and modifications must be released? Yes

The GPL does not require you release source code to modifications that you keep in-house...you only have to provide code to the recipients of your version.

I'm sure the author would defend himself by saying that, of course, he meant source code for public modifications. And, of course, by saying "commercial" software he meant closed-source shrinkwrap software. This kind of sloppiness, however, does not inspire confidence in the author's legal advice.

I also love the way that he cites, for support, his own posting on Slashdot (always a reliable source), and his own coinage of the mature term "Greedy Programmer's License" for the GPL.

Personally, I prefer not to subsidize proprietary software development, which gives nothing of value back to me, with my unpaid labor. I guess that makes me greedy.

another error

Posted Jun 21, 2006 2:57 UTC (Wed) by allesfresser (subscriber, #216) [Link]

GPL stands for "Greedy Programmer License"? How ironic... and how laughably clueless. (Or malicious, perhaps.)

another error

Posted Jun 21, 2006 13:53 UTC (Wed) by vmole (guest, #111) [Link]

Actually, he explicitly says that he defines "uses" as "modifying and distributing". The fact that this is contradictory to the GPL definition just demonstrates one more effort to misrepresent the GPL.

another error

Posted Jun 21, 2006 18:42 UTC (Wed) by arcticwolf (guest, #8341) [Link]

It also contradicts the normal usage of the word "use" with relation to computer programs and applications, which is more evidence that he's purposefully trying to misrepresent the GPL.

If someone went ahead and told people that they cannot legally use windows, word, outlook, internet explorer and whatever else commercial software they're used to and then explained that this is because he defined "use" as "modify and distribute", he'd be laughed at, at best; and if he wrote a column for ZDNet about it, he'd probably be fired by his superiors.

Yet the same thing is apparently perfectly acceptable when talking about FOSS. Honi soit qui mal y pense...

meaning of "use" in another context

Posted Jun 24, 2006 3:38 UTC (Sat) by giraffedata (subscriber, #1954) [Link]

But in the context of software development and publishing, which is the subject of any HOWTO on open source licenses, "use" commonly and naturally means to modify and distribute. When a software developer says, "for our network product I'm going to use the NFS server we bought from Sun, the Linux NFS client, and write my own configuration code" he's not talking about running code.

Developers ask me about my own open source code in that language all the time: "Can I use this without publishing my source code?" I know "use" means "integrate it into my product and distribuute it."

another error

Posted Jun 22, 2006 20:30 UTC (Thu) by eburnette (guest, #38598) [Link]

> Source to bug fixes and modifications must be released?

If GPL code is only used in-house, then the answer is No, you're right on that.

But if you use the GPL code in a derived work, and distribute the work, then the answer is Yes. So I was right, assuming distribution (which is the case I almost always face, but I should have spelled that out better). I added some new notes to clarify that.

> I also love the way that he cites, for support, his own posting on Slashdot

Thanks, I thought that was a nice touch too. :)

> Personally, I prefer not to subsidize proprietary software development,
> which gives nothing of value back to me,

Your choice, but if you use a reciprocal license like GPL, MPL, CDDL, CPL, or EPL then you get back any modifications or fixes to distributed derivative works (assuming everybody follows the rules). And no, I wouldn't call you greedy without knowing you better. :)

Another error not corrected

Posted Jun 22, 2006 21:46 UTC (Thu) by man_ls (subscriber, #15091) [Link]

So I was right, assuming distribution (which is the case I almost always face, but I should have spelled that out better).
Right, so your "use" of the software normally requires distribution. I would say that you use said software in the course of your work to develop other software, e.g. libraries.

However, your company sells licenses to "use" software, which does not include source code and where distribution is of course not allowed. How do we solve this apparent contradiction (which is not so in your mind)?

Let us say that you have two different standards: one is for software you or your company sell, and another one for software you use. For software you sell you want to do so as closed binaries so nobody can look inside; they cannot of course redistribute it, since it would cut into your profits. For libraries, however, you want them to be as open as possible so you can use them in your software and still sell it. So you are taking the code that people put freely on the net and use it for your private benefit. You want the advantages of libre software, but do not want to pay the price and let your customers enjoy them too.

This is probably what stevenj meant when he said he did not want to "subsidize proprietary software development". The GPL prevents that, but it is by design; the double standard cannot be applied. Either you get the freedoms associated with libre software and you propagate them, or you don't get them at all because the license puts the software off limits. There is a reason why the GPL is used by lots of people: they are confident that their work will not help proprietary development.

In this light, your article might be read as "people, use a license so I can abuse your software". Pretending that you cannot sell the software afterwards is probably a measure of self-justification; since you make a living selling software, and the GPL would make it impossible in your eyes, then it must be that nobody else can sell GPL software either. Not true, and it makes a provocative but very poor article.

Quoting yourself does not help either.

another error

Posted Jun 24, 2006 8:36 UTC (Sat) by schabi (subscriber, #14079) [Link]

No, with GPL, you don't "get back" any modifications.

Only the receivers of the modified binaries have a right to get the modified source, not the original authors per se.

HOWTO: Pick an open source license (part 2) (ZDNet)

Posted Jun 21, 2006 5:15 UTC (Wed) by nicku (subscriber, #777) [Link]

GPL (v2)

Description: This is a very common license that allows people to freely use your software as long as they don't charge for it

This is not correct.
Widely used, but largely misunderstood.
How true.

HOWTO: Pick an open source license (part 2) (ZDNet)

Posted Jun 22, 2006 20:37 UTC (Thu) by eburnette (guest, #38598) [Link]

>> Description: This is a very common license that allows
>> people to freely use your software as long as they don't charge for it
>
> This is not correct.

It depends on what you mean by "charge for it".

If you take it to mean charge for distributing, charge for bundling and packaging, charge for reproducing, charge for support, and charge for indemnification, then you are right.

However if you take it to mean "pay a fee for a license to use" then I'm right. Working at a commercial software developer that does charge such fees, this is the definition that is most natural to me. But I can understand why others wouldn't take it to mean the same thing.

I've added some notes to try to clear this up. Please refresh the article and see if you agree with it now. Thanks for your feedback.

http://blogs.zdnet.com/Burnette/?p=131

Compatibility within open-source projects

Posted Jun 21, 2006 5:37 UTC (Wed) by ahuggel (guest, #6974) [Link]

Another important consideration IMO is the compatibility of your license with that of other open-source software that you may want to use in your program.

In that context I think it would also have been useful to highlight the "market-share" of the licenses (see eg freshmeat.net).

-ahu.

Market share

Posted Jun 21, 2006 6:38 UTC (Wed) by man_ls (subscriber, #15091) [Link]

The author would have had to acknowledge that well over half Freshmeat projects choose GPL; in fact all other free licenses seem anecdotal in comparison. Most importantly, once you start looking at real data you have to face some uncomfortable truths, like: why do GPL projects seem to thrive out there, where other projects stagnate?

Compatibility within open-source projects

Posted Jun 21, 2006 12:25 UTC (Wed) by tzafrir (subscriber, #11501) [Link]

A reason to avoid CDDL, MPL, and QPL.

http://freshmeat.net/browse/1103/ (CDDL: 26 projects)
http://freshmeat.net/browse/189/ (MPL: 287 projects)
http://freshmeat.net/browse/190/ (QPL: 79 projects)

as they are incompatible with the GNU GPL:
http://freshmeat.net/browse/15/ (22939)

HOWTO: Pick an open source license (part 2) (ZDNet)

Posted Jun 21, 2006 17:39 UTC (Wed) by dwheeler (guest, #1216) [Link]

Okay, he's offering advice... but he's often offering bad advice, or with way too much spin to be truly even-handed. Too bad, it's a topic worth discussing. I have released software under GPL, LGPL, and MIT licenses; there are reasons to do each. In most cases GPL-incompatible licenses are a bad idea, because the GPL is the most popular license by far. His clear bias against EVER using the GPL makes it harder to take his advice seriously.

FUD: FreeBS Users' Dumbness then

Posted Jun 22, 2006 13:36 UTC (Thu) by gvy (guest, #11981) [Link]

> His clear bias against EVER using the GPL makes it harder to take his advice seriously.

And it's largely annoying how they try to mislead, those who weren't able to basically grok the GPL *code*! Among those whom I have to bang sometimes, these are mostly BSD types who apparently don't also understand that a couple of lines which were OK for DoD contracts don't work well as a free software license in a concurrent world...

PS: sorry for those proper folks who might feel uncomfortable with the subject, it's a pun (see the article).

HOWTO: Pick an open source license (part 2) (ZDNet)

Posted Jun 22, 2006 20:46 UTC (Thu) by eburnette (guest, #38598) [Link]

> His clear bias against EVER using the GPL makes it harder
> to take his advice seriously.

I wouldn't say NEVER use it but the open source world would be stronger in my opinion if more people used something else. GPL (at least v2) is incompatible with most other licenses, or you could say most other licenses are incompatible with GPL. Either way, if I want to combine GPL with non-GPL code (and distribute the result) then it's the non-GPL code that has to give and convert to GPL. This is often not possible, so I usually have to go find some other implementation or re-invent the wheel myself.

I'm not alone in this problem, witness Harmony vs. CLASSPATH for example. Harmony could have used CLASSPATH and the two teams could have pooled resources if CLASSPATH had been released under the Apache, BSD, or MIT licenses.

Bias against the GPL

Posted Jun 22, 2006 22:51 UTC (Thu) by man_ls (subscriber, #15091) [Link]

Either way, if I want to combine GPL with non-GPL code (and distribute the result) then it's the non-GPL code that has to give and convert to GPL.
Why not the other way around? If GPL code converts to a non-GPL license, the result would be distributable too. I have seen that happen a lot of times on Apache dev lists.
Harmony could have used CLASSPATH and the two teams could have pooled resources if CLASSPATH had been released under the Apache, BSD, or MIT licenses.
You forgot to mention that resource pooling would have been possible too if Harmony had been licensed under the GPL. Of course Harmony is an Apache project and the natural choice is the ASL; but Classpath is a GNU project, and therefore the GPL is the primary choice here. And since Harmony is still in the incubator a license change would seem easier.

Reversible arguments are not likely to take us anywhere.

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds