Reading this GPL FAQ item on non-software works:

You can apply the GPL to any kind of work, as long as it is clear what constitutes the “source code” for the work.

It says that it must be "clear what constitutes 'source code' for the work," so how do you go about clearly defining "source code" for work that is not purely software; work that is a mix of text and images served on a website?

I'm trying to avoid Creative-Commons.

Edit I've read the post recommended in comments even before posting this question. It goes to explain the difference between "source code" and "object code". It does not answer my question of how to change or set a new definition for the terms "source code" and "object code" of the GPL.

  • I know that the Google Material Design Icons are licensed under the Apache 2.0 license. You could look there for some inspiration. But why are you trying to avoid the Creative Commons licenses? They are designed precisely for that purpose.
    – Zizouz212
    Aug 3, 2017 at 5:47
  • Creative Commons are to a degree compatible with the GPL, but they are not recommended for software. Since my work will reside in a website (technically a software) and this gnu.org/licenses/gpl-faq.en.html#WMS I'm looking for something to cover that aspect as well as non-software work. Seeing that the GPL allows it, I'd like to know examples on how to define these terms : "source code", "preferred form", and "object code" to describe text, images, or any other media types
    – Jonas
    Aug 3, 2017 at 6:03
  • 1
  • 1
    So, your question is actually "If I license my work under the GPL, how do I specify 'source code' to mean something different than what the terms of GPL require 'source code' to mean?" Is that correct?
    – apsillers
    Aug 4, 2017 at 11:27
  • 2
    If you don't want to use the license as intended then you shouldn't use it! Aug 4, 2017 at 14:57

1 Answer 1


I think you may be confused by the "as long as it is clear" langauge of that FAQ item. The FAQ item isn't saying that you must make it clear what the source form of a work is, but rather it is saying that there should be a naturally obvious source form of the work. The GNU GPL defines "source code" in its definitions:

The "source code" for a work means the preferred form of the work for making modifications to it.

You are free to clarify what you believe to be the source form of a work, but you might be incorrect. If you said "These compiled *.o object files are the source form of my executable, since they can be linked to form my executable" that would be wrong -- the source form of your executable is the original source written in a human-readable programming language. The object files are not the preferred from for making modifications.

In your webpage case, since raw HTML is the preferred form for making modifications to a webpage, the webpage is its own source. (This is similarly true for most software written in interpreted languages.) If a downstream distributor obfuscates the readability of the page's HTML (e.g., for compression) then the GPL's source code requirement requires the distributor to make the unobfuscated version of the HTML available to everyone who receives that obfuscated version.

If you are thinking about a complete web application with server-side code, you must understand that the GPL does not place requirements on works that are not distributed. If users receive a GPL-licensed webpage in HTML, and that webpage happens to interact with a network service, there is no GPL requirement to share the code of the network service. (The Affero GPL (AGPL) is a license that does impose such a requirement.)

If you want to apply a different meaning for "source code" than the one that the GPL already supplies, you can make a modified version of the GPL, though you should not do this without a very good reason (since it will be likely incompatible with the GPL) and you should seek the advice of a lawyer (since otherwise you may draft a license that has unintentional effects or unenforceable requirements). You could also create a GPL exception to the effect of "When you distribute this work in object form, instead of sharing the source code (e.g., preferred form for modifications) as normally required in section 6, you may instead share [something else]." I am unsure why anyone would want to do this, since such an exception undermines the primary distinguishing feature of the GPL and strongly suggests you really are not really interested in using the GPL at all.

  • I appreciate the time you took to write that. There's useful information in your answer but sadly for me it misses the point of my question. I've come to understand that a website's content and building blocks(infrastructure) are two separate works. I could dual-license the content under CC BY-SA then have the website software and any source code I may release there under a GPL/AGPL. I don't want to go that route if I can cover everything by GPL. If I only had text on my webpage I probably wouldn't need to redefine anything, but I have images, videos, spreadsheets, etc.
    – Jonas
    Aug 4, 2017 at 14:56
  • @jonas For user-supplied content of a website, the GPL might not be the most suitable license. The users would effectively be required to provide the "source" along with their contribution. Aug 4, 2017 at 17:00
  • @BartvanIngenSchenau For the time being user generated data is not within the scope of my question.
    – Jonas
    Aug 4, 2017 at 22:48

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.