I took an SVG image from a set which is distributed under GPL-3.0 and used it as (a large) part of an icon I made to a software of mine, which is also distributed under GPL-3.0. So far, everything is fine, I suppose. I am, however, intending to distribute this icon I made (together with my whole software) as a PNG image, for it is smaller and I'm not used to Create SVG images. Is redistributing this altered version of the SVG image as a PNG an infringement of the following GPL-3.0's excerpt:

if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.`

given that an SVG, like a script, comes with the "source code", as it IS the very source code itself, while a PNG "hides" this, being binary non-readable data?

  • 1
    Interesting question. People edit PNG files all the time so it might count as Source Code according to GPL's text. GPL seem to assume, implictly, that only one form is the "preferred to make modifications", yet when you go outside programming this may not be true. In the case of images lots of people might prefer PNG over SVG due to tools or other factors so the PNG may count as Source Code. – Bakuriu Aug 28 '19 at 19:01
  • 1
    A PNG file in any resolution can be generated from the SVG file. Therefore the SVG file is the preferred form for modification, and therefore the form which you should supply in your GPL-compliant distribution (possibly in addition to a PNG version for convenience). Based on your description in this post, you are also treating the SVG file as the preferred form for editing. You could also supply a script which generates the PNG based on the SVG. – Brandin Aug 29 '19 at 9:29
  • @Brandin I don't think that that is relevant. Plenty of tools do not handle SVGs yet you may want to use those because the modifications you do are handled better there. So for person A png is the preferred modification format, while person B prefers SVG.The GPL assumes that all people in the world agree about what is the "preferred modification format" yet I'd disagree with that assumption in the case of images. Some people might prefer SVGs, but plenty of others wont. So there is no single preferred format where anybody can agree... so either no source code exists or both are source code – Bakuriu Aug 29 '19 at 19:08
  • 1
    @Bakuriu I didn't mean SVG is a universal preferred form. But in this particular case, based on the description, the SVG files are the preferred form for editing. In another context, Adobe Photoshop files could be the preferred form, or some other format. But the "exported" file that you create based on the preferred form is no longer the preferred form (i.e. it is no longer the source). – Brandin Aug 29 '19 at 20:03

The clear question is what constitutes the "source code" of an image in PNG format. Since such images can be modified, it could sensibly be argued that they are already in source code form, and no other form need be distributed with the. Since at least some people find an image in SVG form easier to modify, it could be argued that that form is the "source code", and must be included with any distribution, or offered.

If the OP does the modifications in SVG format, and only then converts to SVG format, that suggests that the SVG format serves as the source code.

I could not find any case law on this point, one way or the other.

It would probably be safer to provide an SVG form along with the PNG form of the logo. Clearly that would be in compliance with the GPL. Howe much extra trouble and expense, if any, it would require, the OP would have to judge. I think that a suit demanding an SVG form would be unlikely.


I don't suppose the logo would be "a program" in that case. I would assume almost all original PNG logos found in GPLv3 software have been created in editors that have features that are non-recoverable from the logo after it's been exported as PNG (for example, layers and paths in GIMP or Photoshop) and releasing that PNG alongside a program under GPLv3 won't violate it.


From a technical point of view, you can add additional data to any .png file. So you could add a TEXT chunk containing the GPL license, and an SVG chunk containing the original SVG image. You should look for example at the Wikipedia page how to do this (both would be marked as non-standard items because they are not part of the PNG standard, ancillary items because the PNG file can be opened and displayed without the software understanding these changes, and "safe to copy" because they can be copied safely by software that doesn't understand them. So if I modified your PNG image, my editor should leave all this information intact.)

Now it is up to you to decide if you have done your duty from a moral point of view, if you can be successfully sued for copyright infringement, and if you are likely to be sued (important because being sued is costly and inconvenient, even if you win the case).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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