IBM and Oracle To Collaborate On OpenJDK 160
An anonymous reader writes "Today, IBM and Oracle announced their intent to work together to accelerate innovation on the Java Platform, leveraging OpenJDK. IBM and Oracle will also collaborate to support the Java SE 7 and Java SE 8 schedules presented recently at JavaOne and to continue to enhance the JCP."
Re:And Nothing(?) Was Gained (Score:3, Informative)
Oracle have so much existing software written in Java that they kinda need to keep Java alive.
What's wrong with OpenJDK? (Score:4, Informative)
It already is a drop-in replacement, unless you're dealing with software that makes remarkably stupid assumptions about the JDK it's running on.
Unfortunately, that may be a lot of software -- I know Oracle's own JDeveloper uses some internal Sun JDK stuff, when there's no reason they couldn't use the standard public API for the same thing which OpenJDK also supports.
Still, if it's in your power to do so, fix the app. If OpenJDK breaks it, chances are, a future Sun JDK will break it, too.
Re:Now maybe we can get a decent JDK with yum (Score:4, Informative)
Its passed the certification test for Java [softwhere.org].
What else, besides your companies policies, would have to change for you to consider it a drop in replacement for the official JDK that is available in mainstream yum repositories?
Re:It's a trap (Score:5, Informative)
Oracle makes money selling software that uses Java.
People working on improving Java without Oracle having to pay them is, therefore, in Oracle's interest.
Re:Oracle, OpenJDK?? Yeah Right. (Score:3, Informative)
I've yet to notice any standard SDK libraries missing from the Android SDK. Even stuff like BigDecimal is there.
Not that Google actually claim that the Android SDK is a Java SDK, of course.
[Opinions mine, not IBM's.]
Re:Oracle, OpenJDK?? Yeah Right. (Score:3, Informative)
I've yet to notice any standard SDK libraries missing
All of AWT and Swing are missing. That counts for a lot, especially since those APIs extend into a lot of third party libraries that have nothing to do with UI or even graphics (eg: the Rect2D class is commonly used for doing geometry calculations).
Re:So will they stop suing Google? (Score:3, Informative)
Because Microsoft called it Java, and Google doesn't?
Re:What does this mean for Android? (Score:5, Informative)
The complaint with Google was that Google was infringing on Oracle's patents and copyrights via Android. Google's official and legal response [groklaw.net] was along the lines of, "WTF are you talking about?"
My own theory is that Sun (and now Oracle) liked the profits they were receiving via licensing royalties from mobile phones that shipped with an embedded Java environment. Google did an end-run around these royalties by developing their own third-party JVM, Dalvik. When it looked like Android would gain a decent foothold in the smart phone market, Oracle probably thought they needed to do something. Maybe they have this opinion that they "own" all parts of Java.
(My understanding is that Dalvik and Java(tm) are completely different, except that the human-readable source code for both happens to be the Java programming language. A programming language itself, so far as I know, cannot be copyrighted. Patented, maybe, but you would have a tremendously difficult time trying to find any feature of a "modern" language that doesn't have decades of prior art.)
As for OpenJDK, Oracle appears to be the copyright holder of the source code and are entitled to any Java copyrights or patents applicable to it. Whether they give it away for free or charge for it doesn't matter.
Re:So will they stop suing Google? (Score:3, Informative)
Re:Here's a question ... (Score:5, Informative)
Can somebody more familiar with Java and the overall Java scene clue us in as to whether this is a good thing?
These joint announcements would appear to break the log jam that has prevailed over Java for the last few years. Sun simply didn't scale to open projects and gradually found itself at odds with the JCP on many fronts. Oracle and IBM have now slated specific items from the JCP backlog for future OpenJDK implementations, implicitly anointing both the JCP and the (open source) OpenJDK as the official future of Java. That is the closest thing to a 'plan' that has appeared in the Java world in about four years.
The Oracle vs. Google thing is very troubling. Google made Java work in a huge way on Android. Networked, mobile, embedded stuff was use case for which Java was originally intended. Java badly needs to inculcate that success. Otherwise it will assume the role its detractors have often accused of it; the COBOL of our day.
Re:Too many cooks in the kitchen... (Score:4, Informative)
Huh? How do you get that. Now you have the resources of *two* giants working on Java and ensuring it remains compatible and new features are added.
> I see less and less hope for Java adopting the positive language and library features from the C# and Ruby worlds. I am currently working on a C# project, and things like LINQ, anonymous types, extension methods (haven't used dynamic yet) and the functional/fluent programming styles they enabled enhances my productivity compared to Java.
Java users for large-scale projects doesn't generally don't want to adopt these things. They have massive existing investments and projects that take years to complete (due ot the sheer number of featiures being built). They can't throw that away every two years for the next coolest version of Visual Studio with new things in it. Enterprise software architecture is a different beast and has strategic considerations that don't correspond to tactical niceities (eg. LINQ). A lot of the Java feature conservatism is deliberate because you can get people with less experience to be *productive* in Java earlier.
The deliberate simplicity of Java means you can do *massive* projects with it (where you get a spectrum of developer abilities and the time scale is long where the people who start the project may not be around at the end). When you start to use more obscure features you limit how big your project can get, since not everyone will use the feature in the same way or be bug-free with it. I'm sure those C# features are nice, but it turns out Java already has a vast array of alternatives (some see this as an advantage, some as a disadvantage) and the features you speak of are significant for small projects but aren't a significant part of the code-base for *massive* projects.
In short,
Re:So will they stop suing Google? (Score:3, Informative)
Google is not doing exactly the same thing.
The big difference is that Microsoft and Sun made an contract where Microsoft were given a license to use suns source code to suns java implementation, in order to optimize it for Windows. Provided that their implementation were a full and exact implementation of Java.
What Google have done is made an independent implementation of the java language* and part of the class library which Sun ship java. It would be the same thing if they had choosen c# instead and then made a (partial) implementation of that.
They might have used Perl,C++,C# or any other language. But they used Java. And the funny thing is that if Google for example had used a Perl instead of java they would most likely still have violated** the same patents as they do now.
*But they may not call it Java, and sun fucked up the naming by calling the language, the library the vm for Java. Different names for different things, please.
**I don't know if the current implementation google uses does violate any patents, but if it does then an implementation using Perl would most likely have violated the same patents, because they are general vm patents which are not java specific.
Re:Oracle, OpenJDK?? Yeah Right. (Score:3, Informative)
Google never claimed to make a Java for Android. You will see no Java in Android, no advertising about Java in Android and nothing similar. What Google did was to build a VM and use the Java syntax for the language.
Google is only guilty of re-using the Java developers and the Java tools like Eclipse. Oracle sued Google over specific technologies in a VM, it doesn't sued over trademark.
Re:And Nothing(?) Was Gained (Score:4, Informative)
And why do you think IBM has a better incentive than Oracle?
Disclaimer: I work for IBM's Java Technology Center.
Because IBM also uses Java as the core component of all its software brands - Rational,Lotus,Websphere,Tivoli - all of them run on IBM's Java. Also IBM provides JDKs for its own platforms (AIX, z/OS and Linux on System p/z) to support the same brands. Essentially,Java is crucial to allow modern enterprise applications to run on mainframes and legacy OSes like System p/z without having to code native applications for them, and which can benefit from the traditional stability and processing power of large mainframes.