Free Software Resources

License Categories

Categories Of Software Licenses

Public Domain

Public Domain software gives up all copyright. There are no restrictions on what anyone can do with this code. They can remove the authors name from the code, change it at will, release it as a commercial product, and copy it for all their friends.

Some software has a license that says "This software is public domain", and then goes on to list restrictions upon use, modification or distribution. This is nonsense - if the software is public domain, there are no restrictions. You should contact the original author and ask them what they meant.

Here is an example of a public domain license.

Pros:

Cons:

BSD-style Licenses

A BSD-style license allows source and binaries to be modified and redistributed, but adds a few conditions.

The license must be kept with the software and the documentation, any advertising must acknowledge the use of the software (and the original authors) and the authors cannot be used to endorse or promote products without permission.

For more details, see the BSD-style license here.

Pros:

Cons:

Artistic Licenses

The "Artistic" license allows modification and redistribution, but has certain restrictions. The restrictions are aimed at giving the original author some control over the software.

It distinguishes the "Standard Version" from modified versions, and essentially says you can modify the standard version, but can't re-release it as the standard version (unless certain conditions are met). It also stops people making a profit on the software itself, although you can make a profit on distributions of which the software is only a small part. You can also take parts of the software and re-used them in another piece of software, without the Artistic license applying to your software (with certain conditions). You can't use the author's name to endorse your software.

The Artistic license take the attitude of "you can make changes if you make them free software, or you can make changes and keep them proprietry, but then you have to go to more trouble to make sure people won't get confused between your proprietry version and the free version". It has special cases to deal with "local" changes where you're just customizing for your workplace (for example), and don't intend to redistribute to the world. It's a fairly complex license to summarize.

For more details, see the Artistic license here.

Pros:

Cons:

GNU General Public License (GPL)

The GPL is designed to make the software free, and ensure that all future verions and derivatives are also free software.

There are no restrictions on use of the software. If you distribute or modify the software, you have certain responsibilities. You need to make sure the recipient can see what rights they have, and that the modifications are clearly marked.

Fees can be charged for copying or providing a warranty. You can modify the software to make a derivative work (providing you meet certain conditions). You can distribute binary copies, provided that it is accompanies by source code, a location where access is available to obtain source code, or an offer to provide source code. By redistributing (modified or unmodified), you may not impose any futher restrictions.

For more details, see the GPL license here.

Pros:

Cons:

GNU Library General Public License (LGPL)

This license weakens the conditions of the GPL to provide a better compromise for libraries. Essentially, the end difference is you can link with an LGPL library and keep your original license. Because of the need to describe what is meant by works based on a library and works which use a library, the license is quite different in details to the GPL, but has the same spirit.

You have the option under the LPGL to simply fall back to the GPL.

For more details, see the LGPL license here.

Semi-Free Licenses

Some licenses restrict who can use the software, or who can use the software without payment. They may limit modification to be without re-distribution, or redistribution to be not-for-profit. These licenses, while better than a proprietry license, can still have the same problems if you fall into one of the groups that must pay for copying, or want to modify distributed copies.

Since many of the people who contribute to free software are doing it outside of work hours, or work in a not-for-profit organization, it's tempting to develop software that is based upon semi-free software. They should realize that in effect, their software is only as free as the least free dependency.

Semi-free licenses are also problematic because they can hinder the development of completely free alternatives, simply by filling the need for such a product for most (but not all) users.

Shareware Licenses

A shareware license allows you to copy the binary format (often forbidding making a profit), and restricts your usage to an evaluation period, after which you must send payment to the author. You have no access to the source code, and modification of the binary is usually forbidden.

This is basically much the same as proprietry software, but with a different distribution scheme and an evaluation period.

Proprietry Licenses

Proprietry software licenses are designed to create profits for the author in a particular way. They do this by controlling the distribution (for which they set a price) and stopping modifications (because they charge for upgrades). It's important to remember that anyone producing proprietry software believes that the profits they are making are more important than the general good the program could do for humanity, otherwise they would not be protecting their profits so carefully.

Proprietry software generally doesn't include source code, doesn't allow redistribution of even binary code, and doesn't allow modification (indeed, many disallow modifying even the binary code).

Some proprietry software is provide free-of-charge (This is often called "gratis software", to distinguish it from software which has "freedom", although there is some confusion over the terminology). Gratis software is usually part of a long term plan to increase profits, perhaps by eliminating competiton or controlling standards, or even making profits indirectly (e.g. a gratis finance program that does deals with banks for a share of any transaction fees).

Pros:

Cons: See this piece on an alternate software industry if you are interested in making a profit from the software industry without retarding the growth of the field or making profit from simply restricting the benefit of your software.

Information on Software Licenses

Further Resources