Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
How to select a free software license

By Per Abrahamsen in Op-Ed
Tue Mar 13, 2001 at 05:06:35 PM EST
Tags: Software (all tags)
Software

Figure out what your goals are first.

Really. You are releasing the code for a reason. The license you choose should be the license that best promote that goal. The reason we have different free software licenses is that they are written for different purposes. However, first make sure your understand the legal and practical concerns.


Legal: Obviously, you must be sure you actually own the code. Otherwise, you are not the one who can select the license. There is a good chance that your employer or sponsor own the code. Check it first.

Practical: Mixing licenses can be impractical: even if done right, it means the concerned user will have more licenses to read and try to understand. So, unless your goals (see below) interfere, I suggest for practical reasons using the same license as "related" software. I.e., a program for the KDE desktop should use the same license as KDE; a Perl library should use the same license as Perl; an X11 utility should use the X11 license; und so weider. Think about what software "community" your program will be part of, and choose the dominant license in that community. These practical concerns often override the "political/personal" concerns listed below.

"Political/personal" goals:

1. Get rich: Maybe you hope to make money of the product and want to use the free version for marketing and perhaps debugging. This is perfectly all right, lots of useful free software is developed like this, examples include Qt, Ghostscript, Cygwin and ReiserFS. The developers of all four have both free and non-free versions available. Here, you want a "copyleft" license that prevents others from undercutting you in the non-free market. GPL is used by Cygwin and ReiserFS, Qt uses a QPL/GPL dual license, and Ghostscript uses the "Alladin GPL" which is just short of being OSI certified, but old versions are available under the GPL.

QPL can be combined with most free software licenses but GPL, and GPL can only be combined with GPL, LGPL, and licenses close to PD.

Suggestion: Use a GPL / QPL dual license.

2. Get help: A good reason to release the source code, is that you hope to get bug fixes and other contributions, i.e. free developers. Here, you want a license that encourage people to share back but also allows so many people as possible to use it. A copyleft like GPL or QPL will prevent developers of non-free software from using it, and PD-like license like BSDL or X11 will allow them to keep their improvements to themselves. The compromise here is one of the "library" licenses: LGPL and MPL. Both are designed to allow or even encourage use in non-free products, but keep your part of the code free in form of a library (LGPL) or file (MPL). Theoretically, developers can write improvements and bug fixes in different libraries or files to "get around" the license, but since the complete product can remain non-free, there is little reason to do that. MPL can't be used in GPLed projects, and LGPL have some practical problems that might make developers of non-free products avoid it.

Suggestion: Use a MPL / LGPL dual license.

3. Improve the state of the art. You love technology, and want us to progress as fast as possible. You don't really care about politics, and think free vs. non-free isn't as important as quality. You want a license that encourage others to use it, no matter who they are. Better products, free or non-free, will create a better world. Choose a well known and trusted license with a minimum of restrictions.

Suggestion: Use the new BSDL.

4. You want to help promote free software. You like the idea of free software much better than non-free software, and you want your contribution to help make free software software beat non-free software on quality as well as price. Here, you want a copyleft license to delay having you improvements copied to non-free solutions.

Suggestion: Use a GPL / QPL dual license.

5. You want your software to be used. You have written this software, and simply like to know that as many people as possible use it. Here, you want to encourage everybody to use it as part of their products, and don't want any restrictions in their way. Public Domain would be perfect, but the concept is not recognized everywhere, and some claim it will leave you vulnerable for a lawsuit. I suggest using a well-known license, written by top-grade lawyers, and trusted by everyone.

Suggestion: Use the new BSDL.

Links and Definitions

OSI in this context is the Open Source Initiative. They have a certification mark for open source licenses. They also have a list of aproved licenses. You can find almost all the mentioned licenses there.

FSF here is the Free Software Foundation. They have their own list of free software licenses, and also explains some of the glossary used in the article.

The "new BSDL license" refers to the latest version of the BSD license, which doesn't require product advertising to credit University of California like the original did.

A dual license here means that the user will get a choice of following either or both of two different licenses. This means that if he likes one license and dislike the other, he can ignore the conditions of the license he doesn't like, as long as he follows the conditions of the other license.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Why do you release software as free?
o To get rich! 7%
o To get others to improve it. 5%
o To improve the state of the art in software. 16%
o To promote free software. 16%
o To make sure it is used. 12%
o All of the above, or other reasons (please specify :-) 14%
o I don't write software. 18%
o I do write software, but don't release it for free. 7%

Votes: 54
Results | Other Polls

Related Links
o Open Source Initiative
o Free Software Foundation
o Also by Per Abrahamsen


