GPL for JS libraries (Was: Re: Redefining GPL?)
chuck at codefab.com
Fri Dec 1 01:02:19 UTC 2006
On Nov 30, 2006, at 3:47 PM, Ben Tilly wrote:
>> > Right. The specific problem here is that the GPL insists that
>> > the license must be passed on *along with* the source code.
>> The precise language is "along with the Program", not "along with
>> each individual source code file", as in:
> certainly falls under the description, "...or other work..." in
> section 0 which defines "Program".
an entire web-based program, just as a single main.c file (without
any #includes) might constitute the source code for an entire
program. However, such cases are extremely rare and all (or almost
all) non-trivial programs consist of many source code files, and
include external resources by reference.
There is no question that a portion of a program under the GPL is
covered by the terms of section 0, which we've both quoted:
[ ... ]
>> ...where the term "Program" includes "...any derivative work under
>> copyright law: that is to say, a work containing the Program or a
>> portion of it..." (from section 0).
...perhaps except for sufficiently small excerpts that are quoted for
the sake of research, education, are not big enough to merit
copyright protection (ie, the context quoted in a diff to make a patch).
>>> A literal reading suggests that you then do have to copy&paste
>>> the text into the file. This will often be impractical, so
>>> it might be considered reasonable to just hyperlink to the license.
>> The suggestions for using the GPL state that:
>> "To do so, attach the following notices to the program. It is safest
>> to attach them to the start of each source file to most effectively
>> convey the exclusion of warranty; and each file should have at least
>> the "copyright" line and a pointer to where the full notice is
>> In the case of a .js file downloaded as a component of a web-based
>> application (ie, a set of HTML, .js, images, and other resources
>> which comprise the web site), a hyperlink to the full notice seems to
>> be fully in compliance with the method the GPL text recommends for
>> using the General Public License.
> The License has not been distributed along with the Program.
In the overwhelming majority of cases, the "Program" or web
application the user is running consists of hundreds or even
thousands of resources all downloaded via the HTTP protocol by
recursively following hyperlink references as the user navigates
through the site.
If the GPL'ed components of the site all include a hyperlink to an
instance of the GPL text, and the actual site navigation exposed to
the user (ie, the left-hand or top nav bar, or an "About" page, or a
footnote at the bottom providing a link, and not just not in comments
in the HTML or JS source code), then I believe that the GPL has
indeed been distributed along with the Program.
In the exceptional case of a single resource constituting an entire
includes a mechanism to display or link to the GPL, anyone else using
this software on their own website would be obliged to preserve that
mechanism; or not, by section 2c, if the original version did not.
And in this particular case, I would expect one to include the whole
of the GPL text into this single .js file, but not otherwise.
If this is unclear, let's consider the CVSWeb interface offered by
the FSF itself or various Linux distributions, for example:
These interfaces allow one to download a specific GPL-licensed file
without actually downloading the text of the GPL, for example:
Does the ability to download these files without the license text
constitute a GPL violation by the FSF and Sourceware/Red Hat? :-)
More information about the License-discuss