Guide to software licenses

By Prajwal Haniya

My sole intention in writing this letter is to learn what software licenses are available.

What is an open-source license?

Open-source licenses are legal agreements that allow users to use, modify, and distribute software freely, promoting collaboration and innovation.

There are two main categories:

  1. Permissive licenses
  2. Copyleft license

What is the difference between a permissive license and a copyleft license?

Permissive licenses allow modifications and redistribution without requiring the derivative work to remain open-source, while copyleft licenses mandate that modified versions must also be distributed under the same open-source terms.

Permissive licenses enable users to integrate the software into proprietary products, whereas copyleft licenses prevent this by ensuring that any derivative works remain free and open.

Both types typically require attribution, but permissive licenses impose minimal conditions beyond that, while copyleft licenses enforce stricter compliance with their terms

Examples of permissive licenses are the 3-Clause BSD license, the MIT License, and the Apache 2.0 License.

Examples of copyleft licenses are The GNU General Public License (GPL) family.

Examples of software using Permissive licenses:

Node.js, React - MIT

Hadoop - Apache 2.0

Examples of software using copyleft licenses:

Linux kernel, GIMP - GNU General Public License (GPL)

GNU C Library, FFmpeg - GNU Lesser General Public License (LGPL)

It is important for us to know about software licenses because they directly impact an organization. Missing the details can lead to legal issues.

There is much more about software licenses, I will be writing this in-depth in my upcoming book (in progress).