4 ms·
It 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, sa
by Robin_Message 11y ago
It 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.