JetBrains Platform
Plugin and extension development for JetBrains products.
Open-Source Software (OSS) Licenses Explained
On JetBrains Marketplace, most plugins are distributed as OSS software. Choosing an appropriate open-source license can be daunting, especially for individual plugin developers who don’t have a team of lawyers. There’s a variety of licenses with different conditions and implications. To help you get a handle on open-source licensing, we’ve prepared a short introduction that may help plugin authors and all other OSS software developers choose the right license for their tools.
What is an open-source license?
Open-source licenses are non-proprietary licenses that provide certain freedoms, such as free distribution and modification of the software. The open-source software must be distributed with the source code or the ability to obtain the source code for free.
What are the different types of open-source licenses?
There are more than 100 approved open-source licenses, and it is difficult to know all of their requirements. However, all OSS licenses can be divided into 2 groups: permissive and copyleft (or restrictive) licenses. Let’s learn more about their differences:
Permissive licenses
Permissive licenses allow the use of software with certain limited conditions. For example, the frequently used BSD 2-Clause license allows redistribution and use with or without modification, but with the copyright notice, the original list of license conditions, and certain legal disclaimers.
Similarly, the MIT license only allows you to use the software without restriction if the copyright notice and the original permission notice are included in all copies of the software.
Another widely used license, Apache 2.0, includes additional formal obligations, such as distributing the modified software alongside notices informing users about modifications made to the original software.
Copyleft licenses
Any software created using an open-source component with a copyleft license must also be released as open source. Copyleft licenses can be either strong or weak copyleft licenses.
Strong copyleft licenses (such as GPL or AGPL) are designed to ensure that any software derived from the original copyleft-licensed code remains open source and freely available to the community. For example, if you use software under a GPL license in your product and want to distribute it, the whole final product must also be distributed freely under a GPL license together with the source code. Naturally, this “viral effect” has some negative implications for monetizing commercial software products.
Weak copyleft licenses have similar conditions but allow for certain exceptions. For example, you can link your software to libraries licensed under the LGPL and redistribute it without the requirement to be licensed under the same terms.
Which open-source license should I use?
Which license to choose should be your own decision, as it establishes the rights of all parties involved with your software and affects how others can use and distribute your code. The decision should depend on the type of software you’re releasing and the intended use cases. You should also consider compatibility with other licenses if you plan to integrate it with other open-source software. For example, the GPL copyleft license is not compatible with some permissive licenses like the MIT or Apache license, if the final product is intended to be licensed under these permissive licenses.
This helper created by GitHub is a great starting point to understand how to license your code. If possible, you can also seek guidance from a qualified individual or someone who has experience with licensing.
Сan I use open-source software for commercial purposes?
Yes, you can. Open-source software licenses generally allow the software to be used for any purpose. However, the specific terms of the license can vary. As mentioned above, strong copyleft licenses can impact how the software can be used in a commercial context. It’s always important to read the license carefully to understand its specific terms and conditions.
Tips for plugin developers distributing plugins under OSS licenses:
- If you upload a plugin to JetBrains Marketplace under an open-source license, you must provide the source code. OSS plugins without a valid link to the source code may lead to your plugin being removed from JetBrains Marketplace.
- Take time to read the license agreement you choose. Knowing all conditions from the applicable license is the first step in avoiding future problems.
- Keep track of all third-party software components under open-source licenses and the applicable license terms, like if the software must contain specific notices or needs to be distributed with a copy of the license.
- A tip for those whose plugins rely on third-party OSS code would be to use a Qodana license audit that can help identify whether you can combine software components under different open-source licenses in a plugin without conflicting license terms. For more information on how Qodana can help, check out this article.
- If you feel that someone is violating your license agreement, report it to the Marketplace team via marketplace@jetbrains.com.