Bob Jamison wrote:
Hi, all!
Actually, I wasn't advocating bundling Java with Inkscape, I was just
clarifying
a couple of points. There would be severe problems with supplying Java,
but
they are not license issues.
In my experience there *are* license issues, so this is why I put them
up for debate.
Nicu Buculei wrote:
>
> I see a few problems:
> 1. JVM is *not* free software and can't be packaged by 3-rd party
> distributors;
Actually, yes it can. The -JDK- can't be bundled, but you don't want to
do that anyway.
The -JRE- is free to distribute. Originally, Sun's license required
that end-users be presented
their license to click-thru it, but even that requirement was dropped
years ago.
Ok, here we go again! I learned about this a bit from
OpenOffice.org,
where this debate was very hot some months ago.
http://www.java.com/en/download/license.jsp
"Sun grants you a non-exclusive, non-transferable, limited license
without fees to reproduce and distribute the Software, provided that [...]
(iii) you do not distribute additional software intended to replace any
component(s) of the Software"
So if a distro include any free Java, like gcj or Kaffe is *not* allowed
to distribute the JRE. As a consequence, free distros like Debian and
Fedora used to package a crippled version of
OpenOffice.org, with all
Java functionality disabled at build time (but now Fedora include a
version of OOo built with gcc 4.0 so the Java requirement is covered by
gcj).
The compromise reached for OOo was to continue to use Java but to use
only features existing also in a free implementation.
> 2. regarding the size, JVM is a bigger dependency compared with
either
> Perl and Python;
I agree. It would add 15 MB or so for the JRE.
> 3. on a free desktop you have a bigger chance to already have both
> Perl and Python already installed compared with JVM.
>
I agree with this, too. Such a shame.. If every distro had a good Java
VM, imagine
the potential for Net-empowerment.
considering the advancements in gcj development, there is a good chance
every distro will have a JVM at some point
> Depending of a non-free Java VM would impede the freedom of
Inkscape
> as a whole -
http://www.gnu.org/philosophy/java-trap.html
>
Actually, (again ;-) , you can call the VM without adding a
dependency. Since JDK1.2, the preferred
way of calling the VM from C using the Java Invocation API, is to
dynamically (and explicitly)
load the shared object via dlopen("libname") , or its Win32 equivalent,
then using dlsym(lib, "JNI_CreateJavaVM") , or its Win32 equivalent,
then calling that function
to get a context and VM pointer. That way an application can pick and
choose which VM it wants.
That way, also, there is no link dependency. You might have noticed
that OpenOffice can work with
or without the VM. There is no "can't find shared library 'xxxx'"
error
message.
Install the OOo 2.0 release candidate without a JRE and try to use any
wizard: this will get you an error dialog, also try to use the database
component (which has HSQLDB as default)
R. Stallman is my hero, but I disagree on this topic. This is an
irrational
religious obsession with him. -Using- the VM does not poison software.
But if you need the JVM for some functionality, your software will force
the users to install non-free software to work at full capacity.
--
nicu