Code is Not Only Code .
Software programing is hard work. And after that hard work is complete, more and more programmers decide make their work available to the world in the form of open source software. But merely making the code public does not give others permission to use it. A license is blanket permission for others to use, modify and build upon the open source code.
In making the decision to release their work as open source, it’s important for developers to realize that they don’t have to give up the rights to their work by doing so. By licensing work as open source, the creator of the code still holds the copyright to it. In very broad terms, when a project is released under an open source license, all future iterations of that project can credit the creator of the project for the foundation they created.
As a developer, there are a variety of different licenses available for you to choose to open source your software. We have identified four general categories of licenses and let’s look at an example in each category.
- GNU General Public License (GPL)
One of the most prevalent licenses available for open source software in the copyleft license category, the GPL allows programmers to copy, modify and distribute the software, as long as the modified work is released to the public domain under GPL.
- GNU Lesser General Public License (LGPL)
This is a weak copyleft license that allows developers to incorporate unmodified LGPL licensed binaries (libraries) into their own proprietary project without the obligation to release their own proprietary code as open source. Any modification of the LGPL-licensed code would require release of the modified and the derivative work into the public domain.
- MIT License
This is a permissive license, letting programmers to use the code with minimum restrictions. The license allows developers to do whatever they like with the code as long as they retain the license terms and copyright notice.
- Apache License
This is another example of a permissive license but it allows protection over any potential patent claims. Again, no source code needs to be revealed to the public domain.
Almost all open source licenses will require the users of your code to include your license in their package, and mention you as the original owner of the work (called attribution).