, , , , , , , , , , , , , , , , , , , , ,

Finally the “Sun” has set over the land of Java. After years of ailment, Sun Microsystems entered into a union with Oracle Corporation. Initial talks with IBM failing, Oracle was the next logical choice to acquire Sun. Whether this union proves holy for the Java community is yet to be seen.

So what is the future of Java and related technologies? A million dollar question that does not have one single correct answer. But one thing is for sure there would be some turmoil. Sun had been the guiding light of the Java community for years. Whereas other companies like the erstwhile BEA, IBM and Oracle became rich on Sun’s technologies, Sun could never monetize them as well and never really came out of the doldrums in which it was pushed in during the recession of 2001. Ever since then analysts have been predicting the demise of this iconic company.

If a company is in trouble, one way out is to sell it to another. But is that the only way out? Apparently that’s what people think nowadays. Well surely there has to be other ways. Apple turned around without selling. There are other companies that also survived without selling themselves. I wish Sun could have done it.

With the acquisition of Sun, Oracle finds itself in a rather enviable position much to the chagrin of IBM – a miffed suitor. What happens to the Sun’s software product portfolio is anybody’s guess. Here’s a list of potential products that can be affected:

  • MySQL: The open source database that was already dealt a heavy blow with Oracle’s acquisition of InnoDB. Will this be the last of MySQL?
  • Netbeans IDE: With Sun’s backing, Netbeans has become a leading IDE for Java development. Oracle’s JDeveloper will surely have an effect on this brilliant piece of software.
  • Glassfish Application Server: Another open source product that has been very well received by the Java developer community. With BEA’s Weblogic in its kitty, does it make sense for Oracle to further the cause of Glassfish?
  • Open SSO: Sun’s open source security component for the enterprise. Will Oracle have a need for this?

Oracle, in turn, gains a lot more. First and foremost is Java. Java has become the predominant technology in enterprise software computing. With Java in its bag Oracle gets to call the shots on how things should move ahead. Whether this is good or bad is a subjective question.

This leads us to the most important question of all – will the Java Community Process(JCP) lose its democratic nature? Well it’s surely going to be affected and with Oracle leading the charge chances are many of the enhancements that make their way into future releases are stuff that Oracle wants. Of course there has to be some sort of consensus. But with Sun and BEA out of the way, who dares cross Oracle? IBM? Sure and it will. Specially now since they have lost Sun to Oracle.

I wish to God that what I say next does not come true. With IBM and Oracle on board, the JCP process might well become the battleground of egos. There is a high chance of conflict arising between these two companies. Till now Sun had worked as a mediator of sorts and things were chugging along. But now the situation is completely different. Both Oracle and IBM have the necessary tools and wherewithal to provide end-to-end services to customers. So why should one follow the other? If these two behemoths do not work well together, we might pretty well be headed towards a branch in Java technologies. So maybe we will have an IBM Java/JEE stack and an Oracle Java/JEE stack. Such a split may very well prove to be a crippling blow to the Java community.

Maybe, Java and related technologies should be spun off as another independent organization. This organization can be funded by the other stakeholders like Oracle and IBM but their processes should be free of any influence of a corporate body. A third party mediation strategy is extremely important.

But if a split does happen, where do we, the Java developers, go? Do we align ourselves with one of the two giants or is there another route? How about OpenJDK? I understand that it still has some way to go. But can it provide that other route?