logoalt Hacker News

RobotToasteryesterday at 11:05 PM1 replyview on HN

Prusa have their own ongoing GPL violation https://consumerrights.wiki/w/Prusa_Research


Replies

qiqitoritoday at 12:19 AM

I think it's a bit iffy to argue that the bootloader code is covered by the GPLv3. In programs for standard computers running a big OS, the distinction lies in whether you are linking a library into your program. If the GPL code isn't a library but an external program, it isn't linking, and OK by the GPL. Now on to the bootloader code: in order to flash your device you have to put everything into a single image file. I guess the claim is that this process constitutes linking. But I don't think that is how most people think. Some possible arguments:

When linking, symbols pointing to addresses are involved. The main program calls functions in the library, and you end up with a whole program. On the other hand, a bootloader just does its thing and then jumps to a fixed address in the main program. The main program doesn't call anything in the bootloader. (Note, the Linux kernel has a special clause that explicitly allows the userland to programmatically interface with the kernel.)

I realize this sort of depends on the microcontroller toolchain. I'm familiar with a few, but not much with STM32 stuff. If the toolchain is dumb and implements the bootloader in a way that resembles linking, i.e. making it possible to resolve all the symbols in the bootloader from the main program then it could very well make the bootloader subject to the GPL.

show 1 reply