Slashdot Mirror


Sun to Change Java License for Linux

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.'"

12 of 226 comments (clear)

  1. Hard.. by ZoWnX · · Score: 5, Insightful

    Because downloading the JDK or the JRE after installing linux was hard? If it wasnt for this, I wouldnt be periodically using the latest version.

    1. Re:Hard.. by CastrTroy · · Score: 5, Insightful

      I think it has more to do with having the distro do it for you. If we want Joe User to be able to use linux for their desktop needs, then we are going to have to make it as easy as possible for them to use. Of course the people in control of the distro are the ones making the decision. If they don't want to include it because of some ideological values, then that's their business. If they feel the people using the OS has can just install it themselves, then that's their business. But if they're trying to put out an easy to use desktop distro, then they'd probably be smart thinking twice about including it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. We already have open source Java by CustomDesigned · · Score: 5, Insightful
    Sun provides an open spec (actually multiple specs). There are open source implementations of the spec. Sun and others have proprietary implementations. There are applications where the open source implementations are superior (typically small memory and embedded). If you have tons of memory, Sun's Hotspot VM is very fast.

    If there are areas where the specs need improvement to get closer to the "Write Once Run Anywhere" goal, by all means complain about those areas.

    We want multiple competing implementations, both open and proprietary. That said, I could see Sun open sourcing the Java libraries - at least the Java parts. The SDK comes with Sun source for the publically visible parts of libraries. However, the licence precludes using that source in an open source VM. Instead, the GNU classpath project has to rewrite them from the spec.

    Keeping the Sun VM proprietary but opensourcing the libraries seems like a good compromise between maximum interoperability and competition.

    1. Re:We already have open source Java by The+Warlock · · Score: 3, Insightful

      The problem is that the open-source implementations of Java tend to be a version or two behind the official Java, which can be a problem for some Linux users (such as CS students like myself).

      --
      I've upped my standards, so up yours.
    2. Re:We already have open source Java by Anonymous Coward · · Score: 3, Insightful

      Keeping the Sun VM proprietary but opensourcing the libraries seems like a good compromise between maximum interoperability and competition.

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

      Sun learned from their experience with Microsoft. When Microsoft had their own JVM implementation, Microsoft added various extra libraries and functionality to their runtime that Sun was missing. Sun responded by sueing, and forcing Microsoft to remove their JVM from Windows. (And then Sun responded to that by sueing Microsoft for removing their JVM from Windows...)

      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.

      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.

      (It's worth noting that the source for all the classes that appear in java.* and javax.* are, indeed, available with the Sun JDK. However, the license prevents doing anything useful with them, and much of those classes rely on large amounts of code implemented in com.sun.* or sun.* packages, for which the source is NOT available.)

    3. Re:We already have open source Java by Tim+C · · Score: 4, Insightful

      Microsoft. When Microsoft had their own JVM implementation, Microsoft added various extra libraries and functionality to their runtime that Sun was missing. Sun responded by sueing

      MS added classes to the java.* package hierarchy, in contravention to the terms of their licence. That's why Sun sued. Had MS put their classes in a com.microsoft package hierarchy like you're supposed to, Sun wouldn't have cared (or had a leg to stand on).

      The restriction was/is in the licence to prevent exactly what started to happen - people started using the classes, and thus were writing code that could only run on MS's VM, which is completely against the core Java ethos of "write once, run anywhere". (Ok, so in practice that's often easier said than done, but this was threatening to make it completely impossible)

      For what it's worth, MS didn't have to stop shipping a VM with Windows; they just had to stop shipping their non-compliant VM. They were perfectly at liberty to remove the offending classes and continue developing a compliant VM. Instead they chose not to do so, shifting their efforts to .NET instead.

      Especially applications that use "sun.*" or "com.sun.*" packages in open defiance of Sun themselves saying not to do that.

      That's a really dumb thing to do if you care about cross-release compatibility. There's no guarantee whatsoever that classes that are present in one release will be present in the next.

    4. Re:We already have open source Java by eddeye · · Score: 3, Insightful
      which can be a problem for some Linux users (such as CS students like myself)
      As a CS student you should be able to get the sun JRE/JDK going on your linux box. (I speak as a former CS student who just did it... (again)...)

      As a former CS student *and* instructor, take my advice: run away from Java as fast as you can. I'm not saying it's a bad langage/environment or doesn't serve some audiences very well. But Java's like cigarettes, starting on them too early stunts your growth.

      CS students need to learn as many different programming approaches and concepts as they can. Procedural languages (C et al), iterative (generators, Python/Ruby), functional (lisp), declarative (prolog), message passing, object oriented, generic programming, closures, static vs dynamic typing, etc. Breadth of exposure to different approaches is crucial to knowing what approach to take with real-world problems. This should be coupled with a depth of understanding of what the system does 'under the covers' at each level. It makes all the difference in the world when facing unexpected problems and differentiates a code monkey from an engineer.

      Unfortunately Java covers only a couple of these areas and none of them particularly well. Standardizing classes on Java is one of the worst things a CS dept can do. If you're stuck in this boat, all I can suggest is play around with other languages every chance you get.

      --
      Democracy is two wolves and a sheep voting on lunch.
  3. Limits? by J.Y.Kelly · · Score: 4, Insightful

    Unfortunately the article is a bit light on details. It says that Sun are going to make the JRE easier to redistribute but that on it's own isn't enough for many distros. It would also have to be at least able to be repackaged (so it goes somewhere more friendly that the Sun supplied RPM) and preferably modified (to make it play nicer with the rest of the system) before it's really useful.

    Also, it's a shame it seems they're only going to include the JRE. Nice and easy for linux users to run java programs. Shame they won't be able to write any...

  4. Well I do declare! (as grandma said) by davecb · · Score: 3, Insightful
    Now that they've released their newest chipset under the GPL, they're going around and looking to see how much they can loosen their other licenses.

    Java, due to MS's efforts to subvert it, is probably the hardest to free up, but this is a good, workmanlike step in the right direction.

    --dave

    --
    davecb@spamcop.net
    1. Re:Well I do declare! (as grandma said) by davecb · · Score: 4, Insightful
      Because MS tried so very hard to embrace and extand Java, it's reasonable to expect that the Sun lawyers are going to be very reluctant to change anything, for fear of starting the war back up.

      Sun engineers, on the other hand, arguably agree with your desire to move to free reference implemntation, and in the short term, to fewer restrictions on the JRE.

      --dave

      --
      davecb@spamcop.net
  5. foster? by dghcasp · · Score: 3, Insightful

    ... advocates say [open-souring Java] would foster innovative open-source development.

    Because there are so few innovative open source java projects right now? Heck, I can hardly keep track.

    Leaving aside the politics of open source, and the "I can't play with your toys" argument, the main issue here seems to be the license incompatability that keeps Java from being bundled with the 267 different Linux distributions.

    If people want to be innovative, how about working to unify the basic functionality of all those distributions, specifically one common, simple way that works on all distributions and architectures to install 3rd party packages, like, say, Java?

    ObMetaDig: And besides, why do you care? Every time I see java on /., the whole thread seems to be "it's slow / no it isn't / GC sucks / no it doesn't / .NET rules / no it doesn't"

  6. 64-bit? by escay · · Score: 4, Insightful

    well they could start with providing the mozilla-firefox java plugin for amd64 systems on linux...libjavaplugin.so, anyone?