So, I recently released a FOSS software with a GNU/GPLv3 licence and just realized that the software can be used to produce pictures.

I want the pictures to be free (as in freedom) in any case and derivative work. Is a CC-BY-SA appropriate for this use ?

Would that legally oblige derivative of the software to release their pictures in CC-BY-SA ?

How does the attribution part work ? Do users have to cite which software was used to create pictures ?

EDIT : to be clearer, what I wan't is to make the output of the program free (as in freedom) for anyone. What if someone produces a picture and does not allow others to freely share it ?

  • 2
    what do you mean with "can be used to produce pictures"? From null, modifying existing ones? Nov 29 '16 at 11:15
  • 4
    Such a restriction would actually itself violate freedom 0, wouldn't it? Nov 29 '16 at 16:22
  • 1
    @leftaroundabout : not so sure about it, according to the FSF : "The freedom to run the program as you wish, for any purpose". What if someone makes a beautiful picture, use it widely and copyright it as its own work ? I want the output of the software to be free too, does that break freedom of the software ?
    – Kii
    Nov 29 '16 at 16:28
  • 2
    “Does that break freedom of the software?” Yes. Nov 29 '16 at 19:22
  • 8
    All the questions raised in this thread are all answered by the gnu faq, particularly gnu.org/licenses/gpl-faq.en.html#GPLOutput Nov 29 '16 at 20:53

Generally speaking, the output of a program running on input I provide is not a derivative work of the program. It might contain pieces belonging to others (e.g. clipart, canned boilerplate code) that are subject to their own licensing, but the overall work and the pieces derived from my input belong to me.

Why, then, do you suppose that providing a useful tool gives you any moral authority to restrict what other people do with their own property? As @leftaroundabout remarked, that's the opposite of freedom, and I myself find it borderline offensive. It's also specifically contrary to the FSF's view on free software. As you observe, the GPL does not impose a limitation such as you seek, and that's intentional.

If you nevertheless want to pursue what you describe, then the first thing to do is immediately stop distributing your software under the GPL. Any copies distributed under that license are free of the constraint you want, including any that have already been distributed. The GPL does not permit you to make post hoc license changes to copies you've already distributed.

You'll then need to devise your own license that places the restriction you want on licensees, and henceforth distribute the software only under that license. It will be an open question whether the terms pertaining to licensing of the program output would stand up in court if you ever try to enforce them, or what remedy a court would be willing to grant if you prevail in such an effort. Nevertheless, the mere presence of those terms might be enough to mostly achieve your aim.

Personally, if I were considering using software licensed as you describe, the license terms would be a deal killer. I'd sooner accept restrictions on redistributing the program, and maybe even closed source, than I'd accept restrictions on what I can do with the output.


The GPL is attached (usually) to source code, and it cover only distribution, modification and derived code.

Output of a program is in general not covered by GPL, so there is no restriction.

Note: programs could output some code or text from own files. So in this case the output could have additional copyright (and restrictions). Usually such program should choose carefully license for such parts (very liberal).

EDIT: addition taking into account your reply in comment:

Mathematical output is not human generated, so no copyright. If there is not really artistic work on creating files to generate the graphs, I would also assume that there is no copyright.

Labels and numbers are printed (usually) with a copyrighted font. Check that you can distribute it (but it should be the case if you don't explicitly added commercial font).

I would in any case add somewhere that you don't claim copyright on output of your program (note: this is not related to the GPL, so in theory you can claim any license for output, if you think it is enough artistic and human to claim copyright). [Check gcc for an approved disclaimer on outputs]

  • The GPL says "The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work."
    – tbodt
    Nov 30 '16 at 0:10
  • Which is the sense of my first three paragraphs, within the context of this question and without such legalese. Nov 30 '16 at 9:52

If you release your software under a certain license users will have the rights to use the software under that particular license. An image created from some software is most likely not going to be considered a derivative work of the software, so unless you create a new license which is similar to the GPLv3 but with the added exception that any images created with the software are licensed in a particular way they will not be free.

If you want to use GPLv3 for your software, then you get GPLv3. Not GPLv3 + some other stuff.

  • What if I use a Free Licence to distribute image ? Would not that make them free ?
    – Kii
    Nov 29 '16 at 11:54
  • 1
    If you release your software under the terms of the GPLv3 with the additional requirement that any images produced by it are to be "free" you are no longer releasing your software under the GPLv3 since the GPLv3 does not include that requirement. It's a new license that is not the GPLv3. Although I'm sure this is possible as long as you're fine with your software not being GPLv3-licensed. Nov 29 '16 at 11:58
  • Ok, I understand better now. Thanks for your advice.
    – Kii
    Nov 29 '16 at 12:03

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.