Licenses are really important part of a project. Itâs one of those protector thatâll make sure no creation of one is used by another for self-profit without permission
Even though Licenses simple stuff but they can get overwhelming to choose while owning a growing/expanding project. And itâs more important when youâre an one man show & you project is open source. Of course, you can create your own licenses. But to save time you can use a free pre-created one
Hereâs a List of popular Free Licenses, their basic breakdown & compatibility:
1. MIT
Itâs basically like saying take my piece of code/project, do whatever you want (commercially/non-commercially) but donât blame me if anything goes wrong
Itâs the most favorite Open Source Software license & being used by many popular libraries, frameworks, organizations & applications
Hereâs the license
2. GNU General Public License (GPL) v3.0
Itâs mostly like MIT but instead of saying âdo whatever you wantâ it says âdo whatever you want but keep license term unchangedâ. GPL is one of the famous license for most of the open source project built on the convention & tradition of Unix & GNU. It can be seen mostly in Linux/Unix related projects
Itâs a great license but itâs also called an âinfectionâ as once you publish something under this license, other projects copying/forking this projects have to use this license or other licenses compatible with this license. Making every fork based of this license, it makes the license contagious. But itâs a great way to make the world more open & thatâs why itâs OpenSourceFoundationâs favorite license
You can view it here
3. Apache License 2.0
Created by Apache Software Foundation in 2004 for the community & their own services. It allows doing all the things with the software including commercial use but it strictly prohibits the use of the softwareâs name/trademark/logo
Itâs a great choice for organizations as it secures the trademark & name/logo usage without affecting the flexibility of use of the product/software/library
View it here
4. FreeBSD / BSD 2-Clause License
FreeBSD License or Simplified BSD License or BSD 2-Clause License is one of the popular licenses for OpenSource projects. Itâs super simple & quite similar to MIT. It just says, âdo whatever you want but donât blame me if anything goes wrong!â
Hereâs the license
5. New BSD License / BSD 3-Clause
Itâs similar to BSD 2-Clause License, but with a 3rd clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent
Hereâs the license
6. Original/Old BSD License / BSD 4-Clause License* (not accepted in OSF)
The original BSD License. It was later updated as the BSD 2-Clause. It wasnât accepted by the the OpenSourceFoundation because of itâs advertisement related clause (Clause-3). Itâs like saying, âDo whatever you want but keep License unchanged/compatible & have to give me my creditsâ
Even though its outdated, it has quite a lot meaningful things to it. It can be potentially helpful for small or one man army projects as it secures the âcreditâ of the developer which is often neglected by most of the Open Source Licenses
Hereâs the license
7. Mozilla Public License
Created by the Mozilla Foundation for the community. Itâs a great license balancing both the open source & the proprietary perspective of a project. As such, it allows the integration of MPL-licensed code into proprietary codebases, as long as the MPL-licensed components remain accessible under the terms of the MPL. Itâs a middle ground between the permissive licenses & GPL licenses
Great choice for organizations/company which want to be as transparent as possible also keeping other super secret stuff veiled
View the license here
What to choose?
Itâs complicated. But one have to be careful while choosing licenses. If youâre fine to expose âeverythingâ you can. Or you can keep your trademark/logo/patent/credit restricted too
Here are some conditions to help differentiate & choose the correct license:
- If youâve a healthy job but want to serve the community in free time, Iâd encourage to choose the permissive licenses (MIT, BSD 2-Clause, Creative Commons)
- If youâre running an organization & need a bridge between OSS & proprietary, use MPL
- If itâs a non-profit OSS organization, use Apache-2.0/BSD 3-Clause
- If youâre an one man show & donât have a healthy job or a student, I highly encourage to use BSD 4-Clause or a similar one to keep your credit secure & make it easier to get a job. Also good luck & donât give upđ
In the end, Iâm nobody to tell what to choose or not. But Licenses play a really important role in the long run. Yeah, you can change it later (like me) but keeping the ground solid from the beginning is always better
Which oneâs my favorite? (Opinion)
Itâs the Original BSD/BSD 4-Clause License. But why?
If youâre an opensource contributor/developer you might be aware of the faker.js story. In case youâre donât know, hereâs a video explanation from my bud Jeff aka Fireship,
Most of the time OSS developer works in free-time. But there are many scenarios where that person remain jobless just to maintain the OpenSource Project. Sometimes itâs profitable (sponsorship) & sometimes itâs not
Everyone just uses those libraries where a very few contributes to the project. Thatâs not a problem, this is how open-source works, mostly. But the problem is when you use too much of that product & make profits but never payback nor give the credits
Iâm not saying, the user has to pay with $ money initially or at all but there are other ways to payback. Such as, contributing back, sharing the project or give credit in their own projects. It doesnât cost anything.
Its only a few lines for others but can be a life changing opportunity for the project owner/maintainer
After all, someoneâs helping you for nothing. At least, be grateful to that person & try help him/her back in his/her problems if youâve the ability
BSD 4-Clause makes it compulsory to give credits to the developer which is most of the time neglected. OpenSource doesnât mean only open. It means sharing & helping others too. But people are selfish (that included me too) & we canât change that. But if we try we can do anything & I guess itâs high time we give the proper credits to the proper credit-holder. And there is no shame in giving others their legal credits
âMega corporation, startup & consulting firms, all make tons of money on the shoulders of open source softwareâ ~ Jeff | Fireship
IMO, BSD 4-Clause License is now a great solution to these open source developer burn out problems. If itâs not maybe we should make Licenses that actually cares about developer credits similar to BSD 4-Clause but even better
Clause-3 of original BSD License:
At the end, this is all my opinion & personal thinking. Of course I canât be right always. Maybe there are way better solutions to this problem
Do more OSS projects and
DO NOT BURN OUT & TAKE BREAKS
Social
Follow me on:
Top comments (21)
There is no such thing as the OpenSourceFoundation, there is the Free Software Foundation and the Open Source Initiative, these are separate non-profit organisations, the term "Free Software" is coined and defined by the FSF (see gnu.org/philosophy/free-sw.en.html), while the term "Open-Source" is defined by the OSI (see opensource.org/osd).
Although both of these terms, in most cases, refer to more or less the same thing, there are some differences that you can find in this article:
gnu.org/philosophy/open-source-mis...
The opposite term for both of these is "Proprietary Software" or "Non-Free Software".
Thanks for the info. I thought OpenSourceFoundation & OpenSourceInitiative refers to same but now looks like not
No one will mention the WTFPL? đ¤Ł
Anyway thank you for the article. The BSD-4 was exactly what I was looking for.
Some resource and article by blueoakcouncil.org might help.
Also check their premissive and copyleft license list categorization.
Great resource. TY for sharing
Good and timely writing! BSD4 seems like a vey nice choice!
Question: Can I use a tool/framework released under GNU GPL license to build a non commercial application in my organisation?
The GPL doesn't forbid any use. The people who wrote the GPL license (Stallman and the FSF) have always been concerned about their ability to modify the software they are running, not preventing commercial use.
What the GPL requires is that if you distribute an application that contains GPL'd code (e.g. a library) in binary form (outside of your organization), then you ALSO must make the source code of the entire app available under the GPL license. Corollaries:
(Note: I'm not a lawyer and this is not legal advice)
Yes, you can. But your commercial application have to be licensed under a GPL/GPL compatible license
Great article, thanks. It's hard to give an exhaustive list of all available OS licenses, but I'd like to add the Affero GPL License, recognized by the Open Source Initiative. I see it very much in recents among open-source projects. It add a particular clause of enforcing developers to publish their modifications. The idea behind it is to address the flaw you describe at the end of the article, which is basically take profit of the software, modify it internally without having the need to make these changes available to the public.
Again, warm thanks for this article. It sums up the subject very well đ
A very helpful read. Thanks! Didn't know how nice BSD-4 was
I've always used this site for my projects.
choosealicense.com/
The Hippocratic License is worth a mention IMHO.
firstdonoharm.dev/
There is another license named Unlicense. A crazy name but it exists.
Great article. Appreciate your research & knowledge đ.