Software Licensing
A license is an agreement through which a licensee leases the rights to a legally protected piece of intellectual property from a licensor, the entity which owns or represents the property for use in conjunction with a product or service. It is often an important term in the business entities as people have to depend on another’s product for most of the times.
A software license is a document that provides legally binding guidelines for the use and distribution of software. 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.
Software licenses typically are either proprietary, free or open source, the distinguishing feature being the terms under which users may redistribute or copy the software for future development or use.
There are many different types of software licenses, and the penalties are there for non compliance with the different types of software licenses. The type of license for a software is often decided by the makers and the users have to comply with that.
There are mainly five types of software licenses, those are Public Domain, Permissive, LGPL, Copyleft and Proprietary.
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. Important thing is, Code that doesn’t have an explicit license is NOT automatically in the public domain. This includes code snippets you find on the internet.
For handling compatibility and legal domains, a concept named CC0 is used in the public domain. This is achieved by a public domain waiver statement and a fallback to the all-permissive license. Still public domain licenses’ guidelines and rules vary from country to country. So users have to consider it as a main concern of risk while using public domain licenses.
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
A Lesser General Public License (LGPL) is a license for open-source software that allows for provisions for including elements of free software in either free or proprietary software. Lesser General Public License is sometimes referred to as “Library GPL” or “GNU libraries.”
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.
The main difference between copyleft licenses and permissive licenses is that copyleft licenses require these same rights to be included in any derivative works. While the GPL family are the most popular copyleft licenses, they are by no means the only ones
Proprietary
Proprietary software consists of software that is licensed by the copyright holder under very specific conditions. In general, you can use the software, but you are not allowed to modify the software or distribute it to others. This is done on purpose to protect the intellectual property invested in software development.
Many proprietary software applications are also commercial, meaning that users have to pay for a license. However, many other proprietary software applications are free. Many specialized software applications, such as those used for database management and various types of enterprise information systems, are also proprietary. Windows and Mac operating systems are best examples for proprietary licensed software.
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.