Choosing Open Source License Wisely🤔
Tags: opensource, programming, motivation, career
Published: 2022-01-16 16:13:23

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mdq3k1o0agp6igysthdn.png)
 

### [2. GNU General Public License (GPL) v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)

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](https://www.gnu.org/licenses/gpl-3.0.en.html)

### [3. Apache License 2.0](https://www.apache.org/licenses/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](https://www.apache.org/licenses/LICENSE-2.0)

### [4.  FreeBSD / BSD 2-Clause License](https://opensource.org/licenses/BSD-2-Clause)

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjuljgac1n28cy62fipm.png)
 

### [5. New BSD License / BSD 3-Clause](https://opensource.org/licenses/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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdy62ueq9ey3h3t69its.png)
 

### [6. Original/Old BSD License / BSD 4-Clause License* (not accepted in OSF)](https://spdx.org/licenses/BSD-4-Clause.html)

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gxkhrczjutzxv087wx61.png)
 
### [7. Mozilla Public License](https://www.mozilla.org/en-US/MPL/2.0/)

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](https://www.mozilla.org/en-US/MPL/2.0/)

## 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](https://www.youtube.com/c/Fireship),

{% youtube R6S-b_k-ZKY %}

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:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dcy0dqk0gm7lei7re5v.png)
 
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:

- [Twitter](https://twitter.com/KrTirtho)
- [Github](https://github.com/KRTirtho/)
- [dev.to](https://dev.to/krtirtho)
- [Medium](https://medium.com/@krtirtho)
- [LinkedIn](https://www.linkedin.com/in/kingkor-roy-tirtho-810b951b4/)