Software Licensing
Software Licensing is a critical component in letting others use, copy, modify, and distribute your software application. The actual software license itself is usually written in a legal agreement called a software license agreement, where the publisher grants a license to the end-user, who in turn agrees to the software publisher’s terms of use.
This tends to be regulated via a document called the End User License Agreement, or EULA. Though software licensing can be a paper agreement, it is most often imbedded in the software itself as part of the installation process. In larger corporations much more complex agreements tend to be in place that require considerable legal expertise to manage and negotiate.
There are two main categories of Software licenses:
- Free and open-source software(FOSS) licenses
In general, free and open-source software(FOSS) licenses allow the end user to view and edit and distribute the software and the source code. There are a few different flavors of open source licenses giving more of less freedom on all of these attributes. Popular Open-Source Software Licenses include:
- 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
2. Proprietary software licenses
Also sometimes known as commercial licenses, these are the license types that are usually (but not always) bought and sold. They typically do not allow modification of the program, or its distribution.
If ownership of the software remains with the software publisher, then the end-user must accept the software license. In other words, without acceptance of the license, the end-user may not use the software at all. One example of such a proprietary software license is the license for Microsoft Windows. As is usually the case with proprietary software licenses, this license contains an extensive list of activities which are restricted, such as: reverse engineering, simultaneous use of the software by multiple users, and publication of benchmarks or performance tests.
There are many different types of software licenses, but here are five types of common software license models you should know about. Four of them are open source licenses and one disallows any reuse whatsoever.
- Public domain
Public-domain license is license that grant public-domain-like rights and/or act as waivers. They are used to make copyrighted works usable by anyone without conditions, while avoiding the complexities of attribution or license compatibility that occur with other licenses. No permission or license is required for a work truly in the public domain.An examples is CC0 (Creative Commons).
2. Permissive
Permissive Free Software Licenses (also known as BSD licenses) are free software licenses with minimum requirements such as how they can be distributed. Such licenses require more than just attributing the original portions of the licensed code to the original developers in your own code and/or documentation.Examples include MIT License, BSD licenses, Apple Public Source License and Apache license. As of 2016, the most popular free-software license is the permissive MIT license.
3. LGPL(Lesser General Public License)
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.
4. Copyleft
Copyleft is a method for making a software program free, while requiring that all modified and extended versions of the program also be free, and released under the same terms and conditions.
When an open source software project is published with a copyleft license, other developers have the right to use, modify, and share the work as long as the reciprocity obligation is maintained. Any software created using an open source component with a copyleft license must be released as open source as well. The result is that any software product containing an open source copyleft license, even when it’s only a few lines out of mountains of code, must make its entire source code available for free, along with the rights to modify and distribute it.
Examples include GNU General Public License(GPL).
5. Proprietary
As I discussed earlier, this is the most restrictive.They typically do not allow modification of the program, or its distribution.
Licensing is a very important part of software development.Managing your licenses efficiently with your customers leads to understanding your customers better, which then helps you grow your revenue as a software developer. It also protects your product against losses occurred from piracy. Using a dedicated Software Licensing service can help you to focus on building great products, manage the type of license you want to offer, and protect your intellectual property.
References: