Don't follow your logic about how "GPL isn't free at all" however.That's pretty easy.
I'm confused. Care to elaborate?
GPL pretty much guarantees that the software is open and that it will usually be gratis (at least the code, you can keep the product as a whole non-gratis by keeping data resources under a commercial license). To achieve this, however, GPL imposes a truckload of restrictions, very much inhibiting freedom.
I don't see it so much as restrictions. More like clauses to prevent people who like to play word games from exploiting the good-will surrounding GPL and diluting its meaning.
You can kill something by blowing it up, or with a thousand cuts.
GPL has proven itself quite blast resistant in court. And the courts (at least in the US) have repeatedly affirmed that the GPL is enforceable despite numerous legal challenges that ranged from mere nit-picking to utterly bizarre.
So the challenge for GPL has now become how to protect itself from being slowly murdered. And this is actually a bigger threat to GPL than mere legal challenges because of the way 'human nature' works.
Consider this scenario:
You have eight hundred people in a line buying tickets. Everybody waits their turn and is behaving sociably. An adjacent ticket window opens, but the people still keep to a single line, alternately going to the next available ticket seller. Excitement builds, but everyone still remains calm and respectful since the line is moving smoothly. Most people are joking, flirting, or having conversations with their neighbors, and the whole experience of waiting in line has taken on a festive mood.
But suddenly, half way up in line, somebody lets a friend slip in ahead of them. Murmurs go up and down the line. Possibly an argument breaks out. Next a third window opens, but an announcement is made that only persons with VIP Club Cards
can use that line. Thirty or so people move over to that window under the baleful glares of the rest of the line. More murmurs and comments follow, and somebody feels compelled to shout an insult at the people in the VIP line.
By now, two distinct lines have formed from the original. Alternating between the two available windows has stopped, and the crowd is now in a much less sociable mood.
Finally, a fourth window opens, and a minor mob scene ensues, with people shoving and running to queue up in that line before anybody else does. Now the crowd is jittery and hostile because the earlier cooperative social contract has been broken.
The previous goodwill has been completely replaced by a 'just give me my f***ing tickets and let me get the hell outtahere!'
And you can see this behavior repeated in parking lots, holiday checkout lines, and at 4-way stop signs. The cooperative system works just fine until one
jerk decides to break the rules and set everyone else off. After that, it's Law of the Jungle
Sad, really. Such fragile things, these social contracts...
GPL is in the same situation as that concert crowd. It only works as long as people share a basic understanding, and agree to play by the rules. One exception, one cheater, one successful attempt at circumvention, and the whole edifice can easily come tumbling down.
And because people constantly attempt to do an end run around the GPL, each successive version has become more complex and detailed in an attempt to head off this problem. If GPL has gotten complex, blame the people that are trying to game the system, not the people that are trying to keep the FOSS social contract alive.
I know the non-FOSS 'party line' is to create a fog around GPL. But when you look below the smoke, you quickly discover that GPL is based on a few very simple ideas:
1. Some people believe the world would be a far better place if the software they wrote was released with no restrictions on copying, modification, or use.
2. The GPL codebase represents tens of thousands of hours of human effort. And that codebase has a real monetary value, even though nobody gets charged to use it.
3. GPL is like a pot-luck dinner. Anybody is allowed to sit at the GPL table and freely take as much as they want.
4. In return, people need to be willing to play by the same rules as the folks they're taking from. If you build on top of GPL software, then whatever you build should also become GPL software.
Look at it this way: if somebody lets you use their kitchen; provides some (or most) of the ingredients; and possibly offers to help you cook - then the least you should be expected to do is share the leftovers after you've eaten your fill. In a nutshell: Don't be a pig.
So I think it really all comes back to what GPL is all about. If something is released as "free and open" under GPL - then it really should be just that. Really free. Really open. No exceptions. No Games.
It's a very straight forward idea. It only gets complicated (and ugly) when certain individuals try to figure out a ruse to get around it. But I suppose that's also just human nature.
Truth is, many people have a real problem with just 'giving' something away with no strings attached.
GPL drives these people crazy.