Skip to content

Comment on Relicensing Dolphin: The long road to GPLv2+parent

Comments

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).

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.