The Free Software Foundation defines free software as "software that comes with permission for anyone to use, copy, and distribute, either verbatim or with modifications, either gratis or for a fee." The software licenses of our community are the enablers of this freedom.
When a programmer or organization decides to release a piece of software under a free software license, he can either choose from the preexisting free software licenses or create an entirely new license. With a large number of licenses in existence and many organizations choosing to create their own licenses, the need was established for a litmus test that could be applied to each new license to determine if it was indeed a free software license.
The Debian GNU/Linux developers first addressed this need by establishing and implementing the Debian Social Contract and the Debian Free Software Guidelines (DFSG), both initially written and presented to the Debian developers by Bruce Perens.
Software licenses adhering to the DFSG are clearly marked as free software in the Debian GNU/Linux distribution. After Christine Petersen of the Foresight Institute coined the term "Open Source," Eric Raymond and Perens created the Open Source Initiative. As such, the two took the DFSG and renamed it the Open Source Definition (OSD). Thus, free software and Open Source software are one and the same - they both have the same extremely precise definition.
Over time, a number of free software licenses have become commonly used in our community. These licenses have created the legal foundation on which we contribute and share our work. The differences between the commonly used free software licenses are not always clear to the layperson, so we've outlined them here. However, an overview of the licenses is no substitute for the knowledge and understanding that can be gained from reading the actual licenses. The majority of the commonly used free software licenses are well written, easy to read, and lack legalese.
Copyleft and public domainFree software licenses can be divided into two categories: copyleft and non-copyleft licenses. Copyleft is a general free software licensing concept that proceeds to take copyright law and turn it upside-down. A copyleft license does not permit redistributors to add additional restrictions when they redistribute or modify the software. Copylefting a piece of software insures that it will always be free software, even if it is has been modified. Non-copylefted software allows for users to add additional restrictions when they redistribute or modify the software.
Many in the free software community license their software under copylefted terms, because it ensures that every user receives the freedoms implied by the term "free software."
Since modifications to copylefted software must remain free, copylefted software grows in a way that is not possible with non-copylefted software.
The Linux kernel is a prime example of the community benefit of copyleft. The kernel has grown and matured at an enormous rate because all modifications to the kernel remained free and were contributed back to the community. Copyleft prevents software hoarding -- everyone benefits.
Before discussing the various licenses, it is important to note that disclaiming one's copyright and putting software into the public domain has the effect of making a piece of software free. Putting a program into the public domain is the simplest way to make it free. However, there are very few restrictions on the ways in which public domain material can be used. People could share the program and their improvements, but they could also change the program into proprietary software.
Common free software licensesFree software licenses provide limits on the modification and redistribution of programs. Commonly used copyleft licenses are the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL). Commonly used non-copyleft licenses are the XFree86-style licenses and the recently created Mozilla Public License (MPL). The Artistic license doesn't really fit into either category, but nonetheless, it's used by Perl and various other free software programs.