Exactly. I contribute code to GPL-licensed projects, and I don't want the users of my code to be unable to fix it; it's simply not fair to distribute software that the end-users are not allowed to tweak and improve. When you distribute software on the App Store, the users get the changes I made, but I never get the chance to get changes that they would have made. Hence, a license that prohibits this unfairness is necessary, and the GPL fits the bill.
Don't get me wrong, I am fine with software that is BSD- or MIT- licensed. But I think for the best culture of contribution and sharing, you need to clearly set your expectations in the form of a license, and the GPL does exactly that.
If Apple wants the world of GPL'd code to be available on their devices, the solution is simple -- allow side-loading.
Why are people that purchase/download your GPL app not able to get the code or share changes? All one must do is provide a method for the client to get the code through whatever means. The section deals with third party distribution of binaries and obtaining the source code from the author indirectly. There is nothing stopping one from getting hold of the SDK and compiling the code you have distributed and installing it - they don't even need a developers account. They can't distribute it without paying Apple the developer's fee and submitting it to the app store, at which point it might be considered duplicate functionality, but, that is a separate argument.
Additionally, a client that changes your app is not required to send you the changes back unless s/he distributes it. Modifying it for his/her own purposes doesn't mean you are entitled to a copy of their changes.
Well, actually you do need to have a developer account to install builds on any iOS device. The 99$ fee is necessesary even for installs on your own device.
I guess they have their reasons for not just opening up provisioning for everybody, although doing that would sure help them win over the open source crowd (not that they really care about that in any way).
Don't get me wrong, I am fine with software that is BSD- or MIT- licensed. But I think for the best culture of contribution and sharing, you need to clearly set your expectations in the form of a license, and the GPL does exactly that.
If Apple wants the world of GPL'd code to be available on their devices, the solution is simple -- allow side-loading.