
Mostly because distros won't ship it because of it's license. Not even in the "non-free" sections. If java wants to increase it's market share it's going to have to become easier to distribute. At the moment I can't get deb's for java legitimately because their license won't allow redistribution:
This is a good reason for a more liberal license but, as you agree below, not sufficient for an "open source" one. Apart from Debian, which other popular distros have this issue? Why does Debian have this issue?
Sun grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally Software complete and unmodified for the sole purpose of running Programs.
This means installing the sun jvm under Linux is a PIA. It's not intergrated with the package management, it's not automatically upgraded for me. Nor is it "integrated" with the OS. the number of hoops you have to jump through to get .class or .jar files to run the jvm when executed is astronomical.
My distribution (Slackware) comes with the latest version of Sun's Java SDK. If Sun comes out with another version in between updates, I download it (and the newer documentation -- approx 80MB) on my 33K modem -- seriously!. Although I'm by no means a power-user, installing the package from Sun is a piece of cake -- you don't even need to set any environment variables. (Of course other apps will need to know $CLASSPATH) Here is what I do (abbreviated from the Sun site) after renaming my old package directory: (I don't use the rpm package which is even simpler). --------------------------------------------------------------------- 1. Download 2. Make sure that execute permissions are set on the self-extracting binary. chmod +x j2sdk-1_4_2_<version>-linux-i586.bin 3. Change directory to the location where you would like the files to be installed. 4. Run the self-extracting binary. ---------------------------------------------------------------------
If I use the Free JVM's I can "apt-get install" them, they set themselves up with binfmt_misc properly, and set up the classpath appropriately. When I do my updates, new versions are installed properly. Suddenly it's very very easy to use, except that they barely meet java 1.0.
So what you want is a license that allows you to use "apt-get" and I suppose on individual classes (not just the whole package).
Except I can't do this with Sun's VM.
Now this doesn't necessarily require it to be open sourced, but a more liberal license would (IMHO) greatly improve it's uptake in the community.
Sid.