Software Licensing and Open Source

Every engineer uses open-source software constantly, and almost none read the licenses — which is a quiet risk, because those licenses are legally binding terms that govern what you can and can't do with the code, including obligations that can affect your own product. The difference between a permissive license and a copyleft one can determine whether you can keep your code proprietary. Understanding software licensing, especially open source, is among the most practically important legal knowledge for a working engineer. (Educational, not legal advice.)

Software licensing — the legal permissions governing how software can be used — is crucial for engineers, especially open-source licenses. This post covers what a software license is, the key open-source distinction (permissive vs copyleft), why it matters, and license compliance. It builds on copyright (licenses grant permission around copyright) and is among the most practically relevant legal knowledge for engineers (who use licensed/open-source code constantly). (Educational, not legal advice — license terms and their effects are situation-specific; consult a lawyer for real licensing decisions.)

What a software license is

A software license is a legal grant of permission governing how software can be used — permission around the copyright the owner holds:

A software license is a legal grant of permission (around the software’s copyright) that sets binding terms for how the software can be used — what’s allowed, any obligations, restrictions. Using software means being bound by its license. This matters most for the open-source software engineers use constantly, where the key distinction is permissive vs copyleft.

Open source: permissive vs copyleft

The most important licensing distinction for engineers is between permissive and copyleft open-source licenses — because it affects what you can do with the code (including keeping your own proprietary):

The key open-source distinction is permissive (like MIT/BSD/Apache — minimal obligations, usually just attribution, usable in proprietary products) vs copyleft (like GPL — share-alike obligations that may require open-sourcing your own code that incorporates it in some scenarios). This difference can determine whether you can keep your product proprietary — hugely consequential. Understanding why it matters (and getting it right) is critical.

Why licensing matters (and the risks)

Software licensing matters practically because engineers constantly use licensed/open-source code, and ignoring licenses carries real (often unappreciated) risks:

Software licensing matters because engineers constantly use licensed/open-source code (bound by its terms, usually unread), ignoring licenses is a real (often unappreciated) risk (surprise obligations, non-compliance surfacing at due diligence), license compatibility matters when combining components, and it’s especially consequential for commercial products/companies. Managing this is license compliance.

License compliance

License compliance — following the license terms of the software you use — is the practical discipline, and it’s a real, manageable responsibility:

Software licensing — the binding legal permissions governing software use, especially the open-source permissive (minimal obligations, proprietary-friendly) vs copyleft (share-alike, may require open-sourcing your code) distinction — is among the most practically important legal knowledge for engineers, who constantly use licensed code. Compliance (knowing and following the licenses of what you use) is a real, manageable responsibility. Next: contracts and agreements. (Educational, not legal advice.)

Key takeaways

Further reading

Sources & References

Software licensing
Permissive vs copyleft