Introduction
Open source is everywhere. But the licenses that govern this code are often overlooked, misunderstood, or misused. And that’s a problem.
In one of our tech talks, “Open Source Licenses: Key Benefits and Pitfalls,” we unpacked the legal DNA behind open source projects. Here’s what every developer, product owner, and tech lead should know before copying that next open repo into production.
Not all “open” means free to use
Open source licensing exists to define how software can be used, modified, and redistributed. It sounds straightforward. But the moment you start building real products, especially ones that go to market, it gets complicated.
Open source licenses fall into a few key families. Public Domain licenses impose no restrictions at all. Copyleft licenses, like the GPL, require that any derivative work also remains open source. LGPL gives more flexibility but still has specific conditions. Proprietary licenses are fully closed, keeping all rights with the author.
In the middle sits the most widely used and commercially friendly category: permissive licenses. These include MIT, Apache 2.0, and BSD. They let developers build, ship, and even sell software that incorporates open source code, but they still come with rules. And ignoring those rules can lead to real consequences, from blocked product releases to legal claims.
MIT, Apache, BSD: what they actually let you do
Let’s start with MIT – the simplest and most permissive license. It allows you to use, copy, modify, and redistribute the code however you want, including in commercial products. You can even relicense it under more restrictive terms. The only requirement is that you include the original copyright and license notice in every copy or significant portion of the code. That’s it.
Apache 2.0 goes one step further. It includes all the freedoms of MIT, but with added legal protections. You must credit the original authors in each file, and you’re explicitly granted patent rights, which is important for enterprise distribution. However, the license doesn’t give you rights to use any trademarks from the original project.
It was an AI-powered support layer that:
Ingested tribal knowledge from live conversations
BSD licenses also allow wide reuse, but with one extra limitation: you can’t use the names of original contributors to promote your modified version without written permission. Like MIT, it also offers no liability or warranty protection.
Indexed thousands of documents across tech, product, and marketing
What all three have in common: they allow commercial use, let you modify and redistribute code, and impose minimal obligations. But they don’t protect you from making risky implementation mistakes.
The real risk: using unlicensed code
Here’s a detail most teams miss: not every piece of open source software has a license. And if there’s no license, you don’t have permission to use it at all.
Roughly 13.5% of packages on PyPI (Python’s package index) have no declared license. That means installing a random package and using it in your production app may violate copyright law. If you think that it’s just a legal technicality, we have bad news: it could result in real-world claims or force you to remove features post-release.
That’s especially dangerous in environments with lots of dependencies. Modern apps often include hundreds of direct and transitive packages. It only takes one without a license to create a compliance issue. Even worse, many developers assume that if a repo is public, it’s safe to use. And it isn’t.
The rule is simple: if a component doesn’t have an explicit license, treat it as proprietary code. Either get direct permission from the author or don’t use it.
How to use open source without stepping on a legal mine
Getting open source right is about more than choosing the right library: it’s about knowing what comes with it. These practices help reduce risk while keeping your development agile:
Always verify the license. If it’s missing or unclear, don’t assume you’re safe.
Track your dependencies. Use tools that scan for licenses across your entire dependency tree.
Avoid mixing incompatible licenses. Some can’t legally coexist in the same product.
Don’t remove attribution. Even in permissive licenses, keeping copyright and license notices is mandatory.
Know what “distribution” means. The rules change when you ship software to customers or share it publicly.
It’s also worth making open source literacy part of your team’s onboarding. Everyone touching the codebase – not just legal or security – should understand how licenses work.
Why license literacy is a tech skill
The best engineering teams treat licenses like they treat architecture decisions: carefully chosen, clearly documented, and never assumed. Because they know that open source isn’t just about access, it’s about responsibility.
Understanding the real terms behind licenses like MIT, Apache, and BSD gives your team the freedom to move fast without creating legal debt you’ll have to clean up later.
Want to dive deeper? You can watch the full webinar here and keep an eye out for upcoming sessions on practical tech topics that matter.