I have an embedded device that runs Linux among other software licensed by the GNU GPL. The manufacturer never released any GPL code, and I plan to demand that from them tomorrow. My question is, do they just have to give me the code licensed under the GPL, or, given how one of my basic freedoms is to modify GPL-licensed software, do they have to give me a way to flash my modifications? (The device has a connection with my PC and if you have code implementing the protocol you can send commands to the Linux system over this connection.)

Note that I'm asking another question about this body of code here.

  • 3
    1. Is the software licensed under the GPL v2 or GPL v3? The difference probably matters in this case. 2. Did the manufacturer provide a Written Offer of source code included somewhere with the written materials with the device? Check the manuals and documentation first.
    – Brandin
    Sep 24, 2018 at 5:43
  • @Brandin There is definitely software licensed under the GPL v2, there might be software licensed under v3 (I only have access to an incremental update file and that only contains evidence of software licensed under v2).
    – Billy
    Sep 24, 2018 at 11:47
  • 2
    If it is GPLv3, they are required to give you the "Installation Information" (the information needed to install it, such as keys, etc.). For GPLv2 there is no such requirement, so they only have to give you the code.
    – Brandin
    Sep 24, 2018 at 12:05
  • 1
    The GPL v2 applies to any software offered under that license, while the GPL v3 applies to any software offered under that license. The GPL v3 also makes an additional requirement that "User Products" that are modifiable in software are accompanied with "Installation Information" to allow you to install modified versions. See: Is an 'un-modifiable' linux a violation of GPLv2?. In your scenario this depends on what software, if any, is GPL v3 licensed.
    – Brandin
    Sep 24, 2018 at 12:17
  • 1
    @Brandin since the OP is happy with that answer, do you want to write it up as one, so (s)he can accept it? I'd upvote it, by the way.
    – MadHatter
    Sep 24, 2018 at 12:28

2 Answers 2


It turns out the ability to disallow modifications is very specific to the GPL 2.0 due to a drafting error.

If even a single component is GPL 3.0 (direct clause) or even LGPL 2.0 (linkage clause) they must provide the minimal ability to modify the firmware. This doesn't mean they need to provide a good way to do it. It's almost certain that the way to do it is going to be package new root FS image and flash EEPROM or flash ROM with new contents.

Both of these licenses require the scripts to build and link, but only if such scripts actually existed. If they really did build everything by hand than that's what you get to do too.


If this device runs Linux, it's certainly licensed under GPL v2. This means you will receive at least the source code for the kernel, as well as open-source drivers and userland tools they have modified. In practice, you will often receive the source code for all open-source components regardless of modification status, as well as scripts to build the kernel and the file system. Check out this page dedicated to Linux-based media players to get an idea of what to expect.

What you shouldn't expect is to get all the data required to to build a bootable firmware. You mentioned it a comment that some of the components were licensed under GPL v2+. That means the manufacturer, not the user, gets to pick which license to apply, since they are the one who release the new code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.