The Importance of Choosing the Right Open Source License
Developing successful software is not just about the code. The code can be brilliant and revolutionary, but if the wrong software license is attached to it then the code can go nowhere.
The reason for this is that the license that envelops the code plays a large role on who can contribute to it and, ultimately, how widely it is used or ignored.
"If you are hoping to get your code incorporated into a bigger system then some open source licenses may put people off," Mark Johnson told CIO recently, development manager at OSS Watch.
There are three basic types of open source software license: strong copyleft, weak copyleft, and permissive.
A strong copyleft license is one that has strict licensing terms. A good example is the GPL, which stipulates that projects that use GPL code must also be licensed as GPL.
"If you use the Gnu General Public License (GPL), for example, some people won't touch it as they'll be worried about incorporating GPL code into their product. On the other hand, if you don't use the GPL then some developers simply won't be prepared to contribute,” noted Johnson.
A weak copyleft license, on the other hand, takes a more moderate approach that keeps the code accessible but still usable by industry that wants to build off of it. While this means that others can benefit off the work, it also means that businesses are more likely to use and extend the code in their products.
A good example of a weak copyleft license is the GNU Lesser General Public License (LGPL), which has less strict terms and therefore can be used by a larger group of people.
The LGPL is often used to license software libraries to encourage their usage, for example. The LGPL does this by letting non-free programs use the libraries.
“In this case, there is little to gain by limiting the free library to free software only," the LGPL outlines openly in its preamble.
For the widest adoption, however, a developer should consider using a permissive license. This is what most people think of when they hear “free software”—others can use the code openly as if it were their own.
With permissive software licenses such as the MIT License or the Apache License, businesses can use the code and extend it with their own proprietary features. This means that the original developer lets others earn money off his code, but it also lets the developer release a base product that others can contribute to while selling his own proprietary add-ons. Open source software got profitable when this type of license was developed.
So it is about more than just the code. Developers need to carefully consider the license they use when releasing their software, and the key to choosing the right license is having a clear sense of who will use it and what is meant to be accomplished by the code.
Edited by Blaise McNamee