Jared
Internet Technology

GPL, BSD and the law

Sun Jun 10, 2007 7:28 pm
<<     >>
Comments: 0 Views: 72
Amusement provided by:

George V. Neville-Neil AKA Kode Vicious

"I run a small set of Web servers at home, hosting Web pages for friends. I've been building a small package for analyzing Web logs over the past few months, in my “spare” time of course. Now I want to post it on SourceForge, which requires an open source license on the code. I was going to put it under the GPL (GNU public license), but then I read about all the fighting over the GPL3 and I was wondering if this would affect my package. I did a search for other licenses, and it seems that everyone has their own.

How do you decide which one to use?

Unlicensed

Dear Unlicensed,

First, let me state, right up front, I am not a lawyer and have never played one on TV. I know some lawyers—purely on social, well, really, drinking, terms—but that's the extent of my legal knowledge. With that caveat out of the way, which will hopefully placate the lawyers at Queue (with whom I have never had a drink), let me try to answer your question.

Personally, I use the BSD (Berkeley Software Distribution) license, also known as the “New BSD” license (see http://www.opensource.org/licenses/bsd-license.php). I don't just use the BSD license because I'm an old cranky BSD coder, though I am, but because it gives me and my code the greatest amount of freedom with what I perceive to be the least amount of risk. I believe most programmers want people to use their code and to feed back patches and to stay out of legal trouble. All well and good, and that's what the BSD license gives you. The GPL, well, that's another kettle of hot boiling oil.

The best way I can describe the GPL is that it's the roach motel of licenses: code checks in, but it doesn't check out. Putting the GPL on your code means that not only are you sharing it, but also anyone who uses your code must share with you. Enforced sharing has always seemed to me like saying, “I'm taking my marbles and going home.” You see, the part of the GPL that's problematic to me is that if I use your code, then I have to give you my code if I ship a product with your code in it. What if I am willing to give you only part of my code but for some reason I don't want to give you all of it? You can't do that with the GPL.

In reality, the GPL is the Scylla to Big Corporate's Charybdis—for those of you who have forgotten Greek mythology, it puts you between a rock and a hard place. Big Corporate licenses are completely closed; you use the code on their terms. But the GPL is similar in that it is dictating what you do with your code—the code you wrote—because it's an extension of theirs. Most people call this a “viral” license, and many projects that don't use the GPL are very careful to wall off GPL code from the rest of their code to prevent the virus from poisoning them.

There is also the route of putting your code in the public domain, which provides you no control and theoretically no protection. I've not done that since I started using the BSD license, because with the BSD license you're also saying, “Don't sue me! This has no warranty!” These are good things to say. You don't want people integrating your code into their product and then looking to you for damages when they go out of business.

It's my belief that many people use the GPL because it's famous, not because they actually want to force anyone who touches their code to share with them. On numerous occasions I've contacted authors of libraries I wanted to extend to ask them if they could not use the GPL, and usually they said, “Sure, why?” Once they understood why, well, they usually changed to something less viral, sometimes even BSD.

Intellectual laziness of this sort is the very thing that leads people to use technologies for projects for which they are totally unsuited, like putting a mission-critical system on Windows, but I digress...

Of course, don't take my word for it; ask a lawyer, if you're truly paranoid.

Just so you know, “this article is provided by the copyright holders and contributors ‘as is,' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose, are disclaimed.”"

Comments
Name:
*
Comment:
*
Number:
Math (15 + 5)
* required

© 2009 Christonium LLC

Christonium.com
|
Terms of Use
|
Privacy