GPL for JS libraries (Was: Re: Redefining GPL?)

Chuck Swiger 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:
>
> Even if you argue that a JavaScript file is not really a program, it
> certainly falls under the description, "...or other work..." in
> section 0 which defines "Program".

A single JavaScript file might possibly constitute the source code to  
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  
>> found."
>>
>> 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  
Program, if the original author of single GPL'ed JavaScript file  
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:

   http://cvs.savannah.gnu.org/viewcvs/make/?root=make
   http://sourceware.org/cgi-bin/cvsweb.cgi/src/readline/?cvsroot=src

These interfaces allow one to download a specific GPL-licensed file  
without actually downloading the text of the GPL, for example:

   http://cvs.savannah.gnu.org/viewcvs/*checkout*/make/main.c? 
rev=1.223&root=make
   http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/readline/ 
readline.c?rev=1.8.10.1&cvsroot=src

Does the ability to download these files without the license text  
constitute a GPL violation by the FSF and Sourceware/Red Hat?  :-)

-- 
-Chuck




More information about the License-discuss mailing list