A Practical Guide to Open Source Licensing

An open source license isn’t just a file you find in a code repository; it’s the legal agreement that spells out exactly what you can—and absolutely cannot—do with free, publicly available code. Think of it as the rulebook for collaboration, designed to keep innovation flowing while still protecting the rights of the original creators. Why…

open source licensing licensing guide

An open source license isn’t just a file you find in a code repository; it’s the legal agreement that spells out exactly what you can—and absolutely cannot—do with free, publicly available code. Think of it as the rulebook for collaboration, designed to keep innovation flowing while still protecting the rights of the original creators.

Why Open Source Licensing Is a Core Business Strategy

It’s tempting to think of open source software as “free,” but that’s a dangerously simplistic view. A much better way to look at it is to imagine an open source component as a piece of land. Sure, you can use the land, but the open source license is the property deed and the local zoning laws all rolled into one. It dictates precisely what you can build and how you have to behave.

You wouldn’t build a chemical plant in an area zoned for residential homes without expecting serious consequences. In the same way, you can’t just drop a piece of open source code into your commercial product without following its specific legal rules. These aren’t just technical details for developers to handle; they have profound, direct implications for your entire business.

From Legal Detail to Strategic Pillar

Every open source package you integrate brings with it a set of obligations that can directly influence:

  • Your Intellectual Property: Some licenses, especially the “copyleft” ones, can legally force you to release your own proprietary source code if you build their code into your product. For example, integrating a GPL-licensed charting library into your proprietary financial analysis software would require you to open-source your entire application. This is a game-changer for any company that values its IP.
  • Your Product Distribution: The license controls how you can sell or share your software. It might restrict your business model or compel you to share modifications you make. For instance, if you modify the AGPL-licensed source code of a project management tool and offer it as a SaaS product, you must make your modified source code available to your users.
  • Your Market Access: For anyone making connected devices, proper license management is a cornerstone of regulatory compliance, including the EU’s Cyber Resilience Act (CRA). You can learn more about how the CRA impacts your product’s journey in our guide on the role of a product lifecycle manager.

This strategic importance is only growing. While a staggering 86% of European organisations see open source as critical to their future, only 34% actually have a formal strategy for managing it. That’s a massive risk gap.

An open source license isn’t a suggestion; it’s a binding legal agreement. Ignoring its terms can lead to intellectual property loss, legal challenges, and being barred from critical markets. It’s a fundamental pillar of modern risk management.

Ultimately, understanding the rules isn’t just about dodging legal bullets. It’s about making smart decisions that protect your company’s value and ensure your products can actually be sold. As new fields like Open Source AI Models emerge, the strategic advantage of getting this right becomes even clearer. Treating open source licensing as a core business function is no longer optional—it’s essential for survival.

Understanding Permissive and Copyleft Licenses

At the heart of open source licensing is a fundamental split in philosophy, one that dictates how software can actually be used, shared, and changed. This isn’t just a technical detail; it’s a strategic choice with serious business consequences. The two main camps are known as permissive and copyleft.

To get a feel for the difference, imagine you’re a woodworker visiting a community workshop. This workshop has two tool sheds, each operating under a different set of rules.

The Permissive Tool Shed

The first shed works on a simple principle: take what you need, do what you want with it. You can borrow a high-end saw, use it to build a beautiful chair, and then sell that chair for a profit. You don’t have to credit the saw’s maker on your chair, nor do you have to share the blueprints for your unique design with anyone else.

This is the world of permissive licenses.

Licenses like the very popular MIT and Apache 2.0 give you maximum freedom. They come with very few strings attached, often just asking that you keep the original copyright notice somewhere in your code.

  • Real-World Example: The user interface library React, built by Meta, is licensed under the MIT license. This permissive approach is why millions of companies—from tiny startups to global enterprises—can build their commercial, closed-source web applications using React without ever having to release their own source code. It’s designed for the widest possible adoption.

A permissive license prioritises the freedom of the individual developer or company using the software. It allows them to integrate the code into proprietary projects with minimal restrictions or obligations to share back their own work.

This approach is incredibly business-friendly, which is a key reason why components under these licenses are so common in commercial software. A smart open source strategy will often favour permissive licenses to avoid intellectual property headaches down the line.

A diagram outlining an Open Source Strategy with three main pillars: Business Strategy, Risk Management, and Market Access, leading to Implementation & Adoption.

As the diagram shows, open source licensing isn’t an isolated technical issue. It’s a central part of business strategy, risk management, and market access.

The Copyleft Tool Shed

The second tool shed has a different, community-focused rule. You can still borrow any tool you want. But if you use their tools to create a new and improved tool—say, a better handsaw based on their original design—you are required to contribute that new tool, along with its blueprints, back to the community shed. And you must do so under the exact same rules.

This is the essence of copyleft licenses.

Sometimes called “reciprocal” or “share-alike” licenses, copyleft is designed to ensure that the software and any works derived from it remain open and free for everyone to use and improve. The most famous family of copyleft licenses is the GNU General Public License (GPL).

  • Real-World Example: The Linux kernel, the core of Android and countless other operating systems, is licensed under GPLv2. If a hardware manufacturer modifies the Linux kernel to support their new device, they are legally obligated to make those modifications publicly available under the same GPLv2 license. This is what created the massive, collaborative ecosystem where improvements from one company benefit everyone.

To make the comparison clearer, here is a quick breakdown of the core differences between the two philosophies.

Permissive vs. Copyleft Licenses at a Glance

Attribute Permissive Licenses (e.g., MIT, Apache 2.0, BSD) Copyleft Licenses (e.g., GPL, LGPL, AGPL)
Core Principle User freedom: Do what you want with the code. Community freedom: Keep the code and derivatives free.
Primary Obligation Usually just attribution (keep the copyright notice). Must release source code of derivative works under the same license.
Proprietary Use Easily integrated into closed-source commercial products. Integration is highly restricted; can "infect" proprietary code.
Business Model Fit Favoured by businesses wanting to build proprietary IP on an open source foundation. Favoured by projects aiming to build a collaborative, open ecosystem.
"Viral" Effect No. License obligations do not extend to your own code. Yes. The "share-alike" requirement extends to new code you add.

The choice between permissive and copyleft licenses is one of the most critical decisions in the open source world. It directly shapes how a product can be developed, distributed, and commercialised.

Understanding this core trade-off—maximum individual freedom versus enforced community sharing—is the first and most important step toward building a solid compliance strategy.

A Practical Tour of the Most Common Licenses

Once you've got your head around the permissive versus copyleft philosophies, we can get out of the theory and into the real world. While the open-source licensing universe is huge, you'll probably run into the same handful of licenses over and over again. Getting to know this core group is non-negotiable for making smart, compliant decisions when you're building products.

Think of this as a guided tour of the big names. We'll break down their key obligations and where you're most likely to see them. Each one is a tool built for a specific job, and choosing the right one—or understanding the one you've inherited—is a critical business skill.

The MIT License: The Ultimate Permissive Choice

The MIT License is one of the shortest and most popular licenses out there. Its biggest strength is its simplicity, which makes it the go-to for projects that want maximum adoption with the fewest possible restrictions on users.

It's pretty much the "do whatever you want" license. It gives anyone permission to use, copy, modify, merge, publish, distribute, sublicense, and even sell copies of the software. The only real string attached is that you have to include the original copyright and permission notice in any copy or significant part of the software. That's it.

  • Practical Example: The front-end JavaScript library React is licensed under MIT. This super-permissive approach is why millions of developers and companies—from tiny startups to massive corporations—can build their own proprietary, closed-source apps on top of React without having to share a single line of their own code.

This is exactly why frameworks and libraries aiming for widespread use often pick MIT. It removes nearly all legal headaches for commercial adoption.

The Open Source Initiative (OSI) is the official keeper of the list of approved licenses, serving as the definitive reference for the community. This image shows just a fraction of the dozens of licenses they've reviewed and given the green light to.

A visual comparison of five open-source licenses: MIT, Apache 2.0, GPL, LGPL, and AGPL.

This diversity just goes to show that there's a license for almost every philosophy, each carrying its own specific set of permissions and obligations.

The Apache License 2.0: Corporate-Friendly and Patent-Aware

The Apache License 2.0 is another hugely popular permissive license, but it's a bit more detailed than MIT. It’s often the favourite in corporate settings because it tackles a major business worry head-on: patents.

While it gives you similar freedoms to use and distribute the code, the Apache License comes with an express grant of patent rights from contributors to users. This clause offers a shield against patent infringement lawsuits from anyone who contributed to the code. It also has a clever defensive termination clause: if you sue someone over patent infringement related to the software, you lose your rights to their patents.

  • Practical Example: The Kubernetes project, which runs a huge chunk of modern cloud infrastructure, is licensed under Apache 2.0. This was a masterstroke for its adoption by large enterprises like Google, Microsoft, and Amazon. That explicit patent grant gave them the legal confidence they needed to invest heavily in the ecosystem.

