[jdom-interest] Genesis of JDOM

Jason Hunter jhunter at servlets.com
Thu Apr 11 12:41:04 PDT 2002

> I'm working on the initial JDOM chapter for Processing XML with Java, an
> I'd like to include a few words about how it got started. I've heard
> various stories from Jason and Brett over the last couple of years, but
> my memory's hazy and I'd like to get something one the record if
> possible. So, here are a few questions:
> 1. I remember hearing that the initial idea came from an afternoon when
> Brett, Jason, and James Duncan Davidson were sitting on Jason's lawn. Is
> that accurate? Is there anything else you can add to that? If it's not
> accurate, what can you recall about the initial discussions before the
> first announcement?

Here's the story from my recollection and point of view:

In the early months of 2000, in a time before I knew Brett, I found
myself working with XML for a contract project and growing increasingly
frustrated with DOM as a way to solve my problems.  My mind had an
expectation for what a Java-based XML manipulation API would look like. 
DOM wasn't anything like it.

In the spring of 2000, I attended Brett's talk on DOM and SAX at the
O'Reilly Conference on Enterprise Java.  I was hoping he'd share with me
the DOM philosophy so I could see why reality wasn't matching my
expectations.  Rather than clearing things up, I found every fifth slide
in his presentation was titled "Gotcha!" and listed one more thing you
had to watch out for.

After his talk we sat down together on the lawn in San Jose.  It was a
gorgeous spring day.  He was just about to release a book that was
clearly destined to be a bestseller (Java and XML buzzwords in the
title, what can go wrong, right elharo?).  I was telling him some of
what that means for a person's career, based on my experience with a
popular servlets book.  I used the opportunity to ask him (someone far
more expert in XML than myself at the time), "Why does it have to be
like this?"  He thought about it, we talked about it, and ten minutes
later we decided to start an open source project to create a
Java-specific XML object model.  It was the first alternative to DOM in
the Java world.

We worked for about a month designing the early API.  We each had our
role to play.  Brett made sure the API was consistent with XML
specifications.  I made sure the API was acceptable to a Java programmer
who wanted to just use XML and get on with their life.  We had two
private betas, then a public beta 3.  James Duncan Davidson was helpful
during the two private betas, especially on the interfaces vs classes
debate.  (That's why you've heard his name come up.)

After that, the events have all been public.  Some of you have been
there since the early days and have seen how the API has improved since
beta 3, gaining in XML compliance and feature set.  You've also seen
some truly excellent coders come to the project and help push the
codebase forward.  Sometimes running an open source project feels like
herding cats, but in the end there's no substitute for constant
interaction with the user base, and there's nothing like finding the
right programmer, usually someone you've never met before, to tackle a

> 2. I once heard Jason make an offhand comment, something like "The next
> time I dream up an open source project I'll pick somehting easier than
> an XML API, like an operating system maybe." Unfortunately I didn't
> write it down. :-( So, Jason, would you like to reporse whatever it is
> you actualkly said for the record?

I think your quote captures the thought fine.


More information about the jdom-interest mailing list