Display: Sort:
How to select a free software license | 24 comments (7 topical, 17 editorial, 0 hidden)
another case for the BSD license (4.50 / 2) (#14)
by SEAL on Tue Mar 13, 2001 at 02:59:51 PM EST

If your program is competing against something that is already a defacto standard, then a BSD style license is a good way to get a foothold.

Ogg Vorbis recently switched from LGPL to a BSD license for this reason. Their purpose is to create an audio compression system which is unencumbered by patents, and achieve widespread usage. Since mp3 is so well entrenched, though, they need to get companies using Vorbis in their products. The license change makes it more palatable to many closed-source shops.

- SEAL

It's only after we've lost everything that we're free to do anything.
I agree (none / 0) (#20)
by Per Abrahamsen on Wed Mar 14, 2001 at 06:31:17 AM EST

libz (used by PNG and gzip) is also under a "near PD" license for the same reason, to combat the Unisys LZW patent used by compress and GIF.

On the other hand, I think people who write patent-defeating software like Ogg Vorbis and libz in general are aware of the strategic significance of their choice of license, and don't need an article like this.

[ Parent ]
Would that be allowed ? (3.00 / 1) (#17)
by mami on Tue Mar 13, 2001 at 10:38:39 PM EST

I saw someone asking this question on a mailing list and realized that I wouldn't know how to answer it. I am not quite familiar what it means to code for the government legally. What would you say ? Can you clarify this ?

"If you develop something for the government (and is therefore not copyrightable) and you use some of the gnu software in your software, is there anything that could prevent you from posting it on souceforge?"




Government work, PD and GPL (none / 0) (#19)
by Per Abrahamsen on Wed Mar 14, 2001 at 06:24:13 AM EST

If the code is really in the public domain, there is nothing that can stop anybody from using it in a GPL'ed project, and publishing it at sourceforge. The original code will continue to be in the public domain, but the derived code would be GPL'ed.

I don't know what the rules for US government founded work is. I know that GNU Ada was government founded, and yet is covered by the GPL.

[ Parent ]
Sorry (none / 0) (#22)
by mami on Wed Mar 14, 2001 at 12:39:47 PM EST

I overlooked the other story in the Technology section, which is quite helpful "Choosing a License for Research Software (Technology)" to understand the issue better.

[ Parent ]
Biased/Poor Arguments (none / 0) (#24)
by exa on Wed Mar 14, 2001 at 04:49:38 PM EST

First, you seem to favor 'free market' or some 'corporate code' way of seeing software in a rather subtle way.Your suggestions are altogether controversial, should I say written by 'someone already in one of the alleged camps'. By the way, it would be unfair to say that GPL has been written unprofessionally from the law perspective.

Nobody has yet dared challenge GPL in court. Remember.

Second, when you say that someone who loves technology should *not* choose GPL or Lesser GPL for the license you omit the fact that the overall improvement would not be as fast as a free software license. Fact: micro$oft uses bsd sockets, yet neither *our* community, nor windows-user community cannot be said to have benefited _more_ from the way that particular code has been licensed. It has encouraged use, true, but it has not given rise to the so-called exponential growth of code on its own. Which is I think something a person who loves technology would be worried about. You're presenting a very flimsy argument for choosing the BSD like license over GPL for whom you refer to as 'technology lover's. If one of 'those' companies could be labeled as technology lovers, we would have to accept a more pornographic definition of 'love'.

Review your suggestions, try to show both sides of the argument rather than advocating blindly one side. Who knows, perhaps with some insight you may come up with some suggestions that _have_ _not_ been made before. Where is originality?


__
exa a.k.a Eray Ozkural
There is no perfect circle.

What is your point? (none / 0) (#25)
by Per Abrahamsen on Thu Mar 15, 2001 at 05:14:35 AM EST

I have a difficult time following the thread in your critizism, so here is a "line to line" answer.

> First, you seem to favor 'free market' or some 'corporate code' way
> of seeing software in a rather subtle way.

How so? It may be correct, but I don't really understand what it means.

> Your suggestions are altogether controversial, should I say written
> by 'someone already in one of the alleged camps'.

I am in one of the "camps", but respect the people in the other "camps". I believe all the free software "camps" are supporting each other, and we should try to cooperate as much as possible.

Being controversial isn't bad, but it seems I failed on that given the lack of topical comments.

>By the way, it would be unfair to say that GPL has been written
> unprofessionally from the law perspective.

Yes, I haven't said that either. I suggested BSDL as the most professional of the "near PD" licenses, the GPL is not "near PD".

> Nobody has yet dared challenge GPL in court. Remember.

True. Nobody have been sued for violating the GPL either.

> Second, when you say that someone who loves technology should *not* choose
> GPL or Lesser GPL for the license you omit the fact that the overall
> improvement would not be as fast as a free software license.

I have difficulty parsing that sentence. I do agree that one reason to support free software is the belief that free software will accelerate the progress of science and arts. ESR is one person who use that as his reason to support open software. I didn't want to get that far into the political motivations behind free software, ESR's writtings and the GNU manifesto provides background their. Maybe I should have linked to them.

> Fact: micro$oft uses bsd sockets, yet neither *our* community, nor
> windows-user community cannot be said to have benefited _more_ from
> the way that particular code has been licensed.

Uh, bad example, if the BSD network code had been under a copyleft, chances are that MS would have reimplemented it, instead of using the highly tested and tuned BSD implementation. This would have damaged both MS users, who would have had a less stable and less compatible implementation (one of the lessons of the Linux tcp/ip reimplementation is that it is not enough to obey the written standards, one have to be bug-compatible with the BSD code in order to get real connectivity), and it would have damaged everybody else who works in heterogenic environments because they had to deal with the buggy/incompatible MS implementation.

> It has encouraged use, true, but it has not given rise to the so-called
> exponential growth of code on its own.

Exponential growth?



[ Parent ]
How to select a free software license | 24 comments (7 topical, 17 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!