The GPL Family: The Champions of Copyleft

The GNU General Public License (GPL) is the most famous copyleft license. Its entire purpose is to guarantee that software—and any derivative works—remains open source, forever.

If you distribute a product that uses GPL-licensed code, you are obligated to make the entire source code of your product available under the same GPL terms. This "viral" or "share-alike" nature isn't a bug; it's a core feature designed to ensure the community always benefits from all modifications.

  • Strong Copyleft (GPL): The Linux kernel is the classic example, operating under GPLv2. If a company modifies the kernel for its new Android phone, it is legally required to release those modifications back to the public. This principle has been the engine of Linux's collaborative growth for decades.

But not all copyleft licenses are created equal. The GPL family has a few variations for different situations.

Weak Copyleft (LGPL): The Lesser General Public License (LGPL) is a practical compromise. It lets you use an LGPL-licensed library in your proprietary application without forcing you to open-source your entire application. You only need to share the source code for any direct modifications you make to the LGPL library itself. For a practical example, a proprietary video editing software could use an LGPL-licensed codec library to handle video encoding. The company would not have to release the source code for its entire editor, but if they fixed a bug in the codec library, they would have to contribute that fix back. This makes it a great choice for shared libraries.

Finally, the Affero General Public License (AGPL) was created to close the "SaaS loophole." If you modify AGPL software and run it on a server for users to access over a network (without ever distributing the software itself), you are still required to offer them the corresponding source code.

  • Practical Example: Redis, a popular in-memory data store, now offers its core product under the AGPLv3. This ensures that cloud providers who offer Redis as a service must share their modifications, preventing them from building a proprietary advantage on the back of the open-source project.

Navigating Critical License Obligations and Pitfalls

Knowing the difference between license families is a great start, but it's only half the battle. The real work in open source licensing comes from managing the specific obligations each one brings to the table. If you overlook these details, you can run into serious business risks, from legal headaches to being forced into a complete product redesign.

Three areas are especially tricky and can cause major problems if you get them wrong: attribution, patent grants, and license compatibility. Getting these right isn't just a "nice-to-have"—it's a core part of staying compliant.

The Duty of Attribution

Almost every open source license, even the most relaxed ones like MIT, has a fundamental requirement for attribution. This is your legal duty to give credit to the original creators. In practice, it means including their copyright notices and the full text of the license somewhere in your product.

The easiest way to think about it is like the credits at the end of a film. You wouldn't release a movie without crediting the actors and director, and you can't ship software without acknowledging the open source authors who made it possible.

So, how do you do this in the real world?

  • "About" Screen: For desktop or mobile apps, a common approach is to add an "About" or "Third-Party Notices" section where users can see a list of all the open source components and their licenses. For instance, if you open the settings in the Google Chrome browser, you can find a link to the "open source licenses" used, listing hundreds of components and their full license text.
  • Documentation: With hardware or IoT devices, this information is often tucked into the printed or digital user manual that comes with the product. A practical example is the user manual for a smart TV, which will often have an appendix containing pages of license text for the open source software that powers its operating system.

Failing to give proper attribution is a direct violation of the license agreement. It’s also one of the most common—and easily avoidable—compliance mistakes teams make.

Understanding Patent Grants

Another critical feature, and one that’s often misunderstood, is the patent grant clause you’ll find in licenses like Apache 2.0. This clause is a powerful bit of legal protection for your business. It essentially says that anyone who contributes code to the project automatically gives all users of that software a license to any of their patents that might be infringed by that specific contribution.

This creates a defensive shield. Imagine a company contributes code to an Apache 2.0 project, and then later tries to sue you for patent infringement related to that exact piece of code. The license gives you a solid defence against that claim. This is a big reason why corporate legal teams often prefer the Apache 2.0 license for projects they use or contribute to.

The Danger of Incompatible Licenses

Perhaps the most dangerous trap of all is license compatibility. This is all about whether the terms of different open source licenses can be legally mixed together in the same project. Combining incompatible licenses can create a legal paradox, leaving you in a situation that’s impossible to resolve without re-engineering your product.

The classic conflict is trying to combine code licensed under Apache 2.0 with code under the GNU General Public License version 2 (GPLv2). These two popular licenses have terms that clash, creating a legal landmine for development teams that aren't paying attention.

This isn't just some theoretical problem. Finding a license conflict late in the development cycle can force you to rip out a critical component and scramble to find a replacement. That means thousands of dollars down the drain and massive project delays. This is exactly why it's so important to analyse your project's dependency tree and get a clear picture of all the licenses involved.

