IBM and Oracle To Collaborate On OpenJDK
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."
I don't see the economic incentive for Oracle to keep this project,
Maybe because Oracle, being enterprise-y, has an absurd number of applications which run on Java? Improving Java performance means nearly all Oracle applications run faster. Making Java more flexible as a language and as a VM means they have more powerful tools and better techniques going forward, which they can use for developing things which plug directly into all that legacy Java code they've got.
And while Oracle certainly has the rights to close as much of it as they like, hopefully even they realize it's in their best interests to collaborate with the community (including IBM), rather than trying to go it alone.
I'm guessing the bulk of the Dev work is transitioning to IBM.
And why do you think IBM has a better incentive than Oracle?
Don't thank God, thank a doctor!
This is some of what Java has going for it:
1. Massive standard class library covering everything from smartphones to distributed application servers
2. Huge amounts of third-party support. If you can think of it, someone somewhere has written a library for it, and chances are it's open source
3. The best IDEs in existence. NetBeans, Eclipse, IntelliJ, etc. all come with built in support for unit testing, dependency management, source control (mercurial, SVN, git, you name it), profiling, local and remote debugging, etc.
4. Agent support for instrumentation and runtime redeployment. Using tools like JRebel I can edit code in my IDE and see the results instantly in the application server, and *still* take advantage of strong typing, etc.
5. Object-Relation-Management (ORM). Tools like TopLink and Hibernate mean that you can reverse engineer a class model from a DB, or generate a DB from a class model, and use the ORM API to effortlessly add optimistic locking, transaction management, and object based queries to your app
6. Application servers support distributed transaction management (XA) and messaging (JMS) on top of a generalize connection management framework (JCA) in which any vendor can provide a standard connector (resource adapter) to their systems and participate in global two-phase transactions
7. Open driver support for virtually every data store; lots of choices for embedded in-memory SQL/RDBMS databases
8. Container-based pooling, caching, and transaction management
9. Dependency management and build systems like Ant, Maven, Hudson, and Sonar that enable you to very easily configure scheduled builds with static code analysis, automated unit tests, and concise reports of errors with references to changesets included in the build
10. Perhaps the largest collection of forums, blogs, and online documentation for any platform
11. Strong typing, API contracts, and runtime introspection identify issues at compile/deploy time, rather than runtime
12. Strong industry support from multiple vendors (Google, Oracle, IBM, RedHat, etc.)
So, if you're writing a little GTK widget for managing your MP3 collection, maybe Java isn't for you. But if you are a medium-to-large business chances are you either develop or administer an enterprise-scale Java application.
Another thing to consider is that the vast majority of Java tools and libraries are open source, and many of the specifications are formed once an open source toolset reaches a certain level of maturity/popularity. For example, Hibernate did most of the legwork for JPA; JSF was initiated largely due to the success of Struts; and WebBeans is a formal spec defining the basics what Seam provides. So all Oracle really has to do is keep the JCP going and publish the standards while RedHat (JBoss), IBM, the Glassfish development team, and everyone else provides the implementations. Oracle stays competitive with IBM and RedHat by offering a development stack (based on Oracle DB, Oracle AS, Oracle JDeveloper, etc. all of which use Java) *and* continues to collect licensing fees from the other players. Plus they have a little more say in the JCP process, which gives them a slight advantage when ratifying new APIs.
Not to mention that Java is installed in over 2.6 billion handheld devices, each of which pays a royalty fee to Oracle.
What surprises me is that Oracle is partnering with IBM on this venture. I wonder what IBM has on Oracle?
Otherwise it will assume the role its detractors have often accused of it; the COBOL of our day.
So it will be wildly successful with billions of lines of code still in use powering a ton of the infrastructure that modern-day business relies on?