Slashdot Mirror


Ask Slashdot: Comparing Open Source Licenses

El-ahrairah asks: "I've been working on several projects over the course of the last few years, each of which have reached the stage where we are planning their release to the public under Open Source licenses. I have done quite a bit of research into various OS models, but I am nevertheless no legal scholar. what I am wondering is this: what are the pros and cons of various licenses, are any YAOSL (yet another Open Source licence) models valuable, does a line by line comparison of longstanding and new licenses exist?"

2 of 104 comments (clear)

  1. GPL, BSD, Artistic, and so on by Anonymous Coward · · Score: 5

    Basically, software licenses in free software are a form of social engineering. Your choice of license should steer people towards doing what you really want them to do.

    Some examples of goals to consider:

    * Credit given to you. Beyond simply asking people to give credit where it's due, you also might want to have a way to refute when other people claim to have written your code. (it happens)

    * Integration into commerical products. Some people want this, for example in order to get the code/feature/technology more widely used. Some people don't want this, for example to prevent others from making a profit off your work.

    * Control over the "official" distribution. Some people want to make sure that the software named "foo" is theirs; if someone else creates a derivative, they should name it something other than "foo" so as to not confuse things and potentially hurt your reputation.

    * As a general rule, you want to disclaim everything you can and even things you can't. Otherwise some scumbag will sue you for their misuse of your free software.

    The first item basically summarizes the goals of the BSD license: prevent others from claiming that they instead wrote the code, and to require others to give credit where it's due. The BSD license is very typical of licenses that allow commercial products to take your code.

    The second item's other side basically summarizes the goal of the GPL: preventing your free code from becoming someone else's non-free code and someone else's profit.

    The third item basically summarizes the goal of the Artistic license: prevent bozos from releasing branch versions of your code with the same name and making you look bad in the eyes of users who confusedly thought their version was your program.
    Reputation protection.

    There are a whole lot of yet-another-licenses out there. Most of them suck and should be avoided. In particular, they have served to greatly confuse what used to be a relatively simple thing. Use a standard license if at all possible. Really. Better to have slightly less optimal legal terms that are well understood than optimal legal terms that people can't decipher. By the time lawyers are reading the licenses, something is usually wrong.

    Many of the new generation of "open source" licenses are "you have to be free, but we don't have to be free" licenses, which might also be phrased as "we want other people to write code for our product for free" licenses. Don't go there.

  2. Basic License Choices by Eric+Kidd · · Score: 5

    The best license choices are (in no particular order) the GPL, LGPL, XFree86 and fixed BSD license.

    The GPL

    The GNU General Public License is used for Linux and GCC. It allows anyone to make copies of your code--and change things as they wish--but it doesn't allow one user to take these rights away from another user. Use the GPL if you want every user of your program to always have source available.

    The LGPL

    The GNU Lesser (or Library) General Public License is like the GPL, but allows proprietary software to link against a free library. The Linux C library uses the LGPL. Use this if you want your code to remain free, but don't care about who uses it in their program.

    The XFree86 License

    This license allows anybody to do anything with your code, but it tries to prevent people from suing you. For example, a software company could take your program and turn it into a proprietary product without giving you any money. The X Window System uses this license.

    The BSD License

    The BSD license is sort of like the XFree86 license, but older versions had a bad bug. The older BSD licenses required certain phrases to appear in advertisements for the software. Because of this, it used to be illegal to advertise a NetBSD CD-ROM without giving credit to 75 people in every ad. Newer versions of the BSD license often remove the obnoxious advertising clause. If you want to use the BSD license, it's probably safer to use the XFree86 license instead--they both do the same thing, but no version of the XFree86 license contains bugs.

    Custom Licenses

    Avoid these if at all possible. Writing new open source licenses is very, very difficult and most people (even good lawyers) screw it up. The licenses listed above should cover most possibilities, and each one is known to work.