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

Chuck Swiger chuck at
Thu Nov 30 22:58:49 UTC 2006

On Nov 30, 2006, at 1:45 PM, Arnoud Engelfriet wrote:
> Chuck Swiger wrote:
>> There exists a vast amount of source code under the GPL.  The normal
>> practice is to provide the text of the GPL in a separate file called
>> "LICENSE", and for each file consisting of source code to have a
>> copyright statement in a comment at the beginning of the file, and a
>> reference to the license status which says the code is under the GPL,
>> and to please read the "LICENSE" file.
> 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:

"  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program."

...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).

> Putting a file called LICENSE in the tarball achieves that.
> Make the tarball available for download, and people get source
> along with the license.
> But when you make a .js file available for download, how do
> you pass the license on _along with_ that .js file?
> 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.

Further on, there is this:

"If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
[ ... ]
The hypothetical commands `show w' and `show c' should show the  
parts of the General Public License.  Of course, the commands you use  
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program."

This implies that the web site might well provide a clickable link  
upon entry to the site which references the GPL and from which the  
user can follow to obtain the text of the General Public License, not  
only as a comment within a .js file.

I also note that under section 2c, if the original version of the  
software "does not normally print such an announcement", then "your  
work based on the Program is not required to print an announcement."


More information about the License-discuss mailing list