I've programmed some software that i wish to sell. BUT i want to sell it "complete" by which i mean as a complete image to be written onto a SD Card (for Raspberry Pi). This means that with my software i will provide a Linux distro, and some software packages along with that distro. That Linux runs under the GPLv2 license and so does the software and this is where i get confused.

As from what i can tell in the GPLv2 License it is written that i will have to provide the source code to the software that is under the GPLv2 license. But what does this mean exactly? Do i not already do this by providing the software with my own? Or is it something I'll have to find on a Gitpage or so, and basically zip down and like place in the root of the file system in the image it self?

1 Answer 1


If your own software includes software covered by the GPLv2 (for example by copying source code, or by linking dynamically) then your own software is also covered by the GPLv2, and you will have to provide the source code. This is called a "work based on the Program" on the GPLv2.

In this case, however, it seems that your own software does not include software covered by the GPLv2, but you want to put it onto an SD card together with software covered by the GPLv2. That would most likely fall under "mere aggregation of another work", as long as your software and the other software do not interact very closely (such as dynamic linking).

To quote the GPLv2:

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

So in that case the GPLv2 does not cover your program. You will still have to supply the source code for the GPLv2 software on the SD card. This is covered by section 3 of the GPLv2. Basically, you have two options:

  • send along the complete source code for all the software (would be quite bothersome for a complete distro)
  • or provide a written offer to provide the source code on demand to anyone who asks (you may charge for this, but only to cover your cost)

GPLv2 contains a third option, but that only applies to non-commercial distribution.

Practically speaking, it should be enough to include a README.txt or similar explaining that the SD card contains software covered by GPLv2, and that you will provide the source code on demand for a certain, reasonable fee (say $5 or $10 per CD).

In practice, it is unlikely that anyone would ask for this, as the source code can usually be downloaded for free elsewhere, but if someone does ask, you just charge them $5 and send a CD.

Of course, to reduce legal risks it may be prudent to contact a lawyer for your jurisdiction, as this is only general advice.

  • Thanks for a good explanation of this. Havent found anything like your explanation elsewhere! I will surely contact a lawyer just to make sure, but you pointed me in a direction now that i can work with :-) Commented Apr 29, 2016 at 14:22
  • 2
    Adding the sourcecode on the SD card has the huge advantage that in two years time, where you might have no interest anymore in the whole software, nobody has any right to demand anything from you.
    – gnasher729
    Commented May 1, 2016 at 15:32
  • 1
    But the Linux distro in it self, i cant seem to find any source code for. What should i do then? And should i only provide the source code for the packages i include other than the ones included in the linux distro?I suppose the included packages source code would be included if i found the source code for the linux distro it self. Commented May 4, 2016 at 22:16
  • You should take a Linux distribution from a commercial distributor. In that case, if you ship the complete, unmodified, Linux distribution, their promise to provide source code is enough.
    – gnasher729
    Commented Jul 19, 2022 at 16:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .