This is about consequences of html files being under GPL license (v2 or v3). I am aware that it is not recommended to apply the GPL license to documentation. However, a typical use case is that a blog or technical documentation contains significant amounts of program code (snippets, examples, cited comments) from a GPL-covered project. I am further aware that these use cases are mostly covered by fair use principle. This is about the cases that are beyond fair use principle. It is about being legally as safe as possible if in doubt. It is about the legal situation that remains robust beyond fair use principle and good will.
My questions:
Am I correct to assume that if fair use does not apply, one has to consider the html file a derived work of the source files of the used program code? In that case I wonder how some concepts from the GPL license apply to html (see following questions).
What patterns in an html file are considered static or dynamic linking as referred to in the GPL license?
- hyperlinks? (I believe not)
- linked content visible on the rendered page like images, etc?
- linked Javascript? (I believe, only if executed)
- linked css?
- content in an iframe?
- GPL'ed html injected via Javascript DOM manipulation by a non-GPL'ed Javascript?
I would believe that there is no static linking in html at all; it would be similar to copy/pasting the content into the html and is therefore not distinguishable from a combined derived work. But I suspect some of the mentioned patterns might be considered dynamic linking. Or is static/dynamic linking a concept inherent to programming languages and does not apply to html at all? However, one might consider html a programming language that programs the browser to render a certain page. I assume that depending on what is considered dynamic linking, permits from LGPL would apply.
- Is serving the page considered distribution? I believe "yes". Then, what obligation would one have to make the source code available, given that html is already its own source (assume no obfuscation is used)?
3a) Would one have the obligation to make the original program source code available from which code samples were taken? That might significantly increase the required webspace.
3b) I suspect that just serving the pages might not be considered sufficiently user friendly to access sources, especially if the content is spread over multiple pages. Would one have to offer a compact download option for the whole site (e.g. as a zip file)? Or would it be okay to do nothing at all beyond just normally serving the pages?
Would the GPL license require all other content on the page to be GPL-compatible? (This has some overlap with question 2). Depending on how question 2 is answered, linked non-GPL content on a GPL html page might be subject to the terms discussed in https://www.GPL.org/licenses/gpl-faq.html#GPLIncompatibleLibs. E.g. an overall blog logo could be a trademark and therefore be hardly feasible to be put under GPL. Also css might have trademark character. Also ads are likely infeasible to be required GPL-conformal. Wouldn't this imply that ads are impossible on the same page with GPL-covered content?
How would the concept of an "aggregate" https://www.GPL.org/licenses/gpl-faq.html#MereAggregation apply to websites? I believe that this would depend on the content semantics. Multiple html pages that belong to the same article would be considered one program while separate articles on separate pages are like separate programs. In terms of question 3 one would have to provide source downloads (e.g. as .zip if the article consists of multiple pages or files) only for articles containing GPL-licensed code?
I would like this topic to focus on client-side technology to keep it separate from AGPL questions. Let's assume
- that pages are not generated from (GPL-licensed) PHP code or (GPL-licensed) html templates.
- there are just some html files, css files, images, Javascript files stored on and served from some standard webserver (assume Apache if that should be relevant).
- that no obfuscation is used, i.e. all html and Javascript files can be considered to be their own source code.
- no GPL-licensed Javascript is functionally used by the page (the page may however contain code snippets/examples/comments from such a Javascript). The focus here is on GPL'ed html. Maybe Javascript answers apply to some extend; I don't know.
Please excuse if I overlooked duplicates of this question during my previous search. I found some answers about GPL'ed Javascript but I am not sure how far they can be applied to GPL'ed html.
Edit: After some more thought and after seing that this question is not so trivial, I think it is would be good to know fundamentally whether html (without Javascript) is considered a program in GPL terms. Because if it is no program, no rules for statically or dynamically linking it as a library can apply, right? So far, I only found some opinions on this, e.g. on reddit. Consent seems to be that html is a document in nature, not a program.
- Does someone know evidence that pure html is not considered a program in GPL terms? Same with css?