Software Licensing

Randi Ayeshani
4 min readSep 5, 2020

A software license is a document that provides legally binding guidelines for the use and distribution of software.

As well as it is a license agreement that gives an individual, company, or organization permission to use a software program. For example, in most situations, it is illegal to purchase one copy of a program and copy it onto multiple computers. Instead of requiring tens, hundreds, or thousands of individually licensed copies of a program, companies often purchase site licenses which scale according to the number of installed users.

Software licenses typically provide end users with the right to one or more copies of the software without violating copyrights. The license also defines the responsibilities of the parties entering into the license agreement and may impose restrictions on how the software can be used. Software licensing terms and conditions usually include fair use of the software, the limitations of liability, warranties and disclaimers and protections if the software or its use infringes on the intellectual property rights of others.

Examples of software licenses

  • Single-user license-The software is licensed for a single user and often a single computer.
  • Multi-user license-This license allows you to install a program onto multiple computers used by multiple users. Typically this may be a set number of users. For example, a five user multi-user license allows up to five people to use the program.
  • Site license-A program can be installed on an unlimited amount of computers, as long as they’re at the location of the site license. Site licenses are usually for schools and businesses.

What are the different types of software licenses?

There are many different types of software licenses.

Public domain. This is the most permissive type of software license. When software is in the public domain, anyone can modify and use the software without any restrictions. But you should always make sure it’s secure before adding it to your own code base. Warning: Code that doesn’t have an explicit license is NOT automatically in the public domain. This includes code snippets you find on the internet.

Permissive- Permissive licenses are also known as “Apache style” or “BSD style.” They contain minimal requirements about how the software can be modified or redistributed. This type of software license is perhaps the most popular license used with free and open source software. Aside from the Apache License and the BSD License, another common variant is the MIT License.

LGPL- The GNU 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. But if you modify the library or copy parts of it into your code, you’ll have to release your application under similar terms as the LGPL.

Copyleft - Copyleft licenses are also known as reciprocal licenses or restrictive licenses. The most well-known example of a copyleft or reciprocal license is the GPL. These licenses allow you to modify the licensed code and distribute new works based on it, as long as you distribute any new works or adaptations under the same software license. For example, a component’s license might say the work is free to use and distribute for personal use only. So any derivative you create would also be limited to personal use only. (A derivative is any new software you develop that contains the component.)

The catch here is that the users of your software would also have the right to modify the code. Therefore, you’d have to make your own source code available. But of course, exposing your source code may not be in your best interests.

Proprietary- Of all types of software licenses, this is the most restrictive. The idea behind it is that all rights are reserved. It’s generally used for proprietary software where the work may not be modified or redistributed.

About Open Source Licenses

Open source licenses are licenses that comply with the Open Source Definition-in brief, they allow software to be freely used, modified, and shared. To be approved by the Open Source Initiative (also known as the OSI), a license must go through the Open Source Initiative’s license review process.

Popular Licenses

The following OSI -approved licenses are popular, widely used, or have strong communities,

· Apache License 2.0

· BSD 3-clause “New” or “Revised” license

· BSD 2-clause “Simplified” or “FreeBSD” license

· GNU General Public License (GPL)

· GNU Library or “Lesser” General Public License (LGPL)

· MIT license

· Mozilla Public License 2.0

· Common Development and Distribution License

· Eclipse Public License version 2.0

--

--

Randi Ayeshani

BSc.(Hons) Software Engineering Undergraduate | University Of Kelaniya