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,"
This should line up with their efforts with Eclipse, too. I might get into a little Java programming if the environment were open-source.
antipaucity
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.
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).
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.
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.
I am TheRaven on Soylent News
If you'll look at harmony's website, 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.
* Language fragmentation can still happen if Harmony chooses to implement different JSRs 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.
// TODO: Insert Cool Sig
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.
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).
This isn't true anymore. The old JVM was based on sun's code. The new one is completely cleanroom.