This is something that has confused me ever since i've been using linux. It's not a license in the standard sense of the term, i don't think, where you go to some office and pay to renew it...but it's not a joke to the GNU community or the rest of the linux developer community. If the software is totally open source, then wouldn't the license become redundant and inefficient?
I’m no lawyer , so I’m not an expert.
But as far as my understanding goes:
In the case of the GNU GPL, the point is to ensure that Free/Libre/Open source programs and libraries licensed under the GPL remain perpetually Free/Libre/Open. So it’s a protection mechanism to ensure that any given piece of software licensed under the GPL remains truly free.
So if somebody uses GNU GPL licensed code in their project, or creates a derivative work based on a GPL’d piece of software, their application must be licensed under the GPL and they must publish/provide the source code for their application and for any changes they may have made to any GPL licensed libraries they’re using/distributing.
So it prevents giant corporations from using Free software in their proprietary, closed source projects, unless they provide source code for their application, or for any GPL’d components their software uses.
There are ways around this. Libraries licensed under the LGPL can be used in proprietary software, but the developers must distribute the source code for any and all components of their system that are licensed under the GPL.
So they can keep their own proprietary code as closed source, separate from any external GNU code. But for any GNU libraries, or binaries that they use, or distribute to their customers, they are legally obliged to provide the source code for them. That way - any modifications or improvements that they may have made to the GNU licensed code (or even malicious tracking features) have to be published.
So for example, some giant mega-corporation has built a piece of ground-breaking, industry-leading, proprietary software. They use some GNU licensed libraries to provide some of their functionality - but they needed some additional features that weren’t in the library and needed to change it.
It ultimately doesn’t matter if the changes they made are good, or bad. But because the library is licensed under the GPL, they are legally compelled to publish the source code for those libraries.
That way, any FLOSS components licensed under the GPL can be studied/audited by anybody to ensure nothing malicious has been added. And the original developers of the software can adopt/integrate any of those changes in their main codebase if they choose to.
So the GNU GPL and LGPL licences aggressively enforce that any given piece of GPL’d free software should always be free and open.
Several successful lawsuits have been made against companies who are in breach of the GPL. And I believe there are a few ongoing and pending cases.
I don’t know all of the ins and outs, but under certain uses of GPL code, you’re required to publish the source code for your entire project. For other uses, you’re only required to provide the source code for the GPL licensed components.
Because of how strict and aggressive the GPL is, some people have called it a viral licence.
Then there are licenses like MIT/Berkely and BSD licenses that are more permissive.
Anything licensed under those kind of licenses, you are only encouraged, but not required to publish changes.
Any derivative works, or modified versions that are distributed must be kept under the same license and terms, but companies/developers using that software in their projects are NOT compelled to open source the code for their own project, or even to publish any changes to any libraries/components that are licensed under the MIT/BSD type licenses.
They are only obliged to give due credit to any of the projects whose code they’ve used.
Then there are tons of unlicences, that just say "Do whatever you want with this, we don’t care!"
So the various free software licenses just define what other developers can and can’t do with the source code for any given project. And especially in the GPL’s case, protect free software.