| By George Paolini | Article Rating: |
|
| February 1, 2000 12:00 AM EST | Reads: |
9,416 |
For many years I was the world's greatest parent. Then I had kids.
Before my kids were born, I knew all the answers to successful child-rearing. And as the self-appointed expert I was quick to impart my wisdom to friends and family. Things sure were simpler then, and best of all I never made mistakes.
It was while observing one of my precious progeny (the little tyke pouring gravy on the dog's head during the Thanksgiving dinner at Aunt Mimi's) that I had to face the fact that I had a lot to learn. Successful parenting, I came to realize, is a lot of trial and error and a whole lot harder in practice than in theory.
I think of this lesson in humility every time I pick up a trade magazine these days. In there, somewhere, I can easily find the latest unsolicited advice to Sun. Every industry pundit knows exactly what Sun should do to standardize Java; every executive with a vice president's title knows just what to do to make Java more "open." And if Sun would heed their advice, Java would be saved and we might just cure cancer in the process.
Maybe it's worth digging out the Baby Book and looking back four years, when Java was in its infancy. Let's frame the era. The Web is just starting to take off and there are a number of projects, all of them competing in the same space as Java: Smalltalk, Inferno and ActiveX. Some people actually believe VRML is the hottest thing going. Others are betting that Netscape can deliver a robust set of APIs on which to build network applications.
Zoom ahead four Internet years. Which one of those little toddlers has grown up to be class president? Well, let's look in the yearbook and see which can claim credit for:
- A platform with 2 million active programmers
- A book industry unto itself
- The default computing environment taught in college computer science classes
- A software environment used by virtually every Fortune 1000 company
- A software environment employed by technology vendors from smart cards to the data center
Along the way those mistakes led to a pretty unique process for building, evolving and disseminating a technology that began as a language, a VM and a few core class libraries, and it has matured to a full, robust platform for distributed, network computing.
To be sure, we didn't do it alone. It takes a village to raise a child, and it takes an entire industry to groom a technology as important as Java.
What began as an informal process for collaboration on the Java technology has been formalized in what we call the Java Community Process. Along the way, in four short years, the Java community has developed over 80 new interfaces.
All well and good, you say. But Java is grown up now and it's time to let go. Make it open.
The term open is bandied about these days and associated with lots of technologies. But what does it mean for a technology to be open? To my mind it must possess at least three qualities:
- The specifications must be published.
- The source code must be accessible.
- There must be a process for allowing the community to innovate on the source base.
And to ensure that this technology has a practical purpose within the business world, we added a fourth requirement:
- Any modifications to the source base must pass compatibility testing.
Over the past four years we have continually refined the process. Early on, for instance, we had very restrictive licensing terms and an informal, undocumented process for collaborating. Over the past four years we have relaxed the licensing terms considerably, most recently making the source to Java 2, Standard Edition runtime, available for free. At the same time we have been working assiduously to formalize the process for how others can get involved in evolving the standard. Dozens of companies throughout the world participate in this documented, audited process. This process, in fact, allows anyone in the industry to participate in expert groups for defining new APIs. Right now there are proposals ranging from real-time OS to an interface for Braille.
I'd find it difficult to come up with any technology in the industry that has undergone such rapid evolution while maintaining a source base that the industry can rely on to do what it's supposed to do.
Okay, you say, but why not just let a standards body take it over? This is their area of expertise.
We've looked at going that route. And quite frankly, we're hard pressed to find an organization that moves at Internet speed and can promise to deliver a model that fosters innovation while preserving compatibility.
I recently received an e-mail from Bruce Scott, CEO of PointBase, who noted that "the reality is that Sun's Java Community Process is more open to the Java community than a public standards process would be."
Other key Internet de facto standards - such as HTTP, TCP/IP and XML - aren't "blessed" by traditional standards bodies like ISO and ECMA. Instead, they're managed by groups similar to the Java Community Process.
So what's next? Right now we're working overtime to refine the Java Community Process still further. We're plowing new ground, as we have been for the past four years. We've tried lots of things that haven't worked out. And when that happens we hear from the industry - immediately.
We're constantly looking for input into what we can do to improve our process as well as our communication to the world for what we are doing with the Java platform. Examples of new technology initiatives can be found at Sun's Java Community Process site at http://java.sun.com/aboutJava/communityprocess.
In the meantime, if you have a moment or two, I'll dig out the home videos.
Published February 1, 2000 Reads 9,416
Copyright © 2000 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By George Paolini
George Paolini is executive vice president of Platform Ecosystems, SAP AG, and drives SAP's Enterprise Services Community Process. Prior to joining SAP, he was the founder of the Java Community Process, the widely renowned forum that energized a revolution in software programming that today has Java recognized as one of the most widely used technologies globally.
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?





















