Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not a problem. Many microcontrollers with GPLv3 licensed firmware has been shipped with perfect GPL-compliance.

Tivoization is only defined as "They can modify or execute arbitrary code, you cannot." If neither they or you can modify the end product due to technical reasons, it's not Tivoization. FSF said:

> Tivoization: Some companies have created various different kinds of devices that run GPLed software, and then rigged the hardware so that they can change the software that’s running, but you cannot. If a device can run arbitrary software, it’s a general-purpose computer, and its owner should control what it does. When a device thwarts you from doing that, we call that tivoization.

The anti-tivoization clause basically says "the necessary technical information and data (Installation Information) must be provided to the user, so that the user can run whatever software they want, just like the developer can", for example, if firmware update is supported, the protocol must be documented and provided to the users. If signature check is used, there must be a way to get a key or bypass it. However, if nobody can modify the system in its final form (e.g. if the firmware is in OTP ROM, if the JTAG interface has been permanently disabled), it's not Tivoization, no action is needed. Arguably, when you disable EEPROM write via an one-time fuse, it ceases to be a general-purpose computer at that moment.

Thus, you can still create a product that has been completely locked down, if it has been really locked down with no backdoor to ever be unlocked again.

GPL says,

> Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

> 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 (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: