[Mono-list] the run-time system and the GPL

Andy Tai atai@atai.org
Wed, 11 Jul 2001 14:26:15 -0700 (PDT)

It is Ok to license the run-time system (the virtual
machine, the jit) under the GPL, and that will not
impact the program being interpreted by the run-time
system (like Java byte code on top of a Java VM).

From the GPL FAQ of the Free Software Foundation (



Q: If a programming language interpreter is released
under the GPL, does that mean programs written to be
interpreted by it must be under GPL-compatible

A: When the interpreter just interprets a language,
the answer is no. The interpreted program, to the
interpreter, is just data; a free software license
like the GPL, based on copyright law, cannot limit
what data you use the interpreter on. You can run it
on any data (interpreted program), any way you like,
and there are no requirements about licensing that
data to anyone. 
However, when the interpreter is extended to provide
"bindings" to other facilities (often, but not
necessarily, libraries), the interpreted program is
effectively linked to the facilities it uses through
these bindings. So if these facilities are released
under the GPL, the interpreted program that uses them
must be released in a GPL-compatible way. The JNI or
Java Native Interface is an example of such a
facility; libraries that are accessed in this way are
linked dynamically with the Java programs that call

Another similar and very common case is to provide
libraries with the interpreter which are themselves
interpreted. For instance, Perl comes with many Perl
modules, and a Java implementation comes with many
Java classes. These libraries and the programs that
call them are always dynamically linked together. 

A consequence is that if you choose to use GPL'd Perl
modules or Java classes in your program, you must
release the program in a GPL-compatible way,
regardless of the license used in the Perl or Java
interpreter that the combined Perl or Java program
will run on. 

There may be other reasons to license the run time
system under the GPL with exceptions or the LGPL, but
even if it is GPL, this place no restrictions on the
intepreted program.

Of course, this is a separate issue from the licensing
of the libraries in the intepreted language, which
will be most probably under the LGPL or LGPL with
exceptions (WxWindows) or GPL with exceptions...

Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail