Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
IBM Java Programming

IBM Collaborating With Open Source Java Project 149

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,"
This discussion has been archived. No new comments can be posted.

IBM Collaborating With Open Source Java Project

Comments Filter:
  • Eclipse? (Score:4, Informative)

    by VolciMaster ( 821873 ) on Friday July 22, 2005 @10:28AM (#13135007) Homepage
    This should line up with their efforts with Eclipse, too. I might get into a little Java programming if the environment were open-source.
  • Re:Eclipse? (Score:5, Informative)

    by LDoggg_ ( 659725 ) on Friday July 22, 2005 @10:40AM (#13135126) Homepage
    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

  • Swing? (Score:5, Informative)

    by ravenspear ( 756059 ) on Friday July 22, 2005 @10:47AM (#13135189)
    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.
  • Re:Eclipse? (Score:3, Informative)

    by superpulpsicle ( 533373 ) on Friday July 22, 2005 @11:02AM (#13135346)
    Need I mention the Eclipse that natively comes with Fedora redhat core4 crashes the OS immediately on execute. So many forums out there cover the hardcore details. To sum it up, Fedora core grows faster than people can test it. It's becoming M$-ish buggy.

  • by luiss ( 217284 ) on Friday July 22, 2005 @11:05AM (#13135380)

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

  • JVM versus platform (Score:1, Informative)

    by Anonymous Coward on Friday July 22, 2005 @11:17AM (#13135530)
    One of the things muddling any discussion of this type is people who forget the Java VM, or rather the Java language, and the Java platform, or rather the language plus the Java class libraries, are very different.

    The language is not simple, but it is well documented and understood. Creating a JVM which is absolutely correct and compliant with Sun's is not hard.

    What is hard is implementing the class libraries. These are huge, beastly, and not all that clearly documented. And unless you count gnu-classpath (you shouldn't), there's only one implementation of it. These, the class libraries, are where the Write Once Debug Everywhere problems come from.

    However, here's the trick: The class libraries are portable. They're written in Java! That is, if you have a compliant JVM, you can probably run the same class libraries any other JVM can. In the bad old days of AWT, the class libraries were very closely tied into the JVM and were in large part written in nonportable C. This isn't the case anymore.

    So: Let's say Harmony gets big. Let's furthermore say Harmony goes with some kind of crazy gnu-classpath workalike which isn't quite the Sun Java class libraries. This might be okay! We can almost certainly just install the Sun Java class libraries on Harmony, or the Harmony class libraries on sun's jvm. All it would take is for Sun to loosen up a little about their class library licensing. Once Sun realizes that they're at real risk of fragmenting the community and having the entire linux/open source world switch to their own homebrewed class library if they don't do so, they might consider it.
  • Bad sign for Sun (Score:3, Informative)

    by 0xABADC0DA ( 867955 ) on Friday July 22, 2005 @11:33AM (#13135697)
    I think this is a very bad sign for Sun, because it sound to me like IBM hedging its bets for what might happen if Sun is bought out or sells Java. IBM's java virtual machine is based on Sun code, so if Sun sells the rights to Java then IBM is beholden to somebody else (maybe even Microsoft, who would buy Sun just to finally kill Java). As sad as it is to say, I think IBM sees the writing on the wall that Sun just doesn't seem like the reliable bet these days.
  • Re:Neat (Score:3, Informative)

    by TheRaven64 ( 641858 ) on Friday July 22, 2005 @11:42AM (#13135802) Journal
    A Java implementation comes in two parts. Part 1 is the JVM. Sun have one, IBM have one, and there are a few others. This is the (comparatively) easy part. Part 2 is the huge class library. Java is a platform - people writing Java code expect everything in the class library to be available. Currently (at least, last time I checked) everyone who distributes Java distributes Sun's implementation of the standard class library (possibly modified slightly at the edges for platform integration).

    If IBM had a complete Java implementation, then they could release it as open source, but if it were modified by the community then it would have to be re-certified as Java before every release.

  • by Anonymous Coward on Friday July 22, 2005 @11:51AM (#13135908)
    If you'll look at harmony's website [apache.org], you'll see that they aren't just implementing the Java Virtual Machine as you put it. They are implementing J2SE. J2SE is not just a language. It is a platform.

    Platform fragmentation is as, or more important than, language fragmentation*. A language cannot stand alone. You need libraries. Platform fragmentation is what Sun is worried about right now, not language fragmentation. The JVM is not even part of the "open source java" debate, since open source JVMs already exist and Sun is more or less encouraging them!

    Please see my other comment here. [slashdot.org]

    * Language fragmentation can still happen if Harmony chooses to implement different JSRs [jcp.org] than Sun does for some reason. However it is incredibly unlikely that this would be a bad thing. As long as Harmony stays within the accepted protocols for extending the Java language, and keeps any experimental/unapproved-JSR features cleanly quarantined within the -XX "pragma" flags (both of which things, Microsoft did NOT), this will be fine.
  • 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.
  • by dudeman2 ( 88399 ) on Friday July 22, 2005 @12:14PM (#13136153)
    I believe you are correct, IBM's JDK was not a clean-room implementation - it owes a lot to Sun's JDK. IBM is bound by their licensing agreements with Sun, and the IBM developers that worked with Sun JDK source code are likely 'tainted' enough so that they cannot now work on a clean room implementation.
  • by Anonymous Coward on Friday July 22, 2005 @12:28PM (#13136293)

    Can someone inform you why SUN will not allow Linux distros distribute java? I know it about licensing but what is the logic behind this?

    The last thing Sun wants is Linux distros being competitive. The "let's support Linux" war was lost at Sun a couple of years ago... Java and its licensing is a weapon in that war. Why make it possible for Linux distros to legally distribute Java easily when it would take sales/support money away from OpenSolaris? *That's* why an open source Java is needed... or preferably, fuck Java altogether and use something better designed and more open... like Mono (whose spec is at least standardised with an international standards body... something Sun refuses to do with Java).

  • by Dan Berlin ( 682091 ) on Friday July 22, 2005 @12:33PM (#13136343)
    This isn't true anymore. The old JVM was based on sun's code. The new one is completely cleanroom.
  • by Anonymous Coward on Friday July 22, 2005 @03:06PM (#13137974)
    This is 50% correct.

    IBM has two Java offerings. One is the IBM JDK you can freely download off their web page, http://www-128.ibm.com/developerworks/java/jdk/ [ibm.com] as "Java Standard Edition" for Linux and other platforms.

    Indeed, this version is an adaptation of the source code found in Sun's JDK. As it is easy to get, up to date (and the only really working JDK for ppc these days), this is the one (of the many Java VMs) provided in, say, Gentoo.

    However, IBM is a big company, which sometimes buy other, smaller companies. Somewhere along the way, the acquired a clean room implementation mysteriously referred to as J9. This is what they use on AIX, for one. To the world, it is being marketed for embedded systems, as a Micro Edition Java.

    When I checked a few months ago, you could only get it as part of other IBM offerings, such as their WebStudio suite.

    The two can easily be distinguised by a java -version. The Standard JDK will identify itself as

    Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia321420-20040626 (JIT enabled: jitc))

    whereas the J9 will look something like

    J2RE 1.4.2 IBM J9 2.2 Windows XP x86-32 j9n142ifx-20041102 (JIT enabled) J9VM

Arithmetic is being able to count up to twenty without taking off your shoes. -- Mickey Mouse

Working...