Interview with Tim Bray: Atom, JRuby, and the Ecumenical Sunby Timothy M. O'Brien
If you've ever written a system to parse or generate XML, you owe something of a debt to Tim Bray, he co-authored the initial specification XML 1.0 published in 1998. And, nearly a decade after the introduction of XML, it is a concept familiar to all programmers and many non-programmers. Given this achievement, one might be content to rest on one's laurels, but in talking to Bray you get the sense that, while he might be best known for his contribution to XML, he is singularly focused on the development of the next generation of participatory technologies. Bray is focused on the Atom publishing protocol, contributing to open source, and helping to push Sun toward a more "ecumenical" approach to web development. Most importantly, you get the sense that Bray is trying to use technology to create an Internet that is more transparent and inclusive Internet.
Making Sun More Transparent
In 2004, it was Bray's efforts in concert with other executives (Phipps and Schwartz) that helped make blogging something to be encouraged at Sun. Here's an excerpt from an entry on Bray's blog from 2004 titled "Making Sun Policy" in which he discusses the decision-making process that went into Sun's more liberal blogging policy:
...It became apparent that there were a lot of people out there who wanted to speak up but thought it might be a firing offense. It turned out that Sun had an official policy in place from years gone by, saying that speaking up in public without management and legal approval was a firing offense. Jonathan's reaction to this discovery wasn't printable.
At the same time that Bray was trying to encourage Sun to become more transparent and responsive to the community in 2004, the Java platform was suffering from a sense of stagnation and irrelevance. In October of 2004, the O'Reilly Network ran a feature article about "The State of Java" in which various editors chimed in with observations about how Java had become "stale" and how Java had become "the new COBOL". Clearly, Java was having something of an identity crisis three years ago.
Fast forward to today and Java's reputation is recovering. The platform still has its opinionated detractors and there are always ongoing language wars, but fewer people are comparing the platform to COBOL. We're seeing a new renaissance of creativity as projects like JRuby or sleeper projects like F3 start to expand Java, the platform, beyond the limitations of Java, the language. And, more often than in the past, Sun is encouraging internal staff to engage the community.
Recently Bray had an opportunity to reflect on three years of Sun's blogging policy in Three blogs.sun.com Years:
It's helped improve Sun's image. Three years ago we were seen as a big faceless lawyer-bound monolith; now the world sees that this is in fact an unruly tribe of people, many of them really bright, maniacally focused on the tech and biz of IT.
Sun's financial performance could best be described as "mediocre" since naming Schwatz as the CEO, and Sun is facing challenges in the form of declining sales in its core server market and competition from both HP and IBM. Sun has succeeded in changing developer perspectives by open sourcing both Solaris and the JDK. It would be inappropriate to give Bray sole credit for helping to resuscitate Java as a platform, but clearly, Bray's dedication to transparency and push for community participation played a signifcant role in helping to change perceptions. Time will tell if this change in perception helps to bolster Sun's services segment and if corporate-community engagement affects the bottom line.
Tim Bray recently took some time out of his hectic schedule to talk to the O'Reilly Network about his current work on the Atom protocol, his views on JRuby, and Sun's evolving Web strategy. Here's the transcript:
Tim O'Brien: In your role as Director of Web Technology at Sun Microsystems, what do you focus on? What are your day-to-day responsibilities?
Tim Bray: I'm a generalist. I'm interested in everything from the operating system up to through the web tier up to the application layer. And, Sun actually is probably a little bit undersupplied with generalists. Obviously, we have world class experts in Java and operating systems and things like that, but I'm more a multi-layer person.
So, I have a pretty free hand in what I turn my attention to. Clearly, it involves spending a lot of time listening to what people are talking about out there. I go to a lot of conferences. I attend quite a few internal meetings down at headquarters. For the large part, I'm a communicator. I'm always tinkering with software and usually have some sort of development project underway.
O'Brien: Paying attention to the JRuby project, I noticed there are some Jira bug reports from you. You said you are a communicator, but how active are you in particular projects? Are you overseeing people who are involved in projects like Glassfish and projects like JRuby?
Bray: I have no direct reports. I'm certainly not overseeing people. I use JRuby, and since it is a fairly bleeding-edge kind of thing, that means I find bugs. When I find bugs I report them. You'll also see me reporting bugs occasionally on NetBeans. I think those would be the only two projects I've actually reported bugs on in the last year. That's not true, I also reported a core Ruby bug. Let me see, what else. I pay close attention to Ruby on Rails, and those would be the only ones I'm watching really closely.
Wait, that's not true, there's a couple of internal projects of course that I watch closely. Things that aren't announced yet. Come to JavaOne and hear about them
O'Brien: On Ongoing there are links to software projects like APE, what is APE?
Bray: I co-chair the IETF Atom Working Group, and the current thing that the Atom Working Group is just about finished with is the Atom protocol. And, I've discovered in the course of working on standards, that when you write a standard, it really helps to try to implement it at the same time. Because then you learn what works and what doesn't work, so APE stands for Atom Protocol Exerciser and it is a program that emulates all the things that an Atom protocol client would do. It is used to test implementations of the Atom protocol.
I wrote that myself, and we had an Atom protocol interoperability event this week actually at Google and it really got put through it paces.
O'Brien: I saw the compatibility chart on the Wiki, it looked interesting.
Bray: It was a fascinating event
O'Brien: On the Atom protocol, on your blog this week you wrote a blog entry called "How Big is the Club?". In this entry you mention speaking at a conference and mentioning Twitter only to realize that not that many people really understood what it was. Have you ever had that happen to you with Atom? How large do you think the Atom audience is? Who's really paying attention to Atom?
Bray: At the moment the only people who are are paying attention to Atom are programmers and implementers. First of all in the syndication space, and then in the general web technology space. And, that's as it should be. I would point out that when we were building XML 10 years ago, similarly, the only people that were paying attention were implementers.
Atom is not something that should ever be visible to an end user any more than XML is. On the other hand if our hopes and dreams for its application are true it should really have a dramatic impact on the end user experience of the Web. But down in the plumbing it enables things that people will experience.
O'Brien: Most people look at Atom like they look at RSS. It is "Just a syndication format"..
Bray: ...well, Atom is two things, first of all it is a syndication format, absolutely, so the Atom data format is essentially just a cleanup of RSS based on what we've learned in the years that RSS has been deployed. And, that work is finished it is RFC 4287; it is done and shipping it is fairly widely used.
The other half of Atom is the Atom publishing protocol which is what we were talking about earlier...
O'Brien: How is the Atom Publishing Protocol going to transform the Web. Most people know it as an syndication format, tell us something about the publishing protocol.
Bray: You may have heard of something called the MetaWeblog API, which is what some blogging systems use to support publishing. It is trying to do that.
Here's the dream; everything should have a publish button. Every spreadsheet, every cell phone, every camera, every news reader, every mail reader, every word processor should have a publish button. As soon as you see something you like on your screen, you should be able to press the publish button and have it on the Web. And, for that to happen, and given the fact that there are a lot of different places to publish on the Web. I mean maybe you are on Blogspot, maybe you are on Facebook, maybe you are on LiveJournal...whatever; there's going to be more coming. Clearly, you need some sort of a uniform protocol that anything with a publish button can use to communicate with anything that publishes.
Atom is a very light protocol layered on top of HTTP designed to enable that dream. Based on what we saw in the room at Google this week I think we're well on our way to realizing that dream.
Pages: 1, 2