Slowly but surely, open source software is taking over. If you don't believe it, just look at some of the most popular tools that we all use: Firefox, Wordpress, 7-Zip, MediaWiki, BitTorrent, Android, plus all of the free alternatives to paid software. But did you know that not all open source licenses are the same?

Indeed, there are dozens of them out there and that's not including the unique self-written licenses that some open source products use. What are the differences and what do they mean for you? If you write open source software, which should you use?

Disclaimer: This article is not meant to be legal advice. It only attempts to summarize the concepts and uses for different open source licenses. For potential legal issues, consult a lawyer.

Apache License 2.0

The Apache License is the license authored and used by the Apache Software Foundation, which is best known for the Apache HTTP Server that powers many of the websites that we visit. Version 2.0 was released in 2004 to make it easier for non-Apache projects to use the license and remains one of the most popular licenses to date.

Features

  • Software can be used commercially.
  • Software can be modified to create derivative works.
  • Derivative works can be distributed.
  • Derivative works can be distributed with a different license.
  • Owner of software cannot be held liable for damages.
  • Owner of software's trademarks cannot be used in derivative works.
  • Original copyright and license text must be kept with distributions.
  • Significant changes to original software must be noted.

When should you use it?

The Apache License is one of the more permissive software licenses out there. Especially noteworthy is the fact that authors are allowed to patent derivative works. In short, you can pretty much do anything you want with the original software as long as you maintain the original copyrights and state any major changes that you've made.

BSD 2-Clause License

The BSD License is an extremely simple and permissive software license that was first published in 1990 and revised twice, being simplified further with each revision.

Features

  • Software can be used commercially.
  • Software can be modified to create derivative works.
  • Derivative works can be distributed.
  • Owner of software cannot be held liable for damages.
  • Original copyright and license text must be kept with distributions.

When should you use it?

Because of the BSD License's simplicity, some prefer to use the more explicit Apache License instead. However, the BSD License has an advantage in the case when anyone should be able to commercialize variants of the software with minimal legal conflict. If you want others to extend and commercialize your work, use it.

It should be noted that the core difference between the BSD License and the Apache License is that the Apache License allows a patent grant for derivative works. The BSD License does not.

Creative Commons License

Creative Commons (CC) is an organization that has released several different license types, all of which are designed to encourage the sharing of creative works. The CC standards allow anyone to, at a glance, look at a creative work (image, video, software, etc.) and know what they can and cannot do with it.

Features

In total, there are seven different licenses offered by the organization. It would be too much to outline all of them here, but you can read about them in our overview of Creative Commons.

When should you use it?

CC licenses are fantastic and, in some cases, creative commons can stimulate your career. There are enough CC license variations to accommodate pretty much any kind of creative work that you could pursue.

That being said, the Open Source Initiative does not recognize any of these licenses as truly "open source". As such, CC licenses may be incompatible when used in conjunction with other open source software and licenses.

GNU General Public License 3

The GNU General Public License was created 1989, back when Unix was gaining in popularity, as an alternative to restrictive proprietary licenses. The license has been revised twice with each revision addressing significant issues that arose in previous versions. Version 3 was published in 2007.

Features

  • Software can be used commercially.
  • Software can be modified to create derivative works.
  • Derivative works can be distributed.
  • Derivative works must be licensed under GPL 3 as well.
  • Distributions must include original software and all source code.
  • Owner of software cannot be held liable for damages.
  • Original copyright and license text must be kept with distributions.

When should you use it?

The GPL is ideal for "software freedom," which is the philosophy that all users should have the freedom to run, copy, distribute, study, modify, and improve software. It ensures that open source software remains open source, even when extended into derivative works.

However, beware that incorporating GPL code into your own code requires that your entire project be licensed under GPL as well. Only use it if you're prepared for your project to live and die as open source.

Which open source license is your favorite? There are plenty of others out there as well. Share your thoughts on the open source movement by commenting below!