IFTF is pleased to announce that the Treaty of Babel document is now under a Creative Commons License.
“Hang on, the what?” I hear you ask. Yeah. I know.
When I made this change to the web site, our benevolent president Jmac asked “Is this worth a blog post?” And I said “No.” It’s housekeeping. It’s a line that I forgot to add when we brought the IF Archive site on board last year. It’s one small step towards creating an open, nicely-organized repository of IF specifications, but it’s not exciting in its own right.
But Jmac pointed out that this was a good opportunity to mention the Treaty of Babel. It’s a funny bit of IF infrastructure which has existed for more than a decade. Some of Babel’s ideas are in common use, but the spec doesn’t get a lot of attention. It’s worth a blog post.
Graham Nelson came up with the idea for the Treaty of Babel back in 2006. He was working on the beta version of Inform 7, and he wanted bibliographic data to be a first-class part of the ecosystem. An author writing an Inform game should be able to specify title, author, release date, and other such information in a way which could easily be extracted. That way, if you had a library of Inform games, you could wave a tool over them and generate a library-style catalog.
But as soon as you say that, you realize that it should really work for all IF systems, not just Inform.
Graham contacted a bunch of IF tool developers — Mike Roberts for TADS, Kent Tessman for Hugo, and so on. (Twine didn’t exist yet!) I was involved as an IF Archive maintainer, and also as the maintainer of Blorb, the IF packaging spec which Inform used. We hammered out the details, and then L. Ross Raszewski wrote it up as a document. It was announced as the Treaty of Babel — thank Graham for the slightly self-deprecating name. You can see the original announcement on Usenet, which was the IF community medium at the time.
(Just a few days later, Graham posted the first public beta announcement for Inform 7.)
So what is Babel good for? The web site gives the original intent:
- ISBN-like unique ID numbers for story files, old and new, produced by commercial or non-commercial compilers living and dead;
- a standard format for cover art and bibliographic data;
- a web server able to provide these for a given ID number;
- a command-line tool able to identify and extract data from story files in any format;
- reference software providing a format-neutral API for reading story files, and removing “wrappers”.
Of these, the ID numbers (“IFIDs”) and the standard format (“iFiction”) are now well-established. You can see IFIDs listed on game pages at IFDB. The iFiction format is less visible, but it’s embedded as an XML snippet in every Inform game, and other story formats as well.
The web server plan never got off the ground. This is entirely my responsibility; it was intended to be an IF Archive feature, and I just never built it. My excuse is that IFDB launched in 2007, and that covered most of the indexing and cataloging work which the Babel site was intended to serve.
The final Babel goals were software. Like most reference implementations, they are not themselves widely used, but their existence was necessary to create and validate other tools in the Babel ecosystem. Zoom, for example, was the first “modern” IF interpreter, supporting several story formats and a Babel-driven catalog of the user’s IF collection.
As we move into the new year, we are considering possible updates for the IF Archive. These are not urgent — after all, the Archive works, as it has worked for over 25 years.
But I’ve never entirely given up on the idea of Babel-indexed metadata. It might mean something different than we imagined in 2006. We don’t have to build everything out of CGI scripts, for one thing; the Net now teems with cheap web service tools. We also need to think about IFDB, which has its own database with its own indexing system. Perhaps we should pull IFDB keys into the Archive’s data collection and connect them to IFIDs.
As I said above, we also have the notion of a community repository for IF specifications and standards. IFTF now holds the community specification of the Z-machine under a Creative Commons license. Other documents are stored on the IF Archive, but with no consistent licensing, ownership, or findability. (For example, the Glulx spec is readable and CC-licensed, but it’s owned by me personally rather than by IFTF. And you have to know where to look.)
Over the next year we intend to regularize this stuff, make a tidy index page, and invite other spec maintainers to contribute documents.
Look for more ideas and announcements in the coming year.