3 ms·
I'm not sure how this is premature. The reason the practice is called tivoization is because we went through all this years ago when Tivo did it. The FSF ackn
by dtparr 11y ago
I'm not sure how this is premature. The reason the practice is called tivoization is because we went through all this years ago when Tivo did it. The FSF acknowledges that releasing the source but locking you out from installing your self-built version of it does comply with the GPL2, which is why there's a GPL3.
See https://www.gnu.org/licenses/gpl-faq.html#Tivoization https://www.gnu.org/licenses/gpl-faq.html#Tivoization
- mindslight 11y agoIMHO, poor wording in a FAQ by the FSF. The company considers themselves complying with the GPL2 by releasing a scrubbed tree. The FSF looks the other way, having limited resources. I'm having a hard time digging it up, but I swore I have seen a video where RMS lays out the exact same theory I'm saying here. It's not a terribly outlandish theory. I'm just getting a lot of flak for bucking the status quo from people who grew up with DRM kool aid and see Free software in terms of the corporations that lock it down.
- dtparr 11y agoSo, I don't think people have 'drunk the DRM kool aid' so much as everyone has generally agreed for the last decade or so that GPLv2 doesn't prevent tivoization and GPLv3 does. That everyone includes RMS, by the way. Here's a transcript[0] from 2006 where he's talking about it and says: >For instance, the Tivo itself is the prototype of tivoisation. The Tivo contains a small GNU/Linux operating system, thus, several programs under the GNU GPL. And, as far as I know, the Tivo company does obey GPL version 2. They provide the users with source code and the users can then modify it and compile it and then install it in the Tivo. That's where the trouble begins because the Tivo will not run modified versions, the Tivo contains hardware designed to detect that the software has been changed and shuts down. So, regardless of the details of your modification, your modified version will not run in your Tivo. So while you may be correct that it's never been litigated, it would seem that if the strongest software freedom advocates like RMS and the FSF thought that it did violate GPLv2, surely rather than telling people they should upgrade to V3 because it blocks tivoization [1], they would have just litigated against tivo and set the precedent. [0] http://fsfe.org/campaigns/gplv3/tokyo-rms-transcript#tivoisation http://fsfe.org/campaigns/gplv3/tokyo-rms-transcript#tivoisa... [1] https://www.gnu.org/licenses/rms-why-gplv3.html https://www.gnu.org/licenses/rms-why-gplv3.html
- mindslight 11y agoI'm not one to change my mind just because "everybody" believes something. RMS was likely wrong about at least one thing in that clip - I would think signature checking, especially an early incarnation of it, would be done by the bootloader (ie software/firmware) rather than a specific piece of hardware. This could be minor (thinking of embedded firmware as hardware isn't wrong in the freedom sense), or that framework could have misguided his thinking. He didn't use a specific term for the compiled source code, only "it". The GPL2 speaks in terms of "executable", but an unsigned or missigned binary is not actually executable. The "executable" would consist of the machine code and header, which would necessarily include a correct signature to be "executable".
- Robin_Message 11y agoIt is executable - just not on the device it was supplied with. But you could quite legitimately run it on some other device or an emulator. For comparison, say you had some GPL software which checked in with a dongle or license server, and refused to run if there was no license/dongle. Then you'd be within your rights to edit it to remove the license check. But here, the device itself refuses to load the program because it isn't blessed. Consider another implementation: in the factory, the hash of the GPL firmware is burnt into a ROM, and the bootloader checks that before running the code. Clearly you can build a modified executable, and you still can't run it on the device. But crucially, there is no header that you're missing; the device just can't run that exe. Or suppose the modified executable is too big to fit in memory - are they obliged to come upgrade the device? The point is, the license covers the software, not the loading of that software. IANAL, while this may appear against the spirit of the license, it's hard to see how the license prohibits it. The existence of GPLv3 implies the FSF thinks so too. To put it bluntly: an ought does not imply an is.
- mindslight 11y agoThe license itself doesn't explicitly "prohibit" your roundabout contraption that's been designed solely to defeat the license. But this is exactly the type of sham that courts tends to see through. Please find me any real-world device that actually has a symmetric checksum burnt into OTP or mask _ROM_ while the code itself resides in flash.