The weight of these obligations gets even heavier in markets with strong regulatory oversight. Europe, for example, shows incredible alignment with open source ideals, where 82% of survey respondents believe publicly funded software should be open source. For companies selling into the EU, this means open source license compliance isn't just a best practice—it's a key part of your market strategy. You can find more details on global open source software adoption trends on cognitiveworld.com.

How Licensing Impacts IoT Devices and EU Compliance

Open source licensing gets a whole lot more complicated when the software isn't just a standalone app but is baked directly into physical hardware. This is the reality for the Internet of Things (IoT). The firmware on a connected thermostat or an industrial sensor is tied so tightly to its hardware that it creates some unique compliance headaches, especially if you want to sell in the European Union.

To get a handle on licensing for IoT, you first have to appreciate the unique challenges these devices face, including some very critical IoT security issues. These aren't just technical quirks; they carry serious legal and business risks.

One of the thorniest issues in the embedded world is a practice often called “Tivoization.” The term comes from the early TiVo digital video recorders. A manufacturer might use GPL-licensed software on a device but then use hardware locks to stop users from ever running a modified version of that software. So, while the code is technically "open source," the user’s freedom to actually change it is completely blocked by the hardware.

The GNU General Public License version 3 (GPLv3) was specifically written to fight Tivoization. It contains clauses that force manufacturers to provide whatever is needed—like "installation scripts"—to let a user install a modified version of the GPLv3 software on the device. For an IoT company, this is a massive deal. Using GPLv3 code could mean you’re legally obligated to let customers modify your firmware, which has huge implications for product design.

The Cyber Resilience Act and Licensing

For any company putting connected products on the EU market, these licensing details are no longer just for the lawyers—they're now at the heart of regulatory compliance. The EU's Cyber Resilience Act (CRA) puts strict cybersecurity duties on manufacturers, and you simply can't meet them without a solid grip on your open source licenses. It’s the foundation.

Two CRA mandates, in particular, are impossible to fulfil unless you know exactly what’s inside your software:

  • Software Bill of Materials (SBOM): The CRA demands a detailed SBOM, which is basically a formal, machine-readable ingredients list for your software. You can't possibly generate an accurate SBOM if you haven’t first identified every single open source dependency and its license. This level of transparency is non-negotiable for selling in the EU.
  • Vulnerability Management: The act requires manufacturers to have a process for handling and patching security holes throughout a product's life. This all starts with knowing your dependencies. When a new flaw is found in an open source library, you have to know if your product uses it so you can push a patch. Good license and dependency tracking is step one for any real security response plan.

This regulatory pressure is changing how companies think about open source. In fact, attitudes in Europe have already shifted dramatically, with 76% of organisations in one survey saying open source is more secure than proprietary software. The CRA’s focus on security updates and post-market surveillance means you have to document not just what open source you use, but also how you handle its vulnerabilities. Discover more insights about open source maturity in Europe on linuxfoundation.org.

At the end of the day, open source licensing for IoT is no longer a niche legal topic. It's a core part of product security, regulatory strategy, and your ability to even access the market. Get it wrong, and you’re not just risking a lawsuit; you could see your products blocked from the entire EU for failing to comply with the CRA. A good place to start is by understanding the specific CRA SBOM requirements and what they mean for your development process.

Building Your Open Source Compliance Process

Understanding open source licensing is one thing, but putting that knowledge into practice is a whole different ball game. To move from theory to action, you need a structured compliance process that leans on proven tools and a clear, repeatable workflow. This isn't about piling on bureaucratic overhead; it’s about building a robust safety net that shields your products and your business from nasty legal and regulatory surprises.

The foundation of any modern compliance programme is the Software Bill of Materials (SBOM). Think of an SBOM as the definitive "ingredients list" for your code—a detailed, machine-readable inventory of every single component, library, and dependency baked into your software.

Standardising Your SBOM

For an SBOM to be genuinely useful across the industry, everyone needs to speak the same language. That's where standard formats come in. Two of the most important are:

  • SPDX (Software Package Data Exchange): A comprehensive standard for communicating SBOM information, covering everything from components and licenses to copyrights and security notes.
  • CycloneDX: A lightweight SBOM standard built for application security and supply chain analysis.

Adopting these standards ensures that your SBOM is instantly understood by partners, customers, and regulators alike. You can find detailed specifications and resources for getting started on the official SPDX website.

Flowchart illustrating five steps of open source license management: inventory, identification, compatibility, obligations, and integration.

This illustrates the central role of standards in creating a transparent software supply chain, which is a key requirement for modern development and regulations like the CRA.

Automating Discovery with SCA Tools

Let's be realistic: manually tracking every dependency in a complex project is a fool's errand. This is where Software Composition Analysis (SCA) scanners come to the rescue. These automated tools dig through your codebase, identify all the open source components you're using, and flag their licenses, known security vulnerabilities, and potential compatibility headaches.

Integrating an SCA scanner isn't a luxury; it's a necessity. It provides the continuous visibility needed to catch licensing conflicts or security risks before they blow up into critical problems, automating a process that is otherwise dangerously prone to human error.

A Practical Compliance Checklist

With the right tools in hand, you can roll out a straightforward, five-step process for managing open source licensing. This checklist gives your development teams an actionable roadmap to follow.

  1. Inventory All Dependencies: Kick things off by using an SCA tool to generate a complete SBOM for every project. You can't manage what you can't see, so this initial stock-take is non-negotiable. For example, a developer could use a tool like Snyk or OWASP Dependency-Check to scan their Java project's pom.xml file and instantly generate a list of all Maven dependencies.

  2. Identify and Verify Licenses: For each component you've inventoried, confirm its specific open source license. Don't just assume—go and verify the license file in the source repository. Practically, this means your SCA tool reports log4j-core is under the Apache 2.0 license, and you can double-check this by looking at the LICENSE.txt file in its official code repository.

  3. Check for Compatibility: Now, analyse the full list of licenses to make sure there are no conflicts. You're looking for clashes, like a component with a strong copyleft license being used in a way that would force your proprietary code to become open source. A real-world check would be establishing a company policy that forbids using any AGPL-licensed libraries in your commercial SaaS product to avoid triggering its network-based source code sharing requirement.

  4. Fulfil All Obligations: Go through and systematically meet the requirements of each license. This is where you create attribution notices, make source code available if required, and respect any patent clauses. As an example, your build process could automatically collect all the LICENSE files from your dependencies and bundle them into a single THIRD-PARTY-NOTICES.txt file that gets shipped with your product.

  5. Integrate and Automate: This final step is the most important one: make this process part of your daily routine. Integrate SCA scanning directly into your development pipeline (your CI/CD system, for instance) to check new code automatically. By shifting this process left, you can build a more secure software development life cycle and stop compliance issues from ever making it into production.

Frequently Asked Questions About Open-Source Licensing

Even when you've got the basics down, specific questions always pop up during development. Let's tackle some of the most common queries teams run into when they start putting open-source licensing principles into practice.

What Happens If We Accidentally Violate a License?

An accidental license violation can trigger anything from a polite request to get compliant all the way to serious legal action. If you trip over a copyleft license like the GPL, a major violation could legally compel you to release your own proprietary source code.

But it’s not just about direct legal threats. Non-compliance can seriously tarnish your company's reputation and even get your products blocked from the market for failing to meet standards like the EU's Cyber Resilience Act (CRA). The only real defence is a proactive compliance strategy.

Can I Use GPL-Licensed Software in a Commercial Product?

Yes, absolutely. There’s nothing in the GPL that forbids using the software in a product you sell. The license is perfectly fine with commercial use.

The catch, however, is that you must follow its "share-alike" rules. If you distribute a product that includes GPL code, you are legally obligated to make the complete source code of your entire product available under that same GPL license. If you're not prepared to open-source your own work, you shouldn't be using GPL components. For a practical example, a company that creates a custom Linux distribution for its hardware appliance must provide a way for customers to get the complete source code for that distribution.

Why Does License Compatibility Matter So Much?

License compatibility is all about whether you can mix different open-source components in a project without creating a legal mess. Some license terms are just fundamentally at odds with each other, creating conflicts that can bring a project to a halt.

For instance, if you combine permissive MIT code with strong copyleft GPL code, the final result has to be licensed under the GPL. This is a one-way street. Incompatible licenses can create impossible contradictions, forcing you to rip out a component late in the development cycle and scramble for a replacement. Checking for compatibility before you add a new dependency is one of the smartest things you can do to avoid headaches and project delays down the line.


Navigating the complexities of the Cyber Resilience Act requires more than just license awareness. Regulus provides a clear, actionable roadmap for CRA compliance, helping you assess applicability, map requirements, and generate the necessary documentation. Gain clarity and confidence in placing your products on the EU market. Learn more at Regulus.

More
Regulus Logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.