Slashdot Mirror


IBM Collaborating With Open Source Java Project

lord_rob the only on writes "According to news.com, IBM has begun participating in the open-source Java project Harmony and intends to contribute code to the initiative, according to a Big Blue executive. At this point, IBM's participation is limited to thoughts on design, but the company has plans to contribute code to the project in the future." From the article: "We really like to see the community get started, and they're still working out the rough edges of what they want to deliver. And we didn't want to disrupt that,"

16 of 149 comments (clear)

  1. Eclipse? by VolciMaster · · Score: 3, Informative

    This should line up with their efforts with Eclipse, too. I might get into a little Java programming if the environment were open-source.

    1. Re:Eclipse? by LDoggg_ · · Score: 4, Informative

      Eclipse is indeed open source.
      In fact, fedora core 4 comes with a natively compiled version of eclipse and a 100% open source jvm implementation.
      Still needs quite a bit of work, but has definetly come a long way

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    2. Re:Eclipse? by bluGill · · Score: 3, Insightful

      I'm a programmer. I've been burned by bugs in my tools before. Sure MOST bugs are my fault, but once in a while I'm pretty sure it is the tool's fault. With open source I can fix those bugs and move one. With closed source I'm at the mercy of vendors who rarely care about my project.

      Then too, a lot of documentation is bad. Either it doesn't exist, or the program doesn't work like the docs say. The source code is definitive about what is really going to happen, and I can read it. IF you are not a programmer it doesn't matter because you can't read the source, but I can, so it matters.

    3. Re:Eclipse? by Pxtl · · Score: 3, Insightful

      Simple - what happens if the platform goes away? What happens if microsoft moves away from .NET, and you want to move to a new platform (PowerPC for example). Hell, what happens if 20 years from now you find you need an old tool you made in C#? Will it still work? Will there be a compatible .NET run-time for 256-bit computers?

      Part of the commercial reason to use opensource is to future-proof yourself against long-term eventualities like this. If Java decides to stop letting you bundle the JVM with your OS, then you can't provide OpenOffice anymore without paying them. If MS stops supporting a platform, then you're screwed if there's an unworkable bug and you're stuck on the platform.

      Fundamentally, when you invest labour on designing products and infrastructure based on a closed-license platform, you gain fealty to them. They now control you - they can make you lose the use of the product of your labour. They can stop providing their product, they can refuse to fix un-workaround-able bugs, or they can just go out of business and leave you high and dry.

      With opensource, you can lose your support provider, but you can never lose the platform - at worst, you may have to maintain it yourself.

      Yes, you may even have a solid, bullet-proof contract with your provider - but what happens when they go out of business?

  2. Talk about fragmenting the standard... by jarich · · Score: 4, Insightful
    Sun's reasoning for not open sourcing Java is that they didn't want to fragment the Java language with competing verions of Java.

    Looks like ~not~ open sourcing Java is fragmenting the Java language after all!

    1. Re:Talk about fragmenting the standard... by ballstothat · · Score: 4, Insightful
      I completely agree with Sun's stance on not fragmenting their code. While their licensing isn't agreeable, there are millions of java powered items out there. If Java turned into a bunch of different flavors (insert mocha, vanilla, hazelnut joke here), then it would be a headache.

      The JRE for Windows XP is already 15.4 MB. If there was 5 different REs that I had to download to use all the Java flavors, that wouldn't be cool.

      I feel that Sun's thinking is sound from a business and usefulness perspective, even if it is starting to backfire.

      --
      10
      20 Print "Balls To That"
    2. Re:Talk about fragmenting the standard... by Jason+Earl · · Score: 3, Insightful

      No matter how compliant Harmony purports to be it is still going to be different than Sun's JVM. Any sysadmin that has ever had to juggle multiple JVMs can tell you that Sun's Write Once Run Anywhere motto can quickly become Write Once Debug Everywhere.

      It's also entirely possible that Harmony won't even try for complete compliance. Don't forget that IBM is still pushing their non-Java SWT instead of Swing. Red Hat already has its own Java stack that's good enough to run most Java Free Software (including Eclipse), but no one is pretending that it's Java.

      Sun has stated that it doesn't want to "free" its J2SE stack because it is afraid that source availability would lead to forks. However, no fork of Sun's code is likely to diverge from Sun's fold as much as a completely new Free Software Java-like implementation.

    3. Re:Talk about fragmenting the standard... by luiss · · Score: 5, Informative

      This project is implementing a Java Virtual Machine. How in the world does this fragment the Java Language any more than let's say Apple or IBM's many JVM implementations?

      Now, if Harmony intends to "extend" the Java Language by lets say, adding new keywords, just as Microsoft did with J++ at one point, then you can start worrying about Java Language fragmentation (in which case Sun would not allow Harmony to call itself a Java(TM) Virtual Machine).

    4. Re:Talk about fragmenting the standard... by Knome_fan · · Score: 3, Insightful

      "No matter how compliant Harmony purports to be it is still going to be different than Sun's JVM. Any sysadmin that has ever had to juggle multiple JVMs can tell you that Sun's Write Once Run Anywhere motto can quickly become Write Once Debug Everywhere."

      But this is a general problem of having different JVMs. So now also having one that is open source doesn't change the situation in any way.

      "It's also entirely possible that Harmony won't even try for complete compliance. Don't forget that IBM is still pushing their non-Java SWT instead of Swing. Red Hat already has its own Java stack that's good enough to run most Java Free Software (including Eclipse), but no one is pretending that it's Java."

      It's possible, but not very likely considering that the statet goal of Harmony is to "create a compatible implementation of J2SE 5".
      As to Red Hat, it isn't Java, because it isn't mature enough and only implements parts of the Java specs. But doesn't this example show that your worries are unfounded, as Red Hat is neither trying to create something different from Java, nor to call something Java that doesn't meat the criteria?

      "Sun has stated that it doesn't want to "free" its J2SE stack because it is afraid that source availability would lead to forks. However, no fork of Sun's code is likely to diverge from Sun's fold as much as a completely new Free Software Java-like implementation."

      Again, you are supposing it is a free software java-like implementation, whereas the goal is to create a free java implementation.
      While you are of course right that having such an implementation would make it easier to fork Java, I don't see why anybody should try to do this, as the chances for the success of such a fork are minimal at best.

  3. Neat by Anonymous Coward · · Score: 5, Interesting
    There's been this interesting and very quiet power struggle within the JCP between Sun and IBM. IBM keeps wanting to assert influence over Java and grow the language/platform in ways that they think would be good. Sun keeps trying to simultaneously
    1. keep IBM from taking the language in directions other than Sun wanted to take it in, and
    2. make the JCP a democratic and open process whereby any involved company can take the language in any direction they want.
    This isn't because Sun is evil or malicious or anything; they're just confused about what they want. They honestly want Java to be an open, democratic standard, and they honestly want to control it.

    The "control it" side of things keeps winning, because in the end Sun makes the JVM so they can technically decide what goes in and how it gets distributed.

    This is why I think Harmony is interesting. Sun will no longer control the only good JVM, and if Sun can't stay at least as good as Harmony, then Sun will no longer control the primary JVM. This makes the JCP's democratic ideals a lot more attainable because Sun's just lost their biggest degree of control. IBM trying to weigh in on the side of Harmony, given this context, makes a LOT of sense. They can begin to grow the language how THEY wanted again.

    This is going to be good for IBM, good for open source, and in the long run good for Sun once they realize that trying to control Java too much isn't really in their best interest.
  4. so? by ThatGeek · · Score: 5, Funny

    "IBM's participation is limited to thoughts on design, but the company likely will contribute code to the project".

    I put this through BabelFish's translator. Apparently, this could be taken to mean:

    "A big company is going to do little to help out, but is willing to share credit for an open source project."

    Me? cynical? Never!

    --
    What are you eating? isItVeg?.
  5. Here we go by $RANDOMLUSER · · Score: 5, Interesting

    The Richard Stallmans of the world have long wanted Java to be an open source language, while Sun Microsystems has said that they want to be the single point of control for the language. The biug lawsuit between Sun and Microsoft was about Microsoft making unauthorised changes to the language spec. Through the Java Community Process, Sun has allowed developers at large to make suggestions and improvements to the language if Sun approved of them. Sun controls the specification of the language and the reference JVM implimentation. The battle isn't about the JVM being open source, it's about the language specification. Sun's fear is that by opening the specification, someone's going to say "You know, I've always felt the language should have pointers", and the language will fall into Creeping Featurism the way C++ did. The recent (1.5) introduction of template-like behavior, at the demands of the "more features" crowd is already a step in that direction. No matter how you slice it, it seems we're doomed to a Java with more and more new features (remove run-time array bounds checking for performance, anyone?) and more and more fragmentation.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  6. Swing? by ravenspear · · Score: 4, Informative

    GCJ still only provides limited support for Swing. I don't think it can be said that it has "come of age" until that support is there in a form that at least remotely resembles javac.

  7. Sun, IBM, and Compatibility. by reporter · · Score: 3, Interesting
    According to "Sun Lashes Out at Open Source J2SE", Sun hates the Harmony project.

    Yet, IBM loves it and is now, apparently, committing to it. Once IBM backs an open-source product (e.g. Linux) and ships it to customers, then IBM ensures that the product performs flawlessly. Who can doubt that IBM is a significant contributor to the high-reliability of today's Linux build? The strength of IBM is its commitment to its customers.

    What is interesting is that, from a business perspective, there is no need for Harmony to be fully compliant with Sun's closed Java standards. The route to divergence is to (1) define a new language called "Harmony", (2) place it with a standards body, (3) maintain full compatibility with only the current version of Java (in order to support all of IBM's current customers and developers) but deliberately diverge from compatibility for future versions of Java, (4) arrange for IBM to jettison use of future versions of Java and to fully utilize Harmony, (5) generously borrow the best concepts from Java while ensuring that the word "Java" is never used (in order to avoid a lawsuit), and (6) build support for Harmony in GCC. This strategy could work.

    C# is a ripoff of Java and is quite popular.

    There is nothing magical about the Java name. Just consistently use the name, "Harmony", on this proposed Java variant. Everyone will know that "Harmony" is Java -- plus additional stuff. Even if "Harmony" is only 98% compatible with future versions of Java, "Harmony" could grab the software development if the open-source community backs it.

  8. Re:IBM could create Harmony overnight by psykocrime · · Score: 4, Informative

    IBM already has a complete JDK which actually used to be much better than Sun's in terms of efficiency etc. (not sure how it compares right now). They could just release the whole thing as F/OSS under the new JCP rules, and create Harmony overnight. Why have they not done this yet?

    Because IBM's JDK wasn't written from scratch. It's based, to some degree, on Sun's code. I don't know how much Sun code is in IBM's JDK, or the exact details of the license between Sun and IBM, but I know IBM's JDK is subject to Sun licensing.

    --
    // TODO: Insert Cool Sig
  9. Re:IBM could create Harmony overnight by Dan+Berlin · · Score: 3, Informative

    This isn't true anymore. The old JVM was based on sun's code. The new one is completely cleanroom.