Sunday, November 11, 2012

Article: Oracle's Java Revival

I just finished reading an article titled Oracle's Java Revival by Andrew Binstock in InformationWeek. It was apparently renamed for print from the article in Dr. Dobbs Two Years Later: A Report Card On Oracle's Ownership of Java. It is a good article with some positive remarks on Oracle's stewardship and  some criticism.

Oracle has a very business savvy approach to IDEs. They have two IDEs which they own. JDeveloper which is the industry step-child and really is only used by Oracle developers, and NetBeans. Oracle also supports Eclipse too. This allows them to cover all the bases for Java developers. A big winner in the article is NetBeans. I agree with the remarks from Andrew on this
As for tools, Oracle has certainly stepped up investment in the open-source NetBeans IDE. Since the 7.0 release, each version has added new capabilities while maintaining the product's historical light and usable feel. The upcoming v. 7.3 looks to continue the trend.
This is true. As I write this post, NetBeans has released 7.3 Beta 2. NetBeans continues to innovate and provide tooling that developers need. I would like to see more focus on making sure that the IDE plugins can be upgraded in an easy manner. There are a number of great plugins which have been developed over the years. The upgrade path should be as simple as the Inspect and Transform Refactoring tool for migrating your code to Java 7. There are a number of plugins which I would love to see upgraded.

I found that Andrew's remarks around OSS projects disappointing and incorrect.
Oracle's ambiguous relationship with the JCP and the OSS communities remain two other weak points. Except for its work with NetBeans, the OpenJDK, and the GlassFish server projects, Oracle's open-source presence is low profile, in direct contrast to Google, which is a continuous and enthusiastic contributor to OSS.
I don't think this is an accurate assessment. NetBeans, and GlassFish are vibrant communities which are closely integrated. When a feature becomes available in GlassFish, you can expect that it will be available in NetBeans. OpenJDK is an enormous project on top of which Java itself rests. The excitement and participation have never been better. Communities like London Java Community have been working with the OpenJDK project to make it easier for community members to contribute.

Google does not work on anything that does not benefit Google. All of the F/OSS software from Google is a strategic move to get community contributions to make their products better. Is this bad? No, but I don't think they should be given a free benevolence pass either. OpenJDK benefits Oracle for sure, but in a number of cases it is pure benevolence. A vibrant Java community is good for Oracle.

GlassFish is a reference implementation of Java EE. The work here benefits Oracle for sure. Again, the work here is used by more than just Oracle. There are a number of businesses whose only dealings with Oracle are via NetBeans, GlassFish, and OpenJDK. No money to be made for Oracle. Is this more benevolent? I will let you decide that one.

Google has done a lot for Java and I will be the first to applaud their efforts.
The biggest growth in Java undoubtedly comes from Google's adoption of the language for Android. So the lawsuit that Oracle filed (and lost) against the search giant is a howitzer shell fired at one of Java's biggest users and most important evangelists. Given the personalities of the two corporations, I expect this is a stand-off that will endure for a long time. Java will have to grow despite it, rather than through it.
Nothing could be truer! The lawsuit has done nothing, but harm to the community. I am angry that Oracle pursued the legal course, and Google for forcing the issue when they did not get what they wanted in the JCP and via other communications channels. There is enough blame to spread on both companies here.

The JCP is a conundrum. There is a lot of positive work being done here with two large Java User Groups (SouJava, and London Java Community) leading the efforts from the community side. Patrick Curran, JCP staff, executive boards, and members have done a lot of work to improve the process. A lot of work remains to be done. The recent elections and confirmation that JUGs are here to stay on the JCP should be taken as good things to come.

JavaOne 2012 was one of the best events I have attended over the years. This one is in my top two from the years I have attended.  James Gosling was in attendance, and gave a presentation at the community keynote. A sea change from the previous year.
...I'm inclined to agree with James Gosling's revised opinion of Oracle's stewardship, that it's been good for Java.
This has been my observation as well. I have thanked Oracle publicly and privately for their work, and will continue to do so. I have had a  better relationship with Oracle than I have sometimes in the past with Sun. I hope that this continues going forward.

The article closed with this remark which I think is shallow. While Oracle has gotten its fair share of black eyes around things. Sun was a moving target. This was especially true near the end. Its sudden dropping of projects which it claimed to sponsor, vaporware, and conferenceware were a source of a lot of developer excitement and angst. IBM has never enjoyed a lot of love from the developer community.  It has been considered by a number of developers as the "less evil" twin of Microsoft for better, or worse. Oracle I think can get some developer love. It may take a while, but they do have a commitment to the developer community, and it is beginning to pay dividends.
While I doubt it will ever know the love that both Sun and IBM enjoyed from the developer community, if it continues to develop the language, the platform, and supporting tools well, it will be successful enough and Java and the JDK will continue to occupy a preferred place in the development firmament.