There are many open source software licenses. In contrast with a proprietary license, the source code of the program is made available for review, modification and redistribution.
The difference between open source licenses is what you can and can’t do with the source code.
Open source licenses can be divided in two categories: permissive and copyleft. Permissive examples include:
A copyleft example is the General Public License (GPL).
They all have the purpose of establishing the copyright holder for the software, granting users the right to copy, modify and redistribute it, protecting the copyright holder from any potential guarantees that the software may provide (software is provided as-is), and optionally imposing some restrictions.
Permissive licenses let you to modify a program, redistribute it, and even sell it. You can embed or link code with other programs without restriction or explicit permission by the copyright holder.
Copyleft licenses only allow you to link or distribute code with other code that has the same license. It also forces modifications to be released under the same license.
Combining anything with the GPL makes it GPL. This is what’s referred to as copyleft. It’s a play on the word copyright that enforces some restrictions on the opposite side of your traditional, proprietary and commercial licenses.
Non-copyleft licenses do not enforce derivative works to also be open source.
Some software is released under a dual license: both a permissive and copyleft license. This provides developers who use the dual licensed code to apply the license that better suits their needs.
Most of the software we use has a permissive license:
|Language or framework||License||Comment|
|Ruby (MRI)||Ruby license||BSD based|
|Ruby on Rails||MIT||-|
|jQuery||Dual MIT and GPL||-|
|Apache httpd||Apache License v2.0||-|
|nginx||2-clause BSD-like license||-|
|PostgreSQL||PostgreSQL License||BSD based|
|MySQL||Dual GPL/GPL with exception/commercial||-|