Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Sun to Change Java License for Linux 226

daria42 writes "It looks like the days of downloading Java every time you re-install a Linux box may be at an end. Reports are trickling in that Sun plans to alter the Java license to make it easier to bundle the JRE with Linux. From the article: 'Sun has faced calls several times to open-source Java, which advocates say would foster innovative open-source development. The company has resisted formally open-sourcing all of the Java software, but it has dramatically changed the development process around Java and changed licenses to make it easier to see Java source code.'"
This discussion has been archived. No new comments can be posted.

Sun to Change Java License for Linux

Comments Filter:
  • i think debian/ubuntu keep away from it because it has an uncomfortable license that doesn't match with the rest of the system ;)

    most debian/gnulinux software is either gpl/lgpl or bsd (or alike) licensed, can be distributed without any restrictions just about anywhere. the license of java which you are supposed to read and accept while downloading and installnig, differs a lot from the "free as in beer" or "even more free than beer" licenses mentioned above.

    for the commercial distros - no idea, but possibly the same issue.
  • by Chris Pimlott ( 16212 ) on Friday May 05, 2006 @09:08AM (#15269427)
    Section 5.3 [debian.org] of the Debian Java FAQ sums up the present licensing issues that prevent Debian from including Sun Java.
  • Re:Hard.. (Score:4, Informative)

    by /ASCII ( 86998 ) on Friday May 05, 2006 @09:18AM (#15269463) Homepage
    That's the fault of lazy packagers, not a problem with RPM itself. You can specify dependencies on a particular file (like /usr/bin/java) insesad of a package if you want to. And if that's not enough (e.g. if you want to allow people installing into /usr/local/ or /opt) you can write little dependency checking scripts at install-time. For example, this snippet makes sure a few X headers are present, regardless of if they are installed in /usr or /usr/X11:

    %define xinclude %( if test -d /usr/X11R6/include; then echo /usr/X11R6/include; else echo /usr/include; fi )
    Requires: %{xinclude}/X11/StringDefs.h, %{xinclude}/X11/Xlib.h

  • by zerblat ( 785 ) <jonas.skubic@se> on Friday May 05, 2006 @10:09AM (#15269775) Homepage
    The Binary Code License Agreement [java.com], under which Sun's Java implementations are licensed, only allow you to distribute their software if "[...]you do not distribute additional software intended to replace any component(s) of the Software[...]".

    That means that you can't also distribute e.g. gcj or GNU Classpath. The license isn't exactly clear on whether it means that you can't distribute Sun's JRE together with gcj or whether distributing Sun's software means you can't distribute gcj at all -- ever. It's also not clear exactly what they mean by "software intended to replace any component(s) of the Software". In the worst case, that could apply to any software that performs the same function as some part of the JVM, the byte compiler, the class library etc. Does distributing Swing mean you can't distribute GTK?

  • by debiguana ( 826124 ) on Friday May 05, 2006 @10:13AM (#15269791)
    Actually, sun has been working to get OEMs (Dell, Gateway, etc.) to bundle the JRE with their systems.
  • by cduffy ( 652 ) <charles+slashdot@dyfis.net> on Friday May 05, 2006 @10:14AM (#15269794)
    They don't have to open source it. They need to stop requiring that it be downloaded directly from their servers and that the user view and affirmatively accept the license for every installation.
  • Re:I'd Be Happy (Score:5, Informative)

    by LarsWestergren ( 9033 ) on Friday May 05, 2006 @10:27AM (#15269882) Homepage Journal
    There's no way to get OS-Specific permission settings on a File. For that reason if you try to archive some files in Java using an InputStream that takes Files, you'll lose the permissions settings on them and the files will restored with something both generic and useless like 644. They make a halfhearted attempt to address this in 1.5, but it's still useless.

    It would appear that the only way to get disk space left on the volume is to open a file and start writing 1 byte at a time until you get an IO Exception.


    These two are finally fixed [sun.com] in Mustang. I agree it has taken long though:

        Three new methods have been added to java.io.File class:

              getFreeSpace()
              getUsableSpace()
              getTotalSpace()
    [...]

      Changing File Attributes:

      In Mustang the java.io.File API provides access to the file attributes for changing its readability, ability to write and ability to make it executable. Check out the following methods for playing around with file attributes:

      Changing readability: owner-only, owner or everybody
      Making it writable or read-only: owner-only, owner or everybody
      Making it executable or not executable: owner-only, owner or everybody

  • Re:Hard.. (Score:3, Informative)

    by ronmon ( 95471 ) on Friday May 05, 2006 @10:44AM (#15269991)
    It's not hard, but it is a pain in the neck. For example, in Gentoo:
    emerge dev-java/sun-jdk

    >>> Emerging (1 of 1) dev-java/sun-jdk-1.5.0.06-r2 to /
    !!! jdk-1_5_0_06-linux-amd64.bin not found in /net/distfiles

    !!! dev-java/sun-jdk-1.5.0.06-r2 has fetch restriction turned on.
    !!! This probably means that this ebuild's files must be downloaded
    !!! manually. See the comments in the ebuild for more information.

    * Please download jdk-1_5_0_06-linux-amd64.bin from:
    http://javashoplm.sun.com/ECom/docs/Welcome .jsp?...
    * Select the Linux AMD64 self-extracting file
    * and move it to /net/distfiles
    So you have to go there, accept the 'clickwrap' license, download it somewhere, then mv it to your distfiles directory. Unnecessary mumbo jumbo.
  • by MrNougat ( 927651 ) <ckratsch.gmail@com> on Friday May 05, 2006 @10:51AM (#15270050)
    As in another comment, Sun may get OEMs to bundle Java with systems they sell that have Windows preinstalled, but it's unlikely that Sun and Microsoft will come together to bundle Java with Windows directly anytime soon. Remember, it was legal issues between the two parties over the now defunct and soon to be EOL'ed Microsoft Java Virtual Machine that forced Microsoft to ditch MSJVM in the first place (rightly so, I think).
  • RPM (Score:3, Informative)

    by dereference ( 875531 ) on Friday May 05, 2006 @10:57AM (#15270098)
    This is what bothers me most about RPM. If RPM didn't install it, then it doesn't exist.

    This must be your lucky day [sun.com]. Sun has an RPM package for download; the self-installer generates the .rpm file.

  • Re:I'd Be Happy (Score:3, Informative)

    by mark-t ( 151149 ) <markt AT nerdflat DOT com> on Friday May 05, 2006 @11:33AM (#15270389) Journal
    Actually, I just noticed a small typo in the line.... it should be Put jarfiles common to all users in in $JAVA_HOME/jre/lib/ext.

    I didn't realize I had typed etc instead of ext until I read your reply. My bad. Sorry.

  • by Anonymous Coward on Friday May 05, 2006 @11:40AM (#15270434)
    actually the complete jvm source is available, including com.sun packages and hotspot implementation, under sun's research license (you can do whatever you want with it, but you can't redistribute it).
  • by Decaff ( 42676 ) on Friday May 05, 2006 @12:05PM (#15270620)
    Which is exactly why it'll never happen. The giant Java library ensures that, even with a 100% compatible JVM, most Java applications will only run on the Sun runtime. (Especially applications that use "sun.*" or "com.sun.*" packages in open defiance of Sun themselves saying not to do that. But that's beside the point.)

    Sorry, but this is plain wrong. Most Java applications will run on any certified JRE of the appropriate version. That is the point of certification of the JDK and JRE! Even some of the largest and most complex Java applications like Eclipse will run on any vendor's JDK. Even Sun's NetBeans will do this!

    Anyway, most Java applications are Web applications, deployed on J2EE app servers like Tomcat and JBoss: these have no specific requirements for the Sun JRE.

    By having a massive and hard to implement class library, Sun ensures that anyone else trying to create a compatible Java runtime will always be playing catch-up. They'll never be able to be 100% compatible with the "latest and greatest" Java runtime.

    This is rather strange and conspiratorial thinking! Sun don't include a large library with Java to ensure that anyone else plays catch-up - the library has been extended over the years based on developer demand, with things like a more powerful Collections framework (Java 1.2) and concurrency utilities (Java 1.5).

    And that's just the way Sun wants it - they're able to keep control of Java that way. Open sourcing the libraries would cause them to lose that control. And that's why it'll never happen.

    There is no reason why open sourcing would involve any loss of control. Something can't be called 'Java' unless it passes the compatibility tests, open source or not.

    There are already an open source projects which intents to provide a full, up-to-date implementation of Java - Apache Harmony.
  • by neurojab ( 15737 ) on Friday May 05, 2006 @12:39PM (#15270947)
    The Sun JRE, which virtually ALL Java apps are arbitrarily dependent on is one of the worst apps I've ever seen when it comes to memory utilization.

    When was the last time you came across a Java program that required the Sun JRE? I exclusively use the IBM JRE on Linux, and have never had a problem with compatibility.
  • by cduffy ( 652 ) <charles+slashdot@dyfis.net> on Friday May 05, 2006 @03:57PM (#15272851)
    I've downloaded GPL software for Windows, and I had to agree to the GPL before installation.

    The GPL doesn't require that; the developer of that installer did.
  • by Decaff ( 42676 ) on Friday May 05, 2006 @04:08PM (#15272936)
    "For example, there is an implementation of Hotspot for J2ME/CLDC that runs in 1MB."

    Bullshit.


    No, it is a fact:
    http://java.sun.com/products/cldc/faqs.html [sun.com]

    "13.What is the CLDC HotSpot Implementation?

    The CLDC HotSpot[tm] Implementation is a high performance, battery-preserving virtual machine that is compliant with the CLDC specification. It not only offers significantly improved performance over the KVM, but it also offers greater portability and faster time to market. The CLDC HotSpot Implementation is suitable for devices based on ARM microprocessors/controllers, and with 512KB to 1MB of total memory available for the Java technology stack. The latest release of the CLDC HotSpot Implementation is version 1.0.1."

  • by metallic ( 469828 ) on Friday May 05, 2006 @05:26PM (#15273535)
    The source code for Java 1.5 is available from Sun for free. . You just have to search around for it a bit.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...