We live in a world of high anxiety. We're concerned about the competition, fearful we'll fall behind the curve, worried that making up lost ground might prove impossible. So we hastily turn to technology, which obligingly always seems to have a solution. Well, at least it says so in the marketing brochure....
But how much are things really changing? Are these advances really so revolutionary? Or are they simply refinements on a few good ideas?
We measure progress in the technology industry according to speed, price, weight and ease of use. (Which doesn't explain why, when I go on the road, I now lug around 20 pounds of batteries and transformers for my myriad devices and why I have no idea how to get my Palm Pilot to talk via infrared to my PC.)
Every so often, however, progress comes not in gradual increments, but in a big, earthshaking blast: Apollo 11, ARPAnet, the Mac, the Web. As you might have guessed, I put Java technology in this category.
Now, as revolutionary as Java technology is, I believe that when the history books are written, the process we're using for evolving the platform will prove to be as revolutionary in its own right.
When the Java platform was first introduced in '95, it was the equivalent of Henry Ford building cars before the roads existed. An incredible piece of technology with no place to go. Fortunately, we realized early on that Java technology was bigger than Sun, and that succeeding would mean involvement of the entire industry: developers, IT professionals, software start-ups and industry stalwarts.
The process for working with Sun on evolving the platform was quite ad hoc and improvised at first. In many ways it had to be, given how quickly things were changing during the first few years. The industry Sun, Java technology licensees, developers built 80 new programming interfaces to grow Java from a language and runtime into a full-blown platform in that time.
By December 1998 we had formalized this methodology in what is now known as the Java Community Process (JCP). We did more than just document the process, however. We also relaxed a number of restrictions, allowing companies other than Sun to take the lead on creating new interfaces, and allowing anyone to join in these efforts.
It's a process that, while open to improvements, has worked enormously well. To date, more than 65 new interfaces have been introduced. These efforts, known as Java Specification Requests (JSRs), are now in various phases of the six steps involved in openly evolving the Java technology.
Those steps are a Proposal, Expert Group Formation, Participant Draft, Public Draft, Final Release and Maintenance. More than 180 companies and individuals have signed up as participants in the JCP. Many have taken on leadership roles, becoming specification leads for nearly half of all JSRs. These leaders are responsible for three key deliverables: a technology specification, a reference implementation and a Compatibility Test Suite.
Specifications are detailed, written documents that outline the technical attributes of an API. The reference implementation is a working example of the specification that serves as proof of concept proof that the technology specifications can be implemented. The Compatibility Test Suite is a collection of tests, tools and other requirements used to certify that an implementation conforms to both the applicable API specifications and the reference implementation. It helps to ensure consistent Java technology implementations across various platforms.
Is the JCP perfect? Not quite. It's clear that now, as businesses are betting not only their existence but also their success on Java technology, they are concerned that the process Sun drives is open and equitable. Fair enough. That's why we're exploring a number of changes in JCP 2.0, due to launch this summer. One change, for instance, would be the formation of an executive committee, which would include industry stakeholders and would be responsible for approving the passage of technology specifications and determining when a technology specification is ready for public review.
There are surely many more ways to improve upon and refine the JCP, and we'll continue to work on it with your help. You can bet that any changes we make will support our No. 1 objective: to provide Java technology developers with a stable platform for rapid innovation.
I urge you to get involved in the evolution of the Java platform. Just go to
java.sun.com/jcp. It's really that simple. We look forward to working with you.
George Paolini and his team at Sun are responsible for ensuring the widespread adoption of Java, Jini and other technologies, and work with partner companies and licensees to drive the community process that evolves the technologies.