hello friends! new(ish)!
Licenses
There are many different types of licenses software can be released under. This page gives an overview of the most common ones you may encounter.
Free Software Foundation
These licenses were made by the Free Software Foundation to support the GNU project and other free software.
The General Public License was originally written by Richard Stallman and is probably the most popular FOSS license. It guarantees end users the four essential freedoms that define free software. Those are the freedoms to run, study, share and modify the software. Essentially, you are free to do what you want with software released under this, provided that if you release it to the public you must also release the source code. Source code does not have to be released if binaries to modifications are not released to the public.
The GPL is copyleft in that any derived work needs to be distributed under the same terms. In this way it demands the work stays free so it can benefit everyone. The work can never be used in proprietary software. Think of it as a license that grants you every freedom, except the freedom to take away other people's freedom over the software. This license highly favors the end users. The Linux kernel is licensed under GPLv2.
The Affero GPL is essentially the GPL with an additional provision that users accessing the software over a network must also get the source. With the popularity of "cloud" services, GPL software can be changed and run at a server without the obligation to release the source code. The FSF recommends the AGPL is used for any software that will often be run over a network.
The Lesser GPL is a free software license that lets people link to the work in their proprietary software under certain conditions. It is usually used for shared libraries.
Creative Commons
Creative Commons does not recommended their licenses for software. They are more appropriate for articles, blogs, music, photographs and websites. All CC licenses provide the base right to distribute the work for non-commercial purposes without modification. The difference between them results from combinations of four other conditions: attributions (BY), share-alike (SA), non-commercial (NC) and no derivatives (ND).
CC BY allows commercial redistribution of the work and derivatives as long as the author is credited.
CC BY-SA is the same as CC BY except derivatives must also be licensed under the same terms. In this way it is also a copyleft license.
CC BY-ND allows commercial redistribution of the unmodified work as long as the author is credited. No derivatives are allowed.
CC BY-NC allows redistribution of the work as long as the author is credited and it is not used commercially.
CC BY-NC-SA only allows redistribution if the author is credited, it is done under the same license terms and it is not used commercially.
CC BY-NC-ND only allows redistribution if the author is credited, no changes are made and it is not used commercially.
Berkeley Software Distribution
The BSD licenses are a family of permissive licenses. Unlike copyleft licenses, they do not have share-alike terms which require derivative works to use the same license. There are three types of BSD licenses.
4-clause license (Original BSD License)
The original BSD license contained a clause not found in later licenses, known as the "advertising clause". This clause eventually became controversial, as it required authors of all works deriving from a BSD-licensed work to include an acknowledgment of the original source in all advertising material.
3-clause license ("Revised BSD License", "New BSD License", or "Modified BSD License")
In this BSD license, the advertising clause was removed from the license text in the official BSD on 22 July 1999. Other BSD distributions removed the clause, but many similar clauses remain in BSD-derived code from other sources, and unrelated code using a derived license.
This version allows unlimited redistribution for any purpose as long as its copyright notices and the license's disclaimers of warranty are maintained. The license also contains a clause restricting use of the names of contributors for endorsement of a derived work without specific permission.
2-clause license ("Simplified BSD License" or "FreeBSD License")
This license is even more simplified version has come into use, primarily known for its usage in FreeBSD. The primary difference between it and the New BSD (3-clause) License is that it omits the non-endorsement clause. It also adds a further disclaimer about views and opinions expressed in the software.
Apache
The Apache licenses are permissive free software licenses known for protecting users against patent suing.
Other
- MIT License is similar to BSD - permissive, and doesn't hold you liable.
- ISC License is like BSD/MIT but clearer given that there is one ISC license and like 6 BSD/MIT licenses, and that no one knows what the fuck an Expat is. The license used by OpenBSD.
- WTFPL - DO WHATEVER THE FUCK YOU WANT TO PUBLIC LICENSE. The name says it all.
External links
- ChooseALicense -- Github's How to choose a license for your own work
- GNU Project's guide to choose a license for your own work
- TLDRLegal -- Explanation of licenses, in plain English.