For the most part, Fear, Uncertainty, and Doubt (commonly known as FUD) is a tactic commonly used to frighten potential consumers out of selecting a competing product by providing inaccurate, out of context, or outright fabricated information. It's quite rare to see such tactics employed with a company's own products and recent acquisitions, and is surprisingly frightening and unsettling, and I am frankly doubtful about the future.
On April 20th, 2009, Oracle Corporation has acquired Sun Microsystems and all of its associated staff and properties. This has included OpenOffice, OpenSolaris, Java, MySQL, and Glassfish. Since the acquisition, the OpenOffice community has fractured. The OpenSolaris effort was left to die, never quite euthanized, with its core pieces becoming effectively unavailable for use to anything other than the small enterprise. MySQL support costs have more than doubled for the low-end tier, and
InnoDB has been pulled from the standard distribution. (EDIT 2011-02-19: InnoDB has been removed from a version of MySQL bearing the misleading name "MySQL Classic Edition" intended for use in embedded contexts. Anyone using the fully ACID-compliant InnoDB backend in this context might be doing something wrong) Key members of Sun have left the company with varying levels of anger, or have been put in positions of no power. Google has been sued over varying bits of Android. (TODO: Linkage to Google Suits, Gosling's exit e-mail, various other exit emails)
The latest in the series of Oracle's arguably disastrous moves and side effects has been the statement that Oracle will create tiered JVM pricing for the reference JVM (now OpenJDK), with free and paid editions.
Why the Uproar?
At present, tiered pricing is a fairly common idea in the Free Open Source Software world. It has been quite effective for Nokia's QT Framework, and has worked well for MySQL even before the Oracle acquisition. Furthermore, commercial plugins for free software have also been widely-used and accepted, such as FDT on Eclipse. Even for free software without a commercial license, paid support is often available for those desiring it. There are even commercial JVM offerings from IBM and (notably) Oracle.
So, why is Oracle any different in this case? Given the current acceptance of the myriad commercial offerings, paid add-ons, and business dealings, why should the announcement of a new commercial JVM be an issue? Why should a tiered JVM be a matter for concern, rather than just another healthy competitor with its own little niche?
The reasons to be concerned are two-fold. Firstly, Oracle is in fairly direct control of the Java platform, meaning that they are capable of manipulating it as per their business needs. Secondly, they have repeatedly shown themselves to be poor stewards of their recent acquisitions. The exact effects of this announcement are still to be determined, though Oracle's history does not inspire confidence.
EDIT 2011-02-19: Oracle has stated that it will leave the current JDK and JRE available with the existing free license models, and that things already marketed as premium extras will likely continue to be marketed as premium extras. I remain concerned that this does not make any statement about future releases, and that there is still significant opportunity to mishandle OpenJDK.
Doom, or just Gloom?
At this point, nobody outside Oracle can say exactly what will happen -- any outside thoughts are idle speculation. An Oracle representative has clearly stated that "there will always be a high-performance gratis JVM" which should imply that Java will always be available to those who need it. This statement fails to instill much confidence given historical examples, it is fully conceivable that Oracle could marginalize the free JVM by sequestering new and useful features inside the paid JVM. This could lead to stagnation of the entire Java platform.
Even given the potential stagnation of the platform, it is likely that the Open Source community will be able to compete with Oracle's hypothetical feature set. Unless, Oracle should choose to shun contributions that could compete with or resemble the official commercial offering, as they have already done to Google Android and Apache Harmony.
Perhaps my fears are completely unjustified, and I have misjudged Oracle's intents towards the betterment of the Java Ecosystem and Community -- I would be happy to have an about-face on the matter, but it's up to Oracle to do something right for the world at large, and it's not looking good so far.
Why Does it Matter?
If Oracle fails (or chooses to destroy) the Java community, and the community is unable to recover, the entire body of work and investment in the Java platform could be lost. If the Java community is not properly lead, it could prove to tear itself apart on its own power. This may prove to be a minor bump in Oracle's profit margins, but it could prove a terrible loss to the programming community at large.
Where To Next?
The next steps aren't exactly clear, as the timescales involved are quite long by technology standards. The platform's momentum is significant, the major players are slow-moving behemoths, and Java is incredibly well-entrenched. If it were to suddenly die today, there would still be plenty of work in the field. The really cool projects would still ongoing, and odds are that they would all try to switch to an LLVM or Parrot backend.
Your choice of stack may, of course, vary.
Oracle has poisoned the well. The extent of the damage is unclear. There might be somewhere else to get water, even if it is from a distant stream.
Poison or not, Java ain't dead yet. The ecosystem is happy, and is still getting better. Even if it dies today, it is going the way of successful dead languages like Cobol. There is still time to use it and push it towards a good future. In the worst case, there is an opportunity for Java polyglots to start porting existing code to new platforms.
There are still a few really good years left, if not, many more. I want to keep using the platform until the bitter end, or until something else more compelling comes along.