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