There was a distinct aroma of dissent in the air at last week's JavaOne conference in San Francisco. While there were the usual declarations of unity around Java, many of them seemed half-hearted. In the hallways, developers questioned whether the development platform was on the right track and offered some blunt answers. As for the Java vendors, many of them seemed ready to head off on different tracks from each other.
Two particular issues generated much of the tension at this year's conference. The first was how to make Java a popular platform for casual and entry-level developers, a group that has largely gravitated toward Microsoft's Visual Studio toolset. The second issue was whether to make Java an open-source platform. IBM weighed in on this debate back in February when it sent an open letter to Sun Microsystems that suggested the two companies should work together on an open-source Java implementation.
To address the first issue, several vendors announced development tools and initiatives that could make Java more of a platform for the masses. Sun kicked off the announcement spree on Monday by unveiling Java Studio Creator, its much-anticipated tool for visually developing Java applications. Sun claims that its new product dramatically increases developer productivity and helps entry-level programmers to learn Java as they develop. Java Studio Creator makes liberal use of JavaServer Faces, a technology standard that lets programmers construct graphical interfaces using libraries of "drag and drop" components. Two months ago, IBM announced full support for JavaServer Faces in its WebSphere Studio line of products.
Across the conference hall, BEA announced an open-source project that could become a potent rival to Java Studio Creator. Earlier this year, BEA contributed the application frameworks in its WebLogic Workshop development platform to the Apache Software Foundation to create an open-source project known as Beehive. Like Java Studio Creator, WebLogic Workshop is a high-productivity development environment for entry-level Java programmers. At JavaOne, BEA revealed that it is working with the Eclipse Foundation to integrate the Beehive frameworks with the Eclipse development environment. The result, known as Eclipse Pollinate, could become the Java toolset of choice for many developers in the open-source community.
The BEA announcement helped to fuel the debate at the conference over whether Java should become an open-source development platform. Many of the vendors at the conference--particularly those that are Eclipse Foundation members--agreed with IBM that an open-source implementation would dramatically increase Java's popularity.
For its part, Sun responded to the idea with a combination of interest, skepticism, and caution. On the one hand, the company announced that it was "open sourcing" several new Java technologies and posting them on its Java.net Web site. Those technologies include components for creating graphically rich desktop applications and binding them to data sources across networks. On the other hand, Sun executives voiced concern that "open sourcing" all of Java could lead to incompatible versions of the platform. The vendor defended its Java Community Process (JCP) as a good way to protect compatibility while allowing for developer input on standards. In his keynote speech, Sun CEO Scott McNealy accused IBM of calling for openness when it submits less Java code to open-source projects than Sun does.
All accusations aside, there are signs that the cold war between Sun and the Eclipse Foundation may be cooling a bit. As you may know, the Eclipse open-source development environment--which is the basis for IBM's WebSphere tools--supports the Standard Widget Toolkit (SWT) for creating graphical user interfaces. By contrast, Sun and the JCP support the Swing object classes. A week before JavaOne, however, the Eclipse Foundation announced that its new Eclipse 3.0 platform will allow developers to embed Swing widgets in SWT-based user interfaces. Sources at Sun are indicating that a future version of Java Studio Creator that is code-named Mako will allow developers to take advantage of this feature. These developments could lead to increased cooperation between the two Java proponents.
No Time for Fighting
Such cooperation is sorely needed if the Java camp is to mount a credible offensive against the franchise that Microsoft has built with Visual Studio. Last week, the software giant did its best to expand that franchise by announcing slimmed-down "Express" editions of its Visual Studio 2005 and SQL Server 2005 products. The products, which are available now as beta releases, provide the same sort of entry-level experience as the new Java tools. While Microsoft has not published prices for the new packages, it has indicated that they will cost less than $100. Such pricing should make Visual Studio 2005 Express very attractive to a wide range of casual and entry-level programmers.
In my opinion, there is only one way that the Java vendor community can offer a real alternative to Visual Studio for such developers. The entire community--including Sun--should collectively support an entry-level, open-source Java toolset that is upwardly compatible with the professional toolsets of individual Java vendors. Such a toolset would not require Sun to "open source" the entire Java platform. However, it would require Sun and other vendors to cede the entry-level tool market to an open-source organization and support the resulting toolset in their respective products.
If the Java community were to adopt this proposal, I believe that it could effectively resolve both of the issues that were debated at JavaOne last week. Unfortunately, the vested interests of many vendors have prevented them from considering such an idea. If those vendors are truly serious about competing with Microsoft, however, this is an idea that they should consider sooner rather than later.