httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Hudson <>
Subject Re: FYI: Current hacking: mod_js (JavaScript module)
Date Thu, 28 May 1998 22:55:39 GMT
According to Jeremie Miller:
> I have almost no doubt that anyone from mod_javascript('cept for maybe the 
> ppl :) is going to have a problem with using the NGS 
> interpreter, if it does most of the JS spec that is.

    There is a *major* problem with the NGS interpreter - it is under the GPL
and as such is incompatible with other licenses. 

    For those who haven't caught up with things - read the GPL - it is not 
possible to have a GPLd apache module. 

    This is an issue that Richard Stallman has been tackling recently
to point out that having stuff in libraries or modules and linking either
statically or dynamically is not permitted if the thing calling is not the
actual OS itself or not under the GPL as well. A quick overview is 
the GPL says that the combination, as a whole, has to be distributed under 
the GPL. You cannot mix GPL and non-GPL code in a package by linking the 
two together or dynamically loading one unless the non-GPL stuff is provided 
by the operating system (the only exception where GPL and non-GPL code can 
interact). The LGPL however is a different beast and more suited to modules
if you feel the need to follow the GPL "philosophy".

    The NGS code has some interesting stuff in it like malloc that exits if
they fail and it does come with a lot more built into the language that 
JSREF itself has (which is kept to basically not being able to interface
with anything 'system' like - on the grounds that it is the reference 
implementation and such things are environment specific - at least that is
why I think it is that way). There are both positive and negatives about
this approach.

    I do like the compiler written in javascript in the NGC package - that
is a clever way of doing things and the test scripts that ship and the 
documentation are in good shape. Also the compiled version of the compiler
being included in the intepreter source is a nice move.

    Having an interpreter that is designed to be embedded in other 
applications under the standard GPL limits it to being used only in 
packages that themselves are under the GPL. This is a shame as it 
seriously reduces the areas in which the code can be used unless you
are one of those that don't read and follow the licenses for code that
you use.

    Also note:
	"This implementation is not 100% compatible with the JavaScript
	language, found from the Netscape's WWW browsers and servers."


View raw message