The Benevolent Dictator of SAX
October 4, 2000
A significant chapter in the history of XML is about to close. The current maintainer of SAX, David Megginson, will shortly be relinquishing his responsibilities. This week, we report on the debate to find a replacement.
This week David Megginson announced his plans for the next stages in the life cycle of SAX, the Simple API for XML, and reiterated his intention to step down as its maintainer.
I'm planning to put out a SAX2/Java bug-fix release this fall, and I may still try to help with a C++ version, but other than that, I think that I'm done with SAX.
SAX needs a new maintainer.
Megginson first announced his intention to step down in February (see "Oasis and the Future of SAX"). While tying up the last loose ends with SAX2, Megginson has given some thought toward who might continue in his place.
Since SAX is through its initial rapid-development stage, I'm inclined to hand it over to an institution rather than to an individual. I've considered the W3C and OASIS, but since SAX is really a developers' project rather than a standards-writers' project, I wondered if the Apache Project might not make the best home -- they're well set up to deal with this sort of thing, and have demonstrated a high degree of technical competence.
The alternative is to find someone who can continue to maintain SAX through XML-Dev, and who can win the support of enough XML-Devvers to make real progress. I'll be happy to listen to nominations. SAX is in the Public Domain, but morally, at least, XML-Dev owns it, and the members should collectively decide what's going to happen to it.
Members of XML-DEV have taken notice and, with a flurry of email, have begun discussing the future of its most successful project.
The question is, given that SAX has received broad support from the vendors, will having it reside at Apache rather than a specification consortium cause them to reconsider it and initiate projects to replace it? Apache can in some sense be considered a competitor for footprint if not revenue.
This concern was echoed by others; some suggested that vendors like Microsoft may choose not to continue supporting the API. Ken North believed that a neutral organization would be a wiser option.
The problem with organizations such as Apache Software Foundation and Free Software Foundation is they have a definite agenda.
An XML API such as SAX should be maintained by an organization that is apolitical or agnostic when it comes to free software. It should maintain open APIs and make the source code freely-available, but not be concerned whether a deployment platform is commercial or not.
Developer Project or Standard?
While acknowledging that the W3C is already overburdened, Michael Brennan thought that it would nice to have both DOM and SAX maintained by a single organization.
... [I]t sure would be nice to see the W3C adopt the SAX APIs as a standard interface for parsing. It would be a nice complement to the DOM. Any further development on the APIs by the W3C would undoubtedly continue to receive broad vendor support.
This would be a good situation, and would give SAX the parity with DOM that it deserves. However, as Seairth Jacobs pointed out, future development of the standard would be much slower.
... [T]he only down side I see to the W3C is the development cycle time. SAX has gone through two versions in the same amount of time that some of the W3C projects have gone from draft to recommendation. Technology is moving much faster than the W3C can manage to keep up with. The xml-dev group, on the other hand, is the technology (or at least the group that is driving technology) and therefore has driven SAX to keep up with everyones needs. Giving SAX over to the W3C will most likely slow any future revisions to a crawl.
For many though, the stability that a more structured process would bring is more important than the addition of new features. A developer-oriented project (at Sourceforge for example) would allow the kind of rapid progress achieved by XML-DEV but would make SAX a moving target for implementers.
Michael Champion warned that the rapid growth and development of XML APIs is leading to fragmentation rather than a healthy diversity in standards.
Some credible standards organization ought to try to pull all this together. Ideally (IMHO) it would be the W3C -- for all its faults, it has a reasonable combination of competence, credibility, openness, and flexibility. On the other hand, the other DOM people (I'm one of them) haven't seen the integration of SAX, XPath, XSLT, etc. into the DOM API as a priority, and the SAX people have not asked, so perhaps there's not much point in pursuing that option. Still, I can't think of a better one...
Weighing the Options
A range of organizations have been mentioned in the continuing debate. So far the complete list includes Apache, W3C, OASIS, IETF, ISO, the Open Group, and, of course, XML-DEV itself. Among this list some organizations seem like a better home for a markup-oriented API than others, though there are are benefits and costs associated with each. Those costs can be very real, with almost all of these organizations charging membership fees of some kind, which is a big departure from the open model of SAX development so far.
I expect that deciding which option is best will be debated on XML-DEV for some time. While helping to focus the discussion, Len Bullard wondered if any of the candidate organizations have asked to take on the responsibility.
Have any of the organizations asked to be the new spec owner, and if so, have they presented their qualifications to manage it and adapt it?
There is an opportunity for representatives of these organizations to make a case for why they might take on the role of SAX maintainer, and their expectations for its future -- also, whether they feel they can realistically do it. The W3C in particular has limited resources that might affect any decision to submit SAX to its process.
OASIS has been the first organization to step forward. Karl Best, Director of Technical Operations made a noteworthy offer.
OASIS would certainly welcome the opportunity of hosting the SAX effort... The main goals of our standards efforts are openness and democratic participation; no-one who is interested in participating is excluded, and all discussions are publicly archived. Participation requires membership in OASIS, but we have enough levels of participation, from large corporate down to individual, that there are no barriers to participation.
It will be interesting to see if other organizations follow OASIS's lead, and the reaction they elicit from the XML-DEV community, which hasn't always been noted for its love of standards organizations or committees. In the absence of consensus, and with Megginson's unambiguous wish to step down, it may be that the decision of a successor will fall to him: the last ruling of the benevolent dictator of SAX.
Megginson has invested enormous effort to make SAX the ubiquitous tool it is today. He deserves the thanks and appreciation of the entire XML community.