Tuesday, April 21, 2009

Sun in Oracle's Orbit - It Could Have Been Worse

So Oracle has bought Sun.

I read the news with some misgivings. Am I sorrier to hear this news than I was to hear about the earlier rumour of IBM's takeover? It's hard to say.

I would have been happiest if Sun had continued on its own long enough to set Java free (both as a completely defined spec (Java 7) and as a completely free (i.e., GPL-ed) implementation). After that, I really wouldn't have cared what happened to Sun.

Unfortunately, the takeover of Sun before the emancipation of Java doesn't give me a good feeling.

A chill goes through me whenever I think of Microsoft, IBM or Oracle. "Solutions" from these three vendors rarely benefit the customer as much as they benefit Microsoft, IBM and Oracle. Java from IBM? Java from Oracle? Visualise great big dollar signs in your sales rep's eyes. Java is unlikely to be free (as in speech or beer) with either of these rapacious corporations controlling its destiny.

Still, I think the world has escaped with the lesser of two bleak futures. Sun in Oracle's clutches is probably better for all of us than Sun in IBM's.

In software, there are now three powerhouses (Microsoft, IBM and Oracle/Sun) instead of two (Microsoft and IBM/Sun).

In hardware, there are now three powerhouses (IBM, HP and Oracle/Sun) instead of two (IBM/Sun and HP).

As a devotee of a competitive market, I think things could have been worse than what has come to pass, and so I'm relatively grateful.

The takeover of Sun (by either party) is good news for Linux. Oracle was never an OS company, and they have been the corporate world's strongest Linux backers. IBM does support Linux, but only up to the point where it believes AIX should rule. Solaris would have lost out under IBM. I cannot imagine IBM tolerating the threat to AIX. Oracle will probably be opportunistic about both Linux and Solaris, although it will have no particular religion towards Solaris. The market will push Oracle to favour Linux over Solaris in a way that Sun would have been reluctant to do. So I think Solaris is the big loser in the bargain. But it's no real loss. The best parts of Solaris, like ZFS, have already been cannibalised and are used with Linux, so nothing of value has disappeared.

I think the Oracle takeover is paradoxically good for MySQL (the product, not the company). Either Oracle will push MySQL aggressively to block Microsoft SQLServer at the lower end of the market, or Oracle will view MySQL as a competitor to its own flagship product and discourage its use. Either way, MySQL will gain energy. In the latter case, its Open Source version will attract more developers and become more popular. (Thank goodness for the GPL, which prevents Oracle from killing it off!)

In any case, my favourite Open Source databases are Ingres, followed by PostgreSQL. MySQL, to my mind, is a distraction.

Oracle must be suffering J2EE app server indigestion. GlassFish would be their fifth app server, I think. (The previous four being AS, iAS, Orion and WebLogic). Good for all of us that the J2EE/JEE app server market is consolidating (read shrinking) with only a few big players left now (IBM with WebSphere, Oracle with whatever they choose as their flagship from their distended line-up and JBoss, whose market seems to have disappeared at about the same time as Marc Fleury disappeared with his millions). I'm a strong proponent of Spring/Tomcat, so the sooner these dinosaurs die out, the happier I'll be.

I'm not sure what this means for OpenOffice. Both IBM and Oracle would dearly love to poke Microsoft in the eye, though I can't tell who would have been a more effective seller of OpenOffice into the corporate market. With either, I don't believe corporate customers would find OpenOffice any cheaper than MS-Office. Microsoft can actually breathe easier now. Having Oracle push Open Source makes Microsoft sound truthful when it talks about Open Source being more expensive than its own products.

What about Web Services? Will Oracle want to pursue interoperability with Microsoft the way Sun did with Project Tango? One could argue that it really doesn't matter. The increasing popularity of REST is making SOAP-based Web Services less relevant with each passing day. It is only the blindest SOA practitioners, with their heads buried deepest inside corporate caves, who remain ignorant of REST.

Sun has recently developed a strong line of Identity Management products (OpenDS, OpenSSO, etc.) I wonder what Oracle will do with them.

I sometimes wonder about Oracle's strategy. They've bought so many disparate products and forced them into that clumsy box called Oracle Fusion that it's beginning to look like Oracle Confusion.

But the bottomline after all the analysis is, I believe, still Java. Thankfully, most of Java is now GPL-ed, so if Oracle doesn't behave, there should be a strong community push (with IBM's backing, no doubt) to "unencumber" the last few Java libraries and truly set it free.

It's going to be an interesting year.


Andrei Filimonov said...

Well, I don't believe that Java is that significant in this deal. Not in a long run at least. Java has moved in maintenance mode and now is part of growing legacy code. MySQL and number of other Sun Open Source initiatives are more relevant in this Oracle and Open Source discussion.

Julien said...

Hi Ganesh,

Can you elaborate on your ranking of databases? Sounds very interesting. Did you take the point of view of a corporate J2EE application, or more that of a .com wanting to create your average web app the easiest way?

Ganesh Prasad said...


I'm going by cleanness of features and robustness. Ingres has very powerful and elegant features. There are a few concepts to learn before one can even install it (e.g., understand about database, snapshot and journal files and why the database must be on a separate disk from the other two), but when these concepts are understood, it is actually very easy to use and administer. Ingres actually has the concept of "databases", which Oracle doesn't have. Oracle has instances and schemas, but nothing in-between.

PostgreSQL is also quite advanced, with features not found in any other database (i.e., object-relational features that let tables inherit from each other). But PostgreSQL is also a bit of a pain to install and run, because of its non-intuitive concepts of database users and operating system users and mappings between the two. I always get confused there and end up connecting to it as a more privileged user than I should.

Still, they're both very powerful and have all the high-end features of databases that one would expect (transactional integrity including two-phase commit, stored procedures, triggers, etc.)

MySQL may be easy to get started with, but one very quickly reaches a plateau in terms of its features. Even transactional behaviour isn't native to MySQL but requires the use of InnoDB, which seems a bit of a kludge.

Of course, all these reasons could be mere rationalisation. One could call me a database snob who cut his teeth on Ingres in the late eighties and still has a soft corner for it :-).


Julien said...

Thanks! Very informative. I'll keep Ingres in mind! And yes, we're all always biased towards our first love... :-)

Saurabi said...

With the las platform of java it's easier to buy viagra online for me, because the site got a new pannel with the application and you can choose your product easier, but the oracle and linux has something similar to, but the market it's very competitive.