Licensing 101 for Open Source Projects: Choosing an Open Source License

The most important thing for your open source project’s success is obviously good and useful code. Licensing, however, can make or break  your project as well. Choosing the right open source license for your software is crucial for your project’s success as it determines, amongst other things,

i) Who will use your program
ii) Whose code you can integrate into your program

There are in essence three key open source license types, and deciding on the type will ultimately also decide the faith of your project. These are the strong copyleft license, the weak copyleft license and the permissive license. The next section will summarize their key characteristics and how they impact enterprise use of your software. The issue of how the license type impacts your ability to incorporate third party code in your program will be discussed in a later blog post.

How the License Type Affects Your Project

1. Strong copyleft

Choosing a strong copyleft licensee (e.g., GPL) ensures that the source code of all modifications, additions, or derivatives of your work will be disclosed (eventually). In case of the GPL, derivatives are likely to include also other components licensees link your program to and distribute your program with.

If your project uses a strong copyleft license, most enterprises relying on licensing revenue for their business are unlikely to use your software as their own software linking to your code could be subject to GPL obligations. In fact, many companies have prohibited the use of GPL interally for this very reason. Your code is more likely to be used by companies requiring the software for internal use, or companies that do not rely on license fees for their business but instead make their money out for example the provision of IT services.

2. Weak copyleft

A weak copyleft license (e.g., MPL and arguably LGPL) is in many ways similar to its strong cousin, with one significant difference. Weak copyleft licenses generally do not affect independently created programs that merely link to your software. They exclude copyleft’s effect from such scenarios via various means (depending on the license), including by limiting the license’ scope to specific files or by expressly allowing linking.

If you choose a weak copyleft license, you are more likely to see your program adopted by enterprises as the license allows them to use your software together with theirs without sacrifing their own business model. However, it also means that they can make licensing revenue from value add they develop to a codebase which you give away for free

3. Permissive

All permissive licenses (e.g., BSD, MIT, Apache) generally allow for use for whatever purpose without an obligation to disclose source code, subject only to some obligations regarding the retainment of copyright notices and warranty disclaimers. Although flexible, they can be difficult to comply with in some cases.

If you choose a permissive license for your proejct , your code is likely to spread around like wildfire if it is good enough. Companies of all kinds are interested in it, as they can integrate it into their software as they see fit. You get recognition and your software could become standard, but the companies all money.

Part II will focus on how the license type affects your ability to incorporate third party code.

This article was contributed from the Copyleft Law blog.