Open source software licenses are complicated

Here is a summary (extracted from Wikipedia) of the most popular software open source license.

LicenseLatest verLinkingDistributionModificationPatent grantPrivate useSublicensingTM grant
Apache License2.0PermissivePermissivePermissiveYesYesPermissiveNo
BSD License3.0PermissivePermissivePermissive[ManuallyYesPermissiveManually
Creative Commons Zero1.0Public DomainPublic DomainPublic DomainNoPublic DomainPublic DomainNo
CC BY4.0PermissivePermissivePermissiveNoYesPermissiveNo
FreeBSDPermissivePermissivePermissiveManuallyPermissivePermissiveManually
MIT license / X11 licensePermissivePermissivePermissiveManuallyYesPermissiveManually
XFree86 1.1 License?Permissive?Permissive????
         
Mozilla Public License2.0PermissiveCopyleftedCopyleftedYesYesCopyleftedNo
Open Software License[11]3.0PermissiveCopyleftedCopyleftedYesYesCopylefted?
Artistic License2.0With restrictionsWith restrictionsWith restrictionsNoPermissiveWith restrictionsNo
CC BY-SA4.0CopyleftedCopyleftedCopyleftedNoYesCopyleftedNo
GNU General Public License3.0GPLv3 compatible onlyCopyleftedCopyleftedYesYesCopyleftedYes
GNU Lesser General Public License3.0With restrictionsCopyleftedCopyleftedYesYesCopyleftedYes

Note: WordPress editor suck. Here is the colored version of the article.

Meaning of the fields

  • 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. “Copyleft” means the software requires that its source code be made publicly available and that all provisions in the license be preserved in derivative works.
  • 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
  • TM grant – use of trademarks associated with the licensed code or its contributors by a licensee

Green is ok.
“Permissive” means the software has minimal restrictions on how it can be used, modified, and redistributed, usually including a warranty disclaimer.

Conclusions

As we can see the worst license is the GNU license which does not allow us to release the software as close source – we need to release our whole source code and the license under which it is release must also be GNU.

Discussions  

GNU AGPLv3 and GPLv3 are the most draconic. The “A” version is related to “network”. If you use code distributed under this license you MUST provide also your source code under the same license.

GNU LGPLv3 – If you use code under this license, like DLLs, then you are not forced to expose your code.
“However, a larger work using the licensed work through interfaces provided by the licensed work may be distributed under different terms and without source code for the larger work.”

Mozilla Public License & Apache – Same as LGPL3. You can use code written under these licenses without distributing your code.

Note: You still need to document or distribute any change to the original code (not yours), if any.

More details

https://choosealicense.com/licenses/
https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

Disclaimer: Under no circumstances should this document be considered legal advice. Please read the whole license agreement before using it.

Leave a Comment

Scroll to Top