Software license guide (idea)

The Software Licensing Guide

Do you ever wonder why some people say Open Source and other people say Free Software? Ever wonder why you have to download that Linux driver from the company website rather than getting it from your Linux distro? Ever wonder why ESR and RMS hate each other? No? Well too bad.

Here are all of the types of software that I know about, from most restrictive to least restrictive.

Canonical Example:Most device drivers, a lot of crappy shareware.The Good:Sometimes called free as in beer, and everyone loves free beer. The main advantage here is that it doesn't cost any money, and sometimes you absolutely have to have it, like the device driver to your brand new GeForce 5 Pt 55000 (or whatever element they're using by then).The Bad:Usually written by a couple of people in their spare time, then inexplicably given a restrictive license, most freeware has all of the disadvantages of open software and none of the advantages. With device drivers, there tend to be conflicts that forbid distributing the driver with the Linux distribution, making it just that much harder to get everything working right.The Ugly:id Software proved that you can indeed base a business model around exceptionally excellent freeware, you just have to start charging at some point. Some freeware (http://www.download.com), however, just sucks. For God's sake, if you aren't making money anyway, open your damn code! That way I can go back through and fix your mistakes, and then we'll both be happier.

Open Software

This is where it gets tricky. Free software is open, but open software is not necessarily free, and either of them can cost money.

Open, but not Free

Canonical Example:SSH, QT (formerly)The Good:A truly rare breed, this type of software allows you to view the code, but not make changes or redistribute it. Aside from PINE and povRay, nothing comes to mind. The Bad: In theory, this sort of licensing could be used to actually make money, if it wasn't for the fact that unlike houses and cars, once I have the blueprints for a program, I can build as many as I want for free in my spare time. If you make the source code freely available, then you're not going to convince anyone to pay for it, and you're just going to make people mad when they can't freely alter and distribute it.The Ugly: Read The Cathedral and the Bazaar, then check out ESR's website. This "open" vs. "free" issue is the major bone of contention between the Free Software Foundation, led by Richard M. Stallman, and the Open Source Initiative, led by Eric S. Raymond. Believe me, this argument can get really ugly, especially when RMS gets pedantic and ESR breaks out the firearms (http://tuxedo.org/~esr/guns/).

Open and Free

Canonical Example: GNU anything, LinuxThe Good:Free as in speech, this software was developed by hundreds talented programmers for the sheer entertainment value (or to impress the ladies) and released to everyone for free to do with as they wish, provided that everyone else will be able to do the same, in perpetuity. This allows immense projects to be undertaken by hundreds of people all around the world while hundreds of thousands test, review source, and fix bugs. This process can produce exceptionally stable, secure, high quality software in a small amount of time at virtually zero cost. Nethack, GNU/Linux, and GCC are excellent example of the power of this method.The Bad: It is worth mentioning again the you can't make money doing this. This might not seem important, but what it really means is that it will always remain a free time project and will rarely if ever have the same level of polish and overall quality as a commercial program, to which much more time, effort, and resources are dedicated. Also, the GNU GPL forbids using free software in non-free projects, essentially forbidding anyone from ever making money off the code.The Ugly:The surprisingly restrictive terms of the GPL can lead to some interesting licensing issues, such as making it illegal to distribute KDE binaries until Trolltech relicensed the QT toolkit under the GPL. What I really want to know is how much free software is being used (illegally) in proprietary programs.

Open and Free, but relicensable

Canonical Example: {Free | Open | Net}BSD, ApacheThe Good:The least restrictive licensing, these programs are freely modifiable and distributable, like the GPL, but if you want to include them in a proprietary program, just send the authors a postcard and give credit where credit is due. The BSD-style license is probably free software's best hope for eventual commercialization.The Bad:Commercialization, especially at the cost of freedom, is not necessarily a good thing, as RMS will certainly tell you, at great length. Also, the main authors of the software might not receive compensation, which seems a little unfair.The Ugly:Aside from the occasionally license bigotry, most BSD-style licenses are accepted at free and open. How about that?

As always, this is a living document, so please /msg me with comments, suggestions, and corrections (especially corrections). Or, just down-vote me and add another write-up to the mix :)

For reference see:http://www.gnu.org
http://catb.org/~esr
http://slashdot.org - as if you don't go there alreadyhttp://kernel.org
http://www.bsd.org