Skip to content

Instantly share code, notes, and snippets.

@ilovelili
Last active July 20, 2019 05:57
Show Gist options
  • Save ilovelili/2ac3767fb307680df655779359a3eaa7 to your computer and use it in GitHub Desktop.
Save ilovelili/2ac3767fb307680df655779359a3eaa7 to your computer and use it in GitHub Desktop.
license comparison

License comparison

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.

Top 10 lisences

  • 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%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment