It's not just the code itself, but also derivatives thereof. Eg, no one would argue that iOS is free in any sense of the word.
There are many, many reasons for wanting the ability to inspect, modify and compile code yourself. The GPL secures those rights in perpetuity, while other licenses are more lax towards those particular rights. So, for example, you'd be losing that freedom by using BSD-derived iOS.
Basically the GPL is designed to protect users of the software, not developers of the software.
Those rights are already secured in pepetuity. Your code, once released as opensource, is always opensource.
If users don't want to use code that contains proprietary modifications to your code, nobody is forcing them to -- your opensource code hasn't disappeared.
As the copyright holder of a piece of code, I can use the GPL to ensure my users won't ever have to wonder about the provenance of my bit of code, no matter where it ends up. When developers adopt the GPL, it should be a conscious decision to protect those rights for future users.
The goal isn't for code to be open source Just Because. Take a moment to consider the motivations behind the FSF's definition of free software, as linked above by drcube. RMS has been talking about this for 30 years.
You clearly misunderstand his goals and those of GNU/FSF -- that is evident from every single one of your posts on this article, despite all these people trying to explain it to you. Not going to continue here; have a good evening.
I'd argue quite the opposite, I think I understand them quite clearly, and I think the facts speak for themselves in terms of how much grief the GPL and GPL incompatibilities have caused our industry.
But the rights in question are those of the end user, and these rights include that of recieving the source code of the actual binary containing GPL licenced code, which will include any (possible) modifications of said GPL code.
This is in my opinion the main attraction GPL has for developers, as they as 'end users' are given the right to any source code modifications done to their original code.
Users already have that right with liberally licensed open source code. If they don't want to use proprietary extensions for which they can't acquire the source, that's fine; nobody is forcing them to.
Which is what GPL guarantees, binaries which is guaranteed to provide source code.
Which is why developers who wants to guarantee this right to end users for the code they release, choose to licence their code under GPL.
Only copyleft style licences guarantees this right to end users, so if you are a developer who wants your users to have this right secured (which has a practical benefit for developers as they as end users of modifications to their original code, are guaranteed the source code of those moddifications), you will use copyleft style licencing.
If you guarantee that your binary has source, it has source. Guaranteed.
If users only want binaries that guarantee they have source, they can insist on only downloading/acquiring binaries from people that guarantee they provide source.
If you as a developer want to ensure that users of your code or modifications thereof will have access to that source code (end user which often includes the original developer himself) permissive licences does NOT _guarantee_ that.
Only way to guarantee that is to make it a condition for using the code in question, which is exactly what GPL does.
Do we really need to continue this dance of yours?
There are many, many reasons for wanting the ability to inspect, modify and compile code yourself. The GPL secures those rights in perpetuity, while other licenses are more lax towards those particular rights. So, for example, you'd be losing that freedom by using BSD-derived iOS.
Basically the GPL is designed to protect users of the software, not developers of the software.