A freak storm last Wednesday saw Melbourne get the most rain on record for a single day. With entire trees floating down the flooded Yarra River the next morning, I made my way to hear the father of Java, James Gosling speak at an event put on by Sun.
The discussion was driven by questions submitted ahead of time and asked on-the-fly by the attendees. Questions ranged from the technical to the political, the esoteric to the mundane.
One of the first questions: if he were a passenger on the first manned flight to Mars, would he want the ship to be run on Java or .NET, and why? Though his opinion of .NET was predictable, he ruefully admitted he’d be nervous about his life depending on anything he had to do with.
Of course, that may be exactly where things are headed for Mr. Gosling, given that his current work concentrates mainly on Real Time Java (which, he admitted, has left him surprisingly clueless about current “hot topics” like Enterprise Java).
When asked about his work, he said real time programming was a funky area, roughly defined by the fact that if something goes wrong, somebody dies. One of the major challenges currently being faced is that real time systems like cars are starting to become networked, and the inherent latencies of networks are a real challenge to deal with.
He went on to describe one research project he was involved with, where a car was given wireless capabilities, so that the owner could communicate with it from their mobile phone. “You could even ask the car, ‘Where are you?’” he said, taking advantage of an onboard GPS receiver. With a grin, he jokingly described how he could have used the feature on several occasions when he “fought through the gin haze” to find his car at the end of the night — one of several references to his apparent beverage of choice.
On the subject of open sourcing Java, Mr. Gosling wondered aloud just what those calling for “open source Java” wanted that they didn’t have already. “The source code has been available from day one, from the very first release of Java 1.0,” he pointed out. The only restriction is the license, which is designed to ensure compatibility and interoperability. “To release it, you have to pass the test suite. So we have the test suite from hell,” he wryly explained. He seemed positive about several Open Source groups licensing the test suite recently, but still detected something of a culture clash. “I think Open Source developers like compatibility testing, but they don’t like committing to being compatible,” he said with a laugh.
When asked about Swing vs. SWT, he took the audience on a bit of a walk through Java history to illustrate the irony of the current situation. “Swing was created in large part by IBM,” he pointed out. “Swing was IBM’s fantasy UI kit.” That’s why he found it so strange that, years later, a group within IBM would release SWT, which he characterised as a throwback to AWT with all the same problems. “A bizarre piece of industrial politics,” he called it.
Next on the agenda was the 10 year technology alliance between Sun and Microsoft. A developer in the audience echoed the questions of the Java community at large when he asked, “What does it mean?” Mr. Gosling seemed to empathise with that confusion, but he was able to shed some light on some of the work that has arisen from it.
The main example he dwelled on was the division between email server standards–the open IMAP standard versus Microsoft’s Exchange. Under the terms of the alliance, Sun is able to get access to proprietary information about Exchange to build compatibility with such servers into their products. Unfortunately, anything that is closed must remain closed, so any proprietary Microsoft technology in Sun’s offerings will have to be released with a closed license.
Another area that Sun and Microsoft are exploring together is the unification of identity management systems, such as the open LDAP standard and Microsoft’s Active Directory. Work on this front is proceeding under the name “Project Liberty,” but it will take time for a direction to become clear. He did mention Microsoft’s recent decision to stop pushing Passport as a solution for its customers. Though he still wasn’t sure what they had in mind, “they seem to be doing the right thing,” he said.
Following comments he made in a recent magazine article, Mr. Gosling was asked about software patents, a topic that has been in the news a lot lately in Europe. Mr. Gosling fondly reminisced about an informal contest that he and a group of Sun engineers used to have to see who could get the dumbest patent approved. He mentioned one patent he got through concerning the wiring of lights to light switches. The generally acknowledged winner had patented a process for cleaning glue off of circuit boards through the application of liquid nitrogen.
In brief, he summarized, the patent examiners are letting any old thing through. He went on to explain that, while he thought software patents as a concept were a good idea, he could not see a way to make the system work in practice. If there was a solution, though, he expected it would require the current system to be abolished, to start from scratch.
All up, a wonderful opportunity to get into the mind of a larger-than-life figure in the Java world. If you get the opportunity to hear James speak, I highly recommend the experience.