It is a dream for every open-source developer that his project becomes successful, and he gets thousands of GitHub stars and hundreds of pull requests. It is their dream that their contribution is used by some small or big corporations. So there is basically only one thing that stands between you and the larger community of open-source developer and that one thing is the license, means the explicit permission that lets everyone know under what conditions they can and can not use your software, but then the real question comes into the picture interesting software.
Choosing the right license :
It is your responsibility that whenever you create something very interesting, you keep it safe means that your tools can be used only by the way you want them to be used.
Need of an Open Source License :
Everyone wants that his software should work ethically, that is why you attach some terms and conditions to use that wonderful creation. Open-source software can be used by anyone on this planet, so it’s your responsibility to tell others how to use it. Using a specific license also gives your software legal protection. You can use it to take legal action against those who violate the terms of the license.
There are two basic types of open-source licenses:
- Permissive Licenses –
Using this license, we can derive many licenses of our derivative work. But there are some differences between the original licenses and the derivative ones. One important property of permissive licenses is that they can be used to derive sub-licenses, and it is GPL compatible ie it is copyrighted.
Examples: MIT License, BSD licenses, etc.
- Copyleft –
Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well. The simplest way to make a program free is to put it in the public domain, un-copyrighted. This allows people to share the program and their improvements if they are so minded.
Examples: GPL license and the MPL-2.0 License.
Since licenses are legally binding, you’ll have to carefully consider which one to choose when writing your open-source code.
Factors to consider when choosing an open-source license :
- First thing first there will be a huge audience who will use your software so choose a critically reviewed and evaluated license for official approval or acceptance.
- Ask yourself how you want your software to be used by others, Are you building an open-source library others will use to create their software?
- If you choose a permissive license, others can take your code, alter it, and use it in their proprietary software without releasing the code.
- If you choose a copyleft license, anyone who uses your code will have to share their code in the same way as it is.
- Many of the companies can use your software for commercial purposes, you can put restrictions under which they can do so. Also, you can ask for remuneration.
- Always choose your audience wisely. A large organization with lots of intellectual developers may not use your software fit prevents them from distributing their software commercially.
- Don’t complex things too much, keep them simple. Don’t spend hours making decisions about licenses. At the end of the day, all that you care about is the code.