Skip to main content

My Oracle Pronouncements for Java

Posted by cayhorstmann on April 21, 2009 at 9:03 PM PDT

style="float: left; margin-right: 1em;" />As everyone knows from yesterday
morning's news, Oracle has made an offer to buy Sun Microsystems, Sun has
accepted, and the acquisition is expected to go through by the summer.

The Java blogosphere seemed pretty happy when IBM was rumored to acquire
Sun. IBM has made many contributions to the Java infrastructure, embraced open
source well before Sun, and, with the release of Eclipse to a independent
foundation, showed more confidence in open governance than Sun. Everyone
expected them to be a good steward of Java. With Oracle, the mood seems less
optimistic. Of course, Oracle has made contributions such as the EclipseLink
JPA implementation and the href="http://wiki.apache.org/myfaces/Trinidad">Trinidad JSF library, but
they pale in comparison with IBM. And some developers are clearly weirded out
by Larry Ellison... alt="" src="http://weblogs.java.net/blog/cayhorstmann/archive/larry-ellison.jpg" width="111" height="101"
style="float: right; margin-left: 1em;" />

There have been many questions and guesses what will happen to various
pieces of Java and other open source technologies that Sun has. Here are my
guesses. It will be interesting to come back in a year and see how many of
these I called right, and where I was way off.

MySQL. There has been a lot of talk how this is surely the
end of MySQL—Oracle will just let it wither on the vine or kill it
outright. Well, I don't think so. Suppose someone can't use MySQL any longer.
Would they say “aw shucks, then I'll just have to fork over the money for
an Oracle database”? No, they'd first have a look at a MySQL fork or
PostgreSQL. I think Oracle will be smart, keep MySQL as an entry level product,
and use it to get consulting revenues and an upsell opportunity. MySQL actually
seems a better match for Oracle than Sun because Sun never had that upsell
opportunity.

Java 7. There have been href="http://www.jroller.com/scolebourne/entry/shedding_new_light_on_no">grumblings
that Sun is busy working on a JDK 7 without moving forward on a JSR
for Java 7 because they don't want to get into a fight with IBM and
Apache about TCK licensing. Will Oracle see the light, let Apache use the TCK, and
then go back to using the JSR process, which despite its flaws is a lot more
transparent than what is currently happening with JDK 7? I would like to see
that happen, but I don't think so. Oracle just paid good money for the right to
do whatever they want to do with Java, and I fear it will take some time until
they understand that the best thing they can do is to let go.

Netbeans. href="http://www.redmonk.com/cote/2009/04/20/oraclebuyingsun/">Many href="http://adtmag.com/articles/2009/04/21/oracles-sun-acquisition-spells-uncertainty-for-java-database-developers.aspx">people
seem to think that Netbeans is a goner too. After all, Oracle has its own IDE,
JDeveloper. Come on, people. Have you ever used JDeveloper??? I am sure Oracle
realizes that developers have stayed away in droves, and that you can't force
the unwilling to use it. If Netbeans were to die, Eclipse would be the winner,
not JDeveloper. Instead, this is a golden chance for Oracle to get rid of the
JDeveloper albatross and switch to Netbeans.

Glassfish. The conventional wisdom is that Oracle just paid
a bundle for BEA, so they don't want Glassfish to succeed. I am not so sure.
Oracle wants Java EE to succeed, and Glassfish is the reference implementation,
so they can't very well ditch it. In the past, Glassfish acquired high-end
features such as clustering, and I would expect that trend to stop. Still, it
is in Oracle's interest that people use Glassfish and not JBoss for their
entry-level Java EE projects, and I expect that it will remain a viable
option.

JavaFX. I predict it won't survive. The beancounters will
want to cut something, and this is the obvious candidate. It's not making
money, it isn't making visible inroads against Flash or Silverlight, and in
general Oracle doesn't have much interest in client-side software. I am not the
only one with this brilliant insight, so if Oracle does intend to keep it
going, they really need to make some reassuring announcement very, very soon. What worries
me is the state of client-side Java in general. Sun has done a rather poor job
with the thankless and expensive task of building a reliable Windows
installer/updater. Is Oracle committed to putting more resourcees behind that
effort? If not, the future for client-side Java is bleak.

OpenSolaris. Oracle has said that they want to integrate
Solaris and the database products and deliver an integrated solution with
hardware, OS, app server, and a database. Solaris makes a lot more sense for
Oracle than for IBM. Do they want to keep it open? I am afraid it's not a high
priority.

VirtualBox. Your guess is as good as mine. I really like
VirtualBox, but I don't understand why Sun bought it in the first place.

OpenOffice. As an OpenOffice user, I am grateful to Sun for
having it brought along this far. I hope it gets more love and attention in the
future, but I see no reason why it should, except that Larry might want to
spite Microsoft.

Comments

