Open Source licenses explained

A software license grants specific permissions for others to use your work. Licenses allow your source code to be used under defined terms and conditions and they also protect the licensor( you, owner of the code) from litigation.

There are a number of Open Source software licenses to choose from and the differences between these are in the permissions each one grants to the user or licensee.

Copyleft

Copyleft is the opposite of copyright.Copyright is used to protect intellectual property from being copied or distributed. Copyleft on the other hand is used to ensure that open sourced software can be copied, modified and distributed. Copyleft gives permission to the end user to reproduce, adapt/modify software with the requirement that the new copies or derived software also have the same license.

Licenses

The Open Source Initiative has approved more than 80 open source licenses. In this article, I will discuss some of the most popular ones or ones with strong communities:

MIT License

The MIT License allows you to do whatever you want with the software as long as you include the original License in the end product. This license comes with no warranty and the author of software that uses this license cannot be held liable for any problems that arise as a result of using the software.

Features:

  • derived work is suitable for commercial use
  • work can be modified
  • must include copyright notice in all copies of derived work
  • licensee does not need to distribute source code alongside their derivative work

Popular Projects that use this license:

  • Atom text editor
  • AngularJS

Apache 2.0 License

A permissive license that does not require any derivative work to be distributed under the same terms.

Features:

  • licensees can modify work
  • licensee does not have to distribute source code alongside derived work
  • suitable for commercial use
  • licensee must provide proper attribution in their work

Projects using this license:

  • Android Operating System
  • Swift
  • Apache HTTP Server

GNU General Public License (GPL-3)

Any derivative work must be released under the GPL too.The license allows you to copy, distribute and modify the software as long as you keep track of changes/dates in source files.

Features:

  • strong copyleft
  • the work is suitable for commercial use
  • derivative work must be released under the same license
  • original author cannot be held liable for damages

Popular projects

  • GIMP
  • Ansible

Additional Resources