Some people (Linus Torvalds is a notable example) think that GPLv3's provisions that forbid things like locked down hardware are too much. They would rather be "permissive" and allow hardware that restricts what the user can do with it.
What good is modifiable software if the hardware will refuse to run software if it's modified? Tell me, Mr Anderson, what good is a phone call when you are unable to speak?
Note that while GPLv3 prohibits Tivoization, that is only one way to lock down hardware. For instance, the locked apps model of iPhone is OK under the GPLv3 (GPLv3 is incompatible with the App Store, but that has nothing whatsoever to do with the locked hardware. That's due to the TOS for the App Store requiring the user agree to not reverse engineer and not redistribute apps they obtain from the store).
The anti-Tivoization clauses are not as strong as most casual readers of GPLv3 seem to think they are. In particular, they only apply if "you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term".
A "User Product" is "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
So, as long as you keep GPLv3 code out of the firmware, OS, and bundled applications that ship when you sell your hardware to the customer, you can lock down the hardware and still provide add-on software that is GPLv3.
Can you explain in more detail why you think trying to distribute a GPLv3 app on the App Store wouldn't run afoul of the terms you quoted:
> you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term
Is it because you see this as meaning that downloading from the App Store at a later time doesn't qualify as "occur[ing] as part of a transaction [that transfers possession/use of the device]", and that the binaries have to be present at the time the iPhone is purchased for these terms to have any effect?
Have you raised this issue with the FSF? Have you gotten any sort of response?
Yes, it is because those terms only apply to conveyances that occur as part of a transaction in which the right of possession of the User Product is transferred.
Note that the GPLv3 defines "User Product" as "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".
The iPhone is the "User Product". This can further be seen by considering the definition of "Installation Information": “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source.
In short, the User Product is the thing you install the covered work (the GPLv3'd thing) on and run it on, which for an App Store would be the iPhone or iPad. Unless GPLv3 is not using "possession" and/or "transaction" in their normal meanings, there is no way to characterize purchasing and downloading an app from the App Store as being a transaction in which the right of possession of the iPhone is transferred. Since no definitions of possession or transaction are given in the license, we can assume their normal meaning.
I haven't raised this issue with the FSF because I don't see it as an issue. They are the ones that specifically put in the limitation that Tivoization only occurs for GPLv3 object code conveyed as part of a transaction where the right of possession of the User Product is transferred to the person receiving the object code. In general, considering how much time they spent on drafting this thing, I generally assume it means what it says and it says what they intended.
If they somehow botched the drafting and that is not what they meant, it doesn't really matter anyway because if it ends up in court and the parties disagree on how they interpret those parts, the court will go with what it says, not what the drafter claims they meant. So, my general policy (with all licenses, not just GPL) is to go with what they say, unless they are too ambiguous and then I avoid the covered software. (Actually, before I get to that point I first see if I can limit my use of the work to only those uses that do not require the permission of the copyright holder. If I can limit me needs thusly then I can ignore the license).
> What good is modifiable software if the hardware will refuse to run software if it's modified?
You are free to build your own hardware.
GPLv2 ensure software is open, you use GPLv2 software, you ensure the software stay open.
It does not try to control other things outside what it gives. "Use my software? Make your hardware open. Use my software? Make your customer service open." No. It's simply "Use my software? Make your software open"
The reasoning behind most things is selfish. Even Richard Stallman is subject to this; his motivation for the free software movement was when a colleague wouldn't share software changes that Stallman wanted/needed for his own use.
That said, the specific objection of Linux to the GPLv3 is twofold:
* There are thousands (if not millions) of contributors that would need to be contacted and would need to give consent to such a licensing change. I imagine some of those contributors might even be dead, and given the currently-draconian copyright laws of many nations (particularly the United States), this means that relicensing is that much more difficult.
* The GPLv3 would be a very hard hit for a lot of users of Linux in the embedded space, where a large number of "Things" in the "Internet of Things" aren't exactly designed to be field-programmable. The anti-TiVoization wording in the GPLv3 would cause a lot of pain there.
What good is modifiable software if the hardware will refuse to run software if it's modified? Tell me, Mr Anderson, what good is a phone call when you are unable to speak?