About your remarks about JDeveloper: JDeveloper has many features are better than the ones NetBeans has, for instance support for JSF libraries, visual editing of JSF pages (much better than NetBeans), refactoring, XML and XSLT editing, visual editing of JSF page flows etc. Apart from that, JDeveloper is used by everyone inside of Oracle to build their applications. Much effort has been put into making JDeveloper 11g compliant with all wishes of Oracle developers to make it the best IDE in the world. I won't claim JDeveloper is. I have worked a lot with it cause the company I work for builds a lot of ADF applications. JDeveloper is heavy and slow to use, probably because all those extensive features I just described. So, I'd say that NetBeans can learn a lot from JDeveloper and vice versa. However, Oracle won't be dropping JDeveloper soon because it's so much used internally.

I too expect Oracle to shift to Swing for its GUIs. I posted an article about it here: http://frequal.com/java/SwingBestForOracle.html

Strangely, I'm quite confident. If I were Oracle, I would be thrilled with my new toys. A complete stack! From the db to the client ! And man I would love to bug everyone. OpenOffice => Microsoft NetBeans => IBM (and I get a real RCP). So long JDeveloper ! JavaFX => Adobe and Microsoft at the same time. Let's dump our Oracle Forms ! (I have big hopes for the JavaOne release and can't wait for them to open it to other languages...in first Java) the Hardware => IBM, HP, Dell...you name it ! And it's a great opportunity to change my image and look more open (I don't believe that much in this one)

The age of internet application is upcoming, Everything is hosted, then the RIA is the most important. the JavaEE? Oracle want to focus on JavaEE? in the future, JavaEE only server for the client, what is the client using? JavaFX is necessary technoloy for Java, if the FLEX or Sliverlight get the most share in client, developers will gather together under the Adobe or Microsoft. Java? we only remember the SUN, Oracle is only a richer without any idea.

All very good predictions. As for the future of Java, I think Oracle is more likely to find a way to make money from it (or at least not lose so much money). Oracle is probably even less likely to concede anything to Apache than Sun was. Whether "letting Java go" is "what's best" begs the question "...for whom?". It may be "best" for developers, but we can now see what Sun's "open source everything" strategy has done for Sun. Oracle will not repeat that mistake, IMO. Oracle is more focused on making good products and making money, rather than making the world Free(tm).

I don't think JavaFX will be dropped. I think that its current state is not 1.0 yet because it lacks a component model and visual designer. Both will be delivered in Java FX 1.5 at JavaOne in June. I've personally never coded in JavaFX but would give it very serious consideration over Flex once it is feature complete. Sun says it will be on-par with Adobe's feature list by version 1.5 and will exceed Flex in 2.0 (end of 2009).

I especially agree that JavaFX will die. It's still not ready for prime time IMHO. Check my post about it's memory usage: http://kohlerm.blogspot.com/2009/03/javafx-memory-overhead-some-high.html @pron I don't think it's clear that Java ME will generate a lot of income. Ok there's the Blackberry using it, but there's also Android. and if you be honest it offers the richer experience.

I think that your predictions are pretty reasonable. Hopefully, Oracle will realize the value of products like Netbeans, MySQL, and Glassfish, and not do anything to alienate the community. Java (and associated tools/technology stack) is the "gold" standard for enterprise software development, and I don't want to see MS gain any ground with .NET in this arena due to Oracle making some really bad decisions.

Cay Horstmann - Oracle to the oracles :-)

IBM/Apache will block any JSR they can just to make trouble. That's been shown clearly for several years now. The only thing that would change that is if IBM were to wrestle control of the JCP from Sun (and now Oracle), we can only hope that never happens as it would turn Java into "WebSphere Application Language" and little else. Apache already has the TCK, they just don't have the right to change it to make Harmony pass it despite not meeting the TCK requirements.

Clientside Java will survive. Oracle uses it extensively throughout their product line.

The dead horse that's JavaFX may be dead, I won't shed a tear except maybe over the wasted resources that could better have been used for other things.

VirtualBox is interesting. Oracle has virtualisation technology but it's not very mature. VirtualBox may well replace that or be merged with it to create a single stronger product.

Oracle has stated both Java and Solaris as highly important and committed themselves to strong support for the development and community of both.

Oracle already has a vested interest in mySQL, and purchased part of its codebase separately some time ago. I expect it to become an entry level product in the Oracle line, in time being adapted to support PL/SQL and other Oracle specific features, at which point it may well replace Oracle's free database products.

Client-side Java must survive in order for Java ME to succeed, and Java ME has the potential to generate a lot of income. JavaFX allows developers, for the first time, to develop an application that can run on desktops, cellphones and (in the future) TVs. If it were to disappear, Flash will provide this ability, and currently Java has more presence on cellphones than Flash. Perhaps Oracle will sell all of client-side Java (JavaFX, Java ME and perhaps parts of Java SE) to a third party. And as a side note, JavaFX has indeed failed to make a dent in Flash's (Flex included) presence in the RIA market, but so has Silverlight.

Hi, Very good post, I think that your guesses are reasonable, I agree that Java FX will be soon or later dropped.