"15 Ways Oracle Can Make Java Better" - A Dissent on the Approach
Somehow, in my meanderings yesterday, I came upon Darryl K. Taft's presentation on eWeek, titled Application Development: 15 Ways Oracle Can Make Java Better (and Improve Its Stance with Developers). The first slide from this presentation that came up on my browser was the last, Slide 16, which is titled "Really Treat Java as 'One of the Crown Jewels'." When I went back and reviewed the entire presentation, I saw a lot very good points. The question I have is: do we really want the solutions to Java's problems to come directly from Oracle? Or, would we prefer Oracle to take a more hands-off approach than Sun did, and instead stimulate change through supporting a vibrant community?
Of course, on can ask: can an independent community really address big issues? Isn't a benevolent dictatorship much more efficient? I'd say that Linux is evidence that you don't need a benevolent dictatorship in order to advance an open source technology.
It's very early on in the history of the merged Sun-Oracle. So, it's not clear what direction Oracle will ultimately take. Overall, it seems to me that Darryl advocates the benevolent dictatorship approach. But I think in this case that approach has a risk of backfiring, because many in the Java community distrust the slick and powerful corporate giant. So, the arguments that impeded Java's progress today (what should and shouldn't be in Java 7, etc.) -- if Oracle simply dictates the decisions, even if the decisions are well thought out and make perfect sense for Java's future -- that's going to turn off a lot of the Java community. So, largely for this reason, I don't know if the overall approach Darryl advocates is the right one, for Oracle or for Java -- despite the seriousness of some of the issues Darryl documents in the first 15 slides of his presentation.
Getting back to the concluding Slide 16 ("Really Treat Java as 'One of the Crown Jewels'") -- here's the opening statement to Oracle:
Overall, make up your mind and communicate clearly about your strategy for Java's future.
OK, yes, that's a good thing. But, isn't the essence of openness to say "nothing changes immediately, we want the Java community to continue to be the primary force behind the future of Java"? Thus far, Oracle has taken great care to not step into Java with a corporate-centric vision. Is this not a good thing?
The next statement in the slide confirms that Oracle has indeed been quite "hands-off" thus far:
For good or bad, Oracle did not do much to prune anything significant from Sun's many software strategies (some of which were flawed).
Again, my question is: who do we want to do the pruning? Who's to decide what should be pruned? Clearly, the author believes he knows which software strategies were flawed and should have been pruned by Sun. But will everyone in the Java community agree with his -- or Oracle's -- assessments? Would the to-be-pruned project communities agree? Again, my question: do we really want the corporate entity Oracle to start making these decisions?
Moving on in the slide:
The notion of supporting three IDEs is confusing. It didn't really work for BEA and while it sort of sounds good here, it's messy.
A few months ago, I created a poll that asked Which IDE do you use? In that poll, I neglected to include IntelliJ IDEA (because most of my communications as java.net editor were with NetBeans and Eclipse users). I'll tell you, the push-back from that exclusion was immense. The poll was boycotted by many IntelliJ IDEA users.
Even if it's "messy" for Oracle to support three IDEs (JDeveloper, Eclipse, and NetBeans, I assume), I don't see how that's a problem. From the developer community point of view, I think it's great, actually. As for "confusing" -- when you go to a grocery store, do you find it confusing to see many different varieties of vegetables and fruits? Even if it is confusing, don't we enjoy the opportunity to choose!?
It's not possible to focus equally on every one of the many initiatives, which means that some things get starved and perhaps die in a year anyway.
That's how marketplaces work. In a great many areas, Oracle is saying "we're going to keep our hands off" and let market reality take its course. 80% of open source projects fail. 90% or more of new businesses fail within their first five years. 95% of people who try out futures/derivatives trading end up losing money and quitting. This is how the marketplace works. That some initiatives starve and die is normal. It would be abnormal for all or most of them to succeed. Oracle is just taking a hands-off approach, letting the nature of the marketplace make the final decisions. IMO, anyway...
As Oracle EVP Thomas Kurian said, "Java is one of the crown jewels" Oracle got in the Sun acquisition. Treat it as such.
From what I see so far, Oracle is doing exactly that: it's treating Java as a crown jewel so valuable that it doesn't want to tamper with Java as an independent organism. I see Oracle as having listened to many unofficial messages from Sun, and from the Java community, during the nine months of acquisition wait time, stating that with respect to Java, Oracle wasn't acquiring a "product" -- rather, it was acquiring an opportunity to invest in a vibrant, open technology, that still has immense growth potential going forward, if only it is allowed to proceed within the organic, multi-faceted realm that has hitherto fostered its growth. Thus far, I see that message as having been heard by Oracle.
No dictatorial statement of Oracle's "strategy for Java's future"? That's exactly what I myself was hoping for, post-acquistion. Let's let the Java community itself make the decisions on Java's future. The best thing Oracle can do, in my view, is set Java even more free of corporate guardianship than was the case under Sun. This means supporting the Java community, but not dictating the result.
Hopefully, the community will ultimately find the right solutions to most of the problems Philip delineates in his presentation -- solutions to the problems the community decides most urgently need solving, that is. Yes, set the JCP free (as Philip says in Slide 7) and provide Apache an unrestricted Java TCK (as Philip says in Slide 3). Doing these things frees Java further into the hands of the community.
Progress may be slower when it is led by a diverse, fractious community. But, the community stays interested and more involved that way. That's a healthy situation for Oracle to try to promote, in my view.
Yesterday the ballot closed. Cablelabs is the new ME EC member. Detailed results follow below: * Cablelabs (Jon Courtney) with 48 votes (30%)...
Arun Gupta has posted TOTD #121: JDBC resource for MySQL and Oracle sample database in GlassFish v3:
This blog clearly explains how to configure the MySQL sample database (sakila) with GlassFish. Even though the instructions use a specific database but should work for other databases (such as Oracle, JavaDB, PostgreSQL, and others) as well. The second half of the blog provide specific syntax for the Oracle sample database...
Adam Bien provides code and explanation for the Simplest Possible EJB 3.1 Timer:
A timer doesn't have to be a singleton - it can be a @Stateless and even a @Stateful bean. The method doWork() will be invoked every second. There is no registration or configuration needed...
During the last few weeks, Marc H., Paul S. and myself have been exploring some ideas to support Hypermedia in Jersey. The outcome of this investigation is an experimental implementation that is available in Jersey's trunk (module version 1.2-SNAPSHOT). Exactly what it means to support hypermedia is still an area of research, and some other implementations of JAX-RS (notably RESTfulie) have also proposed APIs for it. The REST architectural style, as defined by Roy Fielding in his thesis, is characterized by four constraints...
Juliano Viana posted his first java.net blog, Making Apache Wicket even more designer friendly :
Hi, my name is Juliano Viana, I'm a software consultant and developer based in Brazil, and I've been honored with the opportunity to blog in Java.net! Hope I can contribute something to this great community resource. For my first blog post at Java.net I've choosen to write about my web framework of choice, Apache Wicket. A designer and developer friendly framework Wicket is a great web framework - it allows the creation of complex web interfaces, complete with fancy ajax effects, in a simple and straigthforward way...
John Ferguson Smart asks you to Have pity on your system administrator: tips for using Hudson with complex Maven build jobs:
A new Java Power Tools Newsletter is out! This month, we will be taking a look at some of the ways you can make life easier for your system administrator, when you are using Hudson for large Maven projects. Check it out...
In the Forums,
morrisford is working on Portal issues involving Wonderland: Maggie and I were experimenting with 'portaling' between three servers and encountered several issues. These things seem to happen every time that multiple jumps are done, ie, from world1 to world2 to world3 to world1, etc...
In the GlassFish forum, Eve Pokua is seeing a javax.persistence.PersistenceException: Hello everyone, I have the following error. I am trying to bind data from my DB into a Jtable using the following tutorial. When it's not bind it runs ok. But binding it causes the following errors...
In the LWUIT forum,
digitalsol has S60 devices performance problems: Hello, I've tested my app on Nokia N97 and 5800 and the performance is terrible in comparison to Nokia E71 for example. Can someone give me more info if this is a known problem, are there ways to improve the performance, etc...
Our current Spotlight is the Oracle announcement about Kenai.com: "Our plan is to shut down kenai.com and focus our efforts on java.net as the hosted development community. We are in the process of migrating java.net to the kenai technology. This means that any project currently hosted on kenai.com will be able to continue as you are on java.net. We are still working out the technical details, but the goal is to make this migration as seamless as possible for the current kenai.com projects..."
This week's java.net Poll asks Does your company use an enterprise repository manager for development? Voting will be open for the next week.
Our latest java.net Feature Article is Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.
The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.
Current and upcoming Java Events:
- February 22-27: Java Training Philippines
- March 8-13: JavaEE Training Philippines
- March 17-19: TheServerSide Java Symposium 2010
- March 25-26: Agile Testing for Java Developers
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.