Software Licensing

Supuni Uthpala
3 min readSep 7, 2020

A software license is a legal document that governing the use or redistribution of a software. It grants the permission to the end user to use one or more copies of a software in way of securing the software owner’s exclusive rights under copyright. The license also defines the liabilities and the responsibilities of the parties entering into the license agreement and may impose restrictions on how the software can be used.

There are two categories of software licenses based on which users may redistribute or copy the software for future development or use.

  1. Proprietary software is owned by an individual or company. The source code is usually kept secret. This means only people with access to the code, can modify and change it.
  2. Free and open source software allows the user to inspect the source code and provides a high level of control of the software’s functions compared to proprietary software.

Here are some common software license models which are currently available.

Public domain — This is the most permissive type of software license, which allows anyone to modify and use without any restrictions. But you should always make sure it is secure before adding it to your own codebase, SQLite and ImageJ are in this domain.

Permissive — Permissive licenses are also known as Apache license, BSD license or MIT license. They contain minimal requirements about how the software can be modified or redistributed. This type of software license is the most popular license used with free and open source software. Apache web server and ToyBox are examples for the software with Permissive licenses.

Copyleft — Copyleft licenses are also known as reciprocal licenses or restrictive licenses. The most well-known examples for this domain are Linux kernel, GIMP and OBS. These licenses allow you to modify the licensed code and distribute new works based on it, until you distribute any adaptations under the same software license.

LGPL — The Lesser General Public License allows you to link to open source libraries in your software. If you simply compile or link an LGPL licensed library with your own code, you can release your application under any license you want, even a proprietary license.

Proprietary — This is the most restrictive software licensing domain of all types. The idea behind it is that all rights are reserved. It is generally used for proprietary software where the work may not be modified or redistributed. Examples for this domain are Windows, Spotify, xSplit and TIDAL.

According to a research the most common open source licenses are as following:

1. MIT, 25%

2. GPL 3.0, 19%

3. Apache 2.0, 15%

4. GPL 2.0, 15%

5. BSD 3, 6%

6. LGPL 2.1, 6%

7. Ms-Pl, 5%

8. BSD 2, 3%

9. Zlib, 1%

10. Eclipse 1.0, 1%

11. BSD 4, 1%

12. Other, 5%

--

--

Supuni Uthpala

Software Engineering Undergraduate at University of Kelaniya,Sri Lanka