Open Source Licensing


Intro
Open Source licenses are legal agreements that dictates the terms of use of an open source software. In light of this definition, it should be highlighted that open source software sometimes isn’t exactly “free“
I know! surprising right?
But before we get into the details it would be a good idea to plainly define the terms and diction that make up the phrase “Open Source License,” this way we have a good understanding of each word and how they all chyme.
Definitions
Open source in a software context refers to software whose source code is made publicly available, allowing anyone to view, modify, and distribute it under specified terms.
Copyright is a legal right granted to creators (authors, developers, artists) that gives them exclusive control over the use, distribution, and modification of their work. Copyrights are applied automatically when a work is created.
Licensing; in a software context, licensing can be referred to as a legal framework that governs how a copyrighted software can be used, modified, shared and distributed. In open source licensing, this means granting users specific rights to access, modify, and redistribute the source code under defined terms, while often imposing certain conditions (such as attribution or sharing modifications under the same license).
Now that we’ve got that out of the way, let’s reiterate; Open Source licenses are legal agreements that dictates the terms of use & distribution of an open source software. There are well over 100 recognised open source licenses but in this article we swill stick to three(3) of the most commonly used ones.
1. Public Domain License
This public domain license looks to do away with the copyrights attached to a software, basically no one owns it. It is the property of the public domain, free to use in whatever way/form. It’s basically stating that a software is unlicensed (NOT Licensed), you can think of it as more of a waver than an actual license. An example of this license is the Unlicensed.
2. Permissive License
Examples are the MIT License or Apache License; the author retains ownership of copyrights to the software but it is pretty much free to use in whichever way. Can be used to build other open source software and or proprietary software and you don’t have to make your software available to the public
3. Copyleft License
The term “copyleft
" is a playful twist on “copyright
". Copyright (©) means "Right to control," as explained copyright law gives creators exclusive rights to restrict how their work is used (e.g., "All rights reserved"). While Copyleft (🄯) means "Left to share" it is a contradiction to traditional copyright, copyleft uses copyright law to enforce sharing. It basically says: You can use, modify, and distribute this work—but only if you grant the same freedoms to others.
You can think of it “as an eye for an eye,” you have to make your software free under the same license because you modified my free software to build it. Copyleft licensed code aren’t the best for building proprietary software because in some cases (depending on the kind of copyleft license in application) you can in turn be enforced to share your software’s source code publicly. There are three (3) variations of copyleft licenses:
Weak Copyleft (e.g., LGPL, MPL)
Rule: Only the modified files must stay open-source.
Example: The GNU Lesser GPL (LGPL) lets you link to proprietary code, but changes to the LGPL-licensed code itself must be shared thereby triggering the public release of files where the LGPL code was modified.
Use Case: Libraries (e.g., Mozilla Firefox components).
Strong Copyleft (e.g., GPL v2)
Rule: Your entire program must be open-sourced if it includes GPL code.
Examples: Linux, Git, WordPress.
You can modify the code but your entire program has to become open sourced too. This license basically sucks your program into the open source brotherhood, unlike with the Weak GPL, you have to share your entire program not just the file it was tweaked in. You can think of it as sort of like a virus.
Strong Copyleft+ (e.g., AGPL v3)
Rule: Closes the "SaaS loophole," even cloud providers using AGPL code must release modifications.
Why It Exists: Prevents companies (like cloud providers) from profiting off free software without sharing back.
The aim of this license is to close the loophole associated with Copyleft Licenses. Since Copyleft licenses states that the software is free when it’s running on your system, cloud providers have the loophole of running the software on servers and using it to provide services to people which is in most definitions not breaking the laws of the license because the software was never distributed or installed by the end user so it just sits on a server(system) which is still in compliance to the Weak & Strong GPL laws. Another peculiar feature of this license is that Software can also be duo licensed under the AGPL; a copyright holder can choose to license their software under the GPL terms so it can’t be used for proprietary reasons but at the same time can sell a copy of their software under a more liberal commercial proprietary license. This has been met with mixed reactions; some feel that it beats the entire purpose of open source, others believe it’s a good way to create revenue for contributors and prevent their products from being mined for free.
Commercial open source companies mostly choose to use Aferro Licences (AGPL) for their software, to beat the idea of businesses taking their “free” software to create services that can in turn compete with them
Extras
Software can accidentally be made open sourced due to the nature of the Copyleft licenses that were ignorantly used to build it. There have been real life incidents such as:
Samsung vs. GPL Violations: forced to release proprietary TV firmware after using GPL-licensed code (BusyBox).
Cisco/Linksys: settled lawsuits by open-sourcing router firmware derived from Linux (GPL).
There are tools that are available for licensing scan and risk mitigation for property software such as: SPDX License List, GitHub’s License API, & FOSSA. There’s also the NPM License Checker for Javascript & LicenseFinder (Ruby/Python).
There are other forms of licensing, some even stronger then at the Affero GPL but those are less under open source and more of Fauxpen Source or Open Washing domains.
Note: it is not it breach of a GPL license if you use the modified software personally, it’s only a breach when you attempt to redistribute it or render services with it in AGPL scenarios.
You can checkout the official open source license webpage here just to know what the entail in detail, also feel free to leave your opinion on open source licenses in the comments. Sosongo(thanks)!
Subscribe to my newsletter
Read articles from Isreal Hogan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Isreal Hogan
Isreal Hogan
A drive for problem solving and new technologies. Here to write about anything and everything about software development.