Anatomy of an Open Source license explained – No legal terms used!

Posted in Conference, Open Source

During my recent gig as a panelist at NASSCOM open source development conference, I was not surprised to find out that over 80% of the participants (total attendance ~90) struggle to understand the core logic behind an open source license. It is not they can’t but it is just too legal (complicated)!


I used four questions below to explain the anatomy of building an open source license. And this can be used to understand the philosophy and appropriate usage of a license.

1. Do you want to give up control of the code and distribution?

Yes – No license needed. Anyone can use the code “freely”, really!
No – Go for a license with following questions.

2. Do you want your code to be used only by other open-source programs?

Yes – Use license (like GPLv3) that ask any program to make itself open source if they are using your code.
No – Anyone can use it, fewer restrictions will be imposed by license. Commercial usage is easy.

3. Do you want to earn money if someone use it in a commercial offering (make money)?

Yes – Have a dual license – free license for free programs, commercial license for commercial programs.
No – Use a commercial friendly license like BSD

4. Do you want to enforce code modifications by others to be provided to everyone else (bug fixes and enhancements)?

Yes – Use license like Mozilla Public License (MPL)
No – Use license like BSD, Apache License

I promised not to use any legal terms and hence have simplified many of the finer points that you may encounter when considering a license. I strongly recommend you to consider a legal opinion if you are using open source for any commercial purpose.