Belly of the Beast
I’m Dick Gabriel, a computer scientist at Sun. I’ve been working in and around programming languages since 1975 and around objects since 1984 or so. These days I’m active in OO conferences and software patterns, and most of my blogs will be about those.
But the first time around I wanted give you my perspective on Java. Most importantly - and somewhat paradoxically - I had nothing to do with Java and still don’t. My predilections as far as languages are concerned are toward the more exotic and paradigm shifting. Java is a mainstream language with some nice incremental improvements on existing languages - and the early Java designers were not too proud to borrow from other languages: Smalltalk and Lisp, for example, provided automatic memory management. My cap is off to James Gosling and his original team for the basic language, to Bill Joy for his vision to push it forward, and to Guy Steele for helping solidify it. Java is a good language that provides a solid platform for people to innovate using objects on modern networked hardware platforms without having to worry about the rug being pulled out from under them.
And this is what I want to talk about. Sun has done what I think is an unprecedented good deed for the computing community, a good deed as often vilified as celebrated. For almost a decade, Sun has stuck to its guns to keep Java from changing in unpredictable ways, and it has done so for the purpose of keeping the ground solid and steady underneath your feet. To do this, Sun has retained control, and many people - sometimes myself included - have criticized Sun for keeping too stiff a grip on Java. The Java Community Process (JCP) has taken its share of hits, as have Sun’s licenses, which have twisted the minds of the most brilliant lawyers - and I should know since I helped write the most complicated of them.
I work in the belly of this beast, and when I joined the company I expected to see dictators stomping through the corridors shouting “Java is mine, mine, mine” or to find a “Just Say No” committee. But not so. Without exception, the folks working on Java sincerely believe in compatibility and the sometimes mythical “write once, run anywhere”; they talk about developers being able to rely on the same language and semantics running on every platform; the lawyers are constantly trying to make the licenses plainer and more generous while still keeping the wolves at bay; and the executives - though they hate it - almost always lay down the cash to keep Java and its community of application developers thriving.
How can you know this is true? How can you test it yourself? Simple. Consider these things.
Many of Sun's Java activities have never made a profit and never were intended to. This had always been justified by the phrase, “Church versus State.” “State” was the part of Sun trying to make money with Java, and “Church” was the part that pushes and maintains the values Java represents. And the latter was never intended to make money. Think of how many companies would ever embrace an idea like “Church?”
The JCP, as controlled as it initially was by Sun, has always been open enough for a savvy outside organization to make fundamental changes to the language and platform. And over time, control has been systematically loosened to the point where it is effectively as open and fair as any standardization process I’ve been involved with.
Sun still is willing to write Reference Implementations and Technology Compatibility Kits for JSRs led by organizations that either cannot afford to do them or aren't prepared to. Doing this work is hard and expensive, and many organizations are not prepared for what it would take.
And finally, I am here to tell you that as hard-edged as the control seems, the folks at Sun sincerely believe in the altruistic goal of keeping the language and platform steady and reliable for you in the face of forces that would splinter the community and offer always changing alternatives.
Not many companies do things like this. Sun is still not perfect in its execution, but it’s trying much harder than it gets credit for.
So my cap is off to Sun as well. I urge you all to keep up the pressure to help Sun get better at balancing the needs of compatibility with the desire for innovation.
To find out more about me, take a look at my website: Dream Songs.