I've never seen a good answer either, despite searching for one. I've also seen a lot of smart people that are confused by the GPL despite reading a lot about it. I've seen much less of this confusion with other copyleft licenses, like the EPL in the Clojure community.
A law professor at University of Washington has attempted to make a license that is essentially equivalent, and compatible with, GPLv2, but that is not confusing. The result is the Simple Public License [1]. It is OSI approved.
It's not about freedom, and I'm a bit sick of that Orwellian categorization (War is Peace, Freedom is Slavery, Ignorance is Strength). Unlike other open source licenses which outline your rights, the GPL is a document that is filled with taking rights away. It's also ridiculously complicated, to the point where no one is completely clear on what is or isn't allowed (and the LGPL is even worse).
It's not practical and it's not free. That's why I'd never consider releasing software under it.
I wholeheartedly disagree to your first two statements. I would guess that the GPL just prioritizes freedoms differently than you would prefer. Namely, that access to the source code and the ability to fix bugs out-of-band of the original author is higher than your rights to fully commercialize and restrict access to the code, in the way that the BSD license allows. In a "wishing for infinite wishes" sort of way, the GPL is about removing the freedom to take away any more freedoms. So yes it is constricting in a sense but in a very targeted fashion.
I will agree that it is complicated but that's a result of years of companies abusing loopholes and the nature of trying to cover every conceivable scenario. It's an old codebase but still the best we have.
Practicality is never the consideration of an idealist and the GPL is definitely the product of an idealist. RMS has often appeared like a crazy old man but as time passes, he seems to be proven right more often than wrong. A consequence of idealism and the march of progress, maybe.
You're of course well within your rights to choose a different way but your characterization of the GPL not being about freedom is a bit off the mark.
>the GPL is a document that is filled with taking rights away
It's a document that gives and preserves rights of the end user, which include the right to the source code and the right to modify and distribute.
How could it possibly 'take away' rights? Any rights not in the licence didn't exist in the first place and thus can't be 'taken away'.
A licence is a set of conditions which a code author/owner sets for using his/her code, any 'rights' you have to their code is that of the conditions they set.
If a developer chooses GPL for their code then those are the rights to which you can use their code, no rights have been 'taken away from you' at all, it's not your code.
And it's certainly practical, which I'm certain is the reason that it's the most used open source licence.
One particular aspect which makes it practical from a developer standpoint is that if they release their code under GPL they have the right to source code modifications made to their code as end users of such modifications.
There is no BEST licence, the licence profileration is a direct consequence of our different needs and values.
I find it a bit dishonest when people describe GPL as confusing.
Sure, anything can be confusing. A door nob is surely confusing to some people, especially if they never seen one before. But a door nob is not inherently confusing, and intellectually honest people would not describe it as such.
Let me ask, what is confusing about a license that say:
You can and may do anything with this code, so long you allow others to do the same,
and to any modified version you might create.
There is nothing in the license text beyond that. If all countries legal system was perfectly sane, and that text would be legally full proof, that would be the license text. Since we do not live in utopia, the license text is a bit longer to describe what "can" and "may" mean.
To quote the license:
To protect your rights, we need to prevent others from denying you these rights or
asking you to surrender the rights. Therefore, you have certain responsibilities if
you distribute copies of the software, or if you modify it: responsibilities to
respect the freedom of others.
Who can say that they are confused by this? tzs, are you really, honestly, confused by that sentence?
The GPL sucks, full stop.