License | Latest version | Linking | Distribution | Modification | Patent grant | Private | use Sublicensing | TM grant |
---|---|---|---|---|---|---|---|---|
Apache | 2.0 | Permissive | Permissive | Permissive | Yes | Yes | Permissive | No |
GPL | 3.0 | GPLv3 compatible only | Copylefted | Copylefted | Yes | Yes | Copylefted | Yes |
BSD | 3.0 | Permissive | Permissive | Permissive | No | Yes | Permissive | No |
MIT | NA | Permissive | Permissive | Permissive | No | Yes | Permissive | No |
- Linking - linking of the licensed code with code licensed under a different license (e.g. when the code is provided as a library)
- Distribution - distribution of the code to third parties
- Modification - modification of the code by a licensee
- Patent grant - protection of licensees from patent claims made by code contributors regarding their contribution, and protection of contributors from patent claims made by licensees
- Private use - whether modification to the code must be shared with the community or may be used privately (e.g. internal use by a corporation)
- Sublicensing - whether modified code may be licensed under a different license (for example a copyright) or must retain the same license under which it was provided
- Trademark grant - use of trademarks associated with the licensed code or its contributors by a licensee
Under a copyleft license, users must do these things under the same license as the original software. They cannot, for example, take a GPL-licensed piece of software and release it under a proprietary license. Or, as the third version of the GPL states, "Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License."
By contrast, permissive licenses do not restrict the licenses under which these acts can be done. For example, the Apache 2.0 license states that you can add "Your own copyright statement to your modifications and may provide additional or different license terms and conditions."
The BSD licenses DON'T grant any patent rights. You can contrast this with the Apache 2.0 License, where the license explicitly lists its patent terms. It clearly lays down the grant of patent rights while using, modifying or distributing Apache licensed software; it also lists the circumstances when such grant gets withdrawn.
The BSD Licenses, on the other hand, just grant a copyright license. While licensing your component, you will have to take care of the patents yourself.
- MIT, 25%
- GPL 3.0, 19%
- Apache 2.0, 15%
- GPL 2.0, 15%
- BSD 3, 6%
- LGPL 2.1, 6%
- Ms-Pl, 5%
- BSD 2, 3%