Tuesday, December 15, 2020

Open-Source Licenses: All you need to know

Understanding free/open-source licenses is not an easy task. Learn what they are, how they are created and which one is best for your project.
Photo by Annie Spratt on Unsplash

One important aspect of open-source software is its license. It's common for free/open-source software to be governed by a license and you will at some point hear about them. An open-source license allows the source code to be used, modified and/or shared under defined terms and conditions. Understanding the licences is critical to any open-source project.

Today there are 100+ open-source licenses and 90+ free-software licenses so it's really easy to get lost. Since when using Linux you may be exposed to licenses, we prepared this summary to help you understand why they exist, how they're created and why we need them.

For a quick guide about the most common open-source licenses, please read: Choose a License.

What's an open-source License?

An open-source license is a license for software (but can also be applied to other products as we'll see below) that allows review, use, modification and sharing under certain conditions. Open-source licenses usually allow companies to modify and use the source code under their needs.

Are open-source licenses always free?

No. Most open-source licenses allow software to be available for free, however there are also non-free licenses. Note that non-free licenses may conform to open-source, but NOT to free-software, a common misconception since most people think open-source and free-software the same, which they are not.

Who oversees the licenses?

There are two bodies that oversee licenses: The Open Source Initiative which governs open-source licenses (free/non-free) and the Free Software Foundation which maintains a list of free software licenses.

Types of Licenses

As we saw, open-source licenses apply to much more than just software. The GNU Project's License Page website contains an extensive list of licenses in different categories:

How are licenses created?

If you find that none of the 100+ open-source licenses and the 90+ free-software licenses suits your needs, you can create your own license. For free software licenses, check the GNU License page for more information.

For your license to be recognized as an open-source license, you'd have to submit your license to the Open Source Initiative so it can be reviewed by the OSI Board. The review is a transparent and relatively quick process (usually done under 60 days) and is necessary to ensure that licenses and software labeled as "open source" conform to existing community norms and expectations. The review also:

How licenses are classified

In short, in free, non-free, proprietary or open-source licenses. Free software licenses are governed by the GNU project which classifies them:

  • Whether it qualifies as a free software license.
  • Whether it is a copyleft license.
  • Whether it is compatible with the GNU GPL. Unless otherwise specified, compatible licenses are compatible with both GPLv2 and GPLv3.
  • Whether it causes any particular practical problems
Open-source licenses are governed by the Open Source Initiative and have to comply with the Open Source Definition which imposes restrictions on:
  • Free redistribution
  • Source code
  • Derived works
  • Integrity of the author's source code
  • No discrimination against persons or groups
  • No discrimination against fields of endeavor
  • Distribution of license
  • License must not be specific to a product
  • License must not restrict other software
  • License must be technology-neutral

Most Popular Licenses

As previously mentioned, there are 100+ licenses so let's quickly review the most popular open-source/free-software licenses in use today are:

  • GNU General Public License (GPL) v3: the recommended license by the Free Software Foundation and by the GNU Project
  • Mozilla Public License 2.0: a weak copyleft license conditioned on making available source code of licensed files and modifications of those files under the same license.
  • Apache License 2.0: a permissive license whose main conditions require preservation of copyright and license notices.
  • MIT License: a short and simple permissive license with conditions only requiring preservation of copyright and license notices.
  • No license: According to the GNU project, cannot be considered free-software (see below).

For a throughout review of the licenses, consider reviewing in details the licenses on the GNU Licenses and OSI Licenses & Standards pages.

What about no License?

According to the GNU project, software without license cannot be considered free-software:

if source code does not carry a license to give users the four essential freedoms, then unless it has been explicitly and validly placed in the public domain, it is not free software.

Some developers think that code with no license is automatically in the public domain. That is not true under today's copyright law; rather, all copyrightable works are copyrighted by default. This includes programs. Absent a license to grant users freedom, they don't have any. In some countries, users that download code with no license may infringe copyright merely by compiling it or running it.
Content accessed on Sep 28, 2020  

Which license is best for my project?

In order to choose which software license is right for your next project, it's important to understand first if you want to target free or open-source software. For free software licenses consider studying the Free Software Foundation’s License List. For open-source licenses , check the Open Source Initiative’s Licenses & Standards for more information.

When in doubt, consider using one of the licenses suggested above or check the Choose a License website for more information.

Conclusion

Understanding free/open-source licenses is not an easy task but it's critical to any open-source project. Since there are 100+ open-source licenses and 90+ free-software licenses we hope this summary helps you understand this complex topic a little more.

Further References

See Also

Featured Article

Free Software, Open-Source, Libre, FOSS and FLOSS: what are the differences?

Are these just different names for the same thing? Or there are differences? Photo by Romain Vignes on Unsplash We have been discussing...

Popular this Week