2 Things You Need to Know About Open Source Licensing
If you are familiar with different types of open source licenses – you can skip this post. Otherwise – read on …
There are 2 importing facts that you need to keep in mind when you use free software. No, I am not talking about talking issues like reliability, support, TOC etc. which gets discussed in the context of open source vs. proprietary debate. I am talking about the possible complications that may arise from the licensing terms of the free software.
- If you are creating commercial software and include open source code, then the some clauses in the license may compel you to make your software open source.
- If you include certain class of freeware as a part of your solution, you may still have to pay a license fee.
Before I answer the question “how to find out” if such problem exist with specific free software which you are planning to use – let me give a brief overview of the 4 types of licensing terms that are very common.
There are 2 characteristics which are common to all of them:
- Self-perpetuating nature of the licenses: The license require you to include the copyright notice if are distributing the software as is or in a modified form.
- Author has no liability: The software is provided to you in “as is” condition without warranty or liability.
Though each license may be different, they fall into 4 broad categories. Here is a gist:
Exclusively your headache license:
- For this type of license very few limits are imposed on what you can do with the software. You can modify the software and also include them in your commercial product.
- MIT License (ex. Ruby on Rails) is probably the first of this type of license.
- BSD license (ex. BSD Unix) was designed to protect the reputation of the creator as any modification to software need to be clearly indicated and the name of the creator cannot be used for promotion as modified work.
- Apache License also grants free use of any patented work contained in the software.
Down with proprietary software – long live free and open source license:
- These are categorized under Copyleft License
= “…the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work…” – Wikipedia
- The basic principle is that you have free access to the software and you need to provide free access to any software which is a modified version. You also need to give free access to everybody on any software that you create using these types of software.
- GPL – GNU General Public License (ex. Linux kernel) most common form of this type of license. If you are looking to create proprietary works, the entire universe of GPL-licensed software is closed off to you.
- LGPL – GNU Lesser General Public License (ex. Mozilla) is slightly less restrictive allows to link to libraries without having to make your software also as LGPL – however, the libraries cannot be shipped together.
- Creative Commons License or ShareAlike Licensee is normally used for work other than software.
- These are categorized under Copyleft License
Carrot and stick license:
- This type is also known as Dual licensing where a limited version of the software is made available through one the above mentioned license – this version is known as community edition.
- The full version of the software is proprietary and priced.
- Eclipse, for example is available under EPL – Eclipse Public License. On the other hand IBM-Rational tools which are a derivative from Eclipse are proprietary and not free.
I want to make money if you do so license:
How do these licenses get enforced?
If you are wondering about the legal validity of these licenses then rest assured that there is a simple explanation of how it gets enforced. It happens because of the existence of the copyright law.
Whenever you write any software you become the copyright owner. There is no need for you to go through any legal formality. Therefore, unless you allow others the use of your software through specific license you have the protection of the copyright law. So, if somebody refuses to recognize your license they are bound by the copyright law and anyway cannot use or modify your software. So, only way they can freely use your software is by agreeing to your licensing terms.
Neat – isn’t it?
How to find out if there is a problem?
Check if the license is compatible with GPL. If it is compatible then you may not be able to include the code in commercial product. These links may help you:
- Look for the term “non commercial” in the license. Check the meaning and implication.
Here are some more reference materials
If you have the time, patience and need then there is enough material available freely on the internet to answer practically any questions you may have. Good place to start is, as always, Wikipedia. You can even get access to some online books on this subject:
- Understanding Open Source and Free Software Licensing
- Producing Open Source Software – How to Run a Successful Free Software Project
If you are searching for a particular class of open source software the following may be a good place to start
Should you open source your software?
Here is an interesting discussion on this – When you should open-source your internal apps