Re: Illustrating JVM bindings
"Grzegorz B. Prokopski" <email@example.com> writes:
> These facilities include class loading, class instantiation,
> synchronization, garbage collection (ie. you can trigger GC from within
> your program), reflection (ie. you can ask VM "what are methods that
> this class have?").
Those are features of the interpreter. The fact that the interpreter
happens to be written in C as well as in Java doesn't matter here.
This is what I meant about you leaning too much on your knowledge of
how JVMs tend to be built. But everything you've listed here is an
accident of the implementation of the JVM.
> It is not possible to have a JVM w/o these facilities.
> Now, the FAQ says:
> "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."
What the FAQ is talking about is, for example, using JNI to access
GNU Readline or GMP from a Java program using JNI. That is, it's
pointing out that if you want to use the GPL'd Readline library, your
application program must be distributed under the terms of the GPL.
I'm not convinced the JVM does, but I suspect it's the case without
the OS exception (which, of course, Debian can't use).
Brian Sniffen firstname.lastname@example.org