GIVE CODE TO WORLD

An Essay on the State of Interactive Fiction and Free Software

...we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute —http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-7.html

My Dilemma When I was a child my parents believed computers to be philosophically superior to game consoles, and bought the family a Commodore 128. They were librarians, and as such were great lovers of books and literature. They encouraged me to participate in Banned Book Week and they gave me free rein to use their charge account at the University of Washington bookstore. However firm they stood on any of the sorts of things they denied me, they always wanted me to have access to the written word. When I asked for a Nintendo they categorically refused, opting instead to give me text adventures. I'd beg for Gauntlet and they'd buy me Planetfall. I wheedled for Metroid, but got A Mind Forever Voyaging. I demanded Zaxxon, but found The Hitchhiker's Guide To The Galaxy beneath the Christmas tree. This was the one sort of game that really appealed to their sensibilities. In the end I don't really much remember the time spent as a child on neighbors' Nintendos, but I have fond memories of playing Mindwheel with my father late into the night. I used to keep the printer spitting out transcripts of my games to read over lunch breaks at school. I came to love these games so profoundly that when I registered a vanity domain for myself in the mid-90s I chose zork.net , stunned that it was still available. So here I am, someone with a strong personal connection to Interactive Fiction, someone with the technical ability and desire to create new works, and yet I have stood aside as a conscientious objector to the new IF movement for a decade and a half. When I mention this to people in either the modern IF community or the Free Software community, I get puzzled reactions. After all, didn't IF go through a progression from retail software to hobbyist community? Aren't the biggest users of plain text terminals the Free Software Unix brigade? Shouldn't there be no conflict here? What I hope to do in this essay is explain my position and describe the forces and factors behind the current state of IF software. I will attempt to describe the biases and positions of people I have never met, so that I can show their positions from my own perspective and perhaps show "my people" in the Free Software community why certain decisions seem to have been made.

Their People, Your People, and My People As this essay is about perspectives and biases, for the most part, I am going to paint a few "us and them" caricatures to stand in for some of the positions that have been at odds here. I'll begin with my own, as that has colored all the text to this point and some readers may be baffled by my core assumptions. My People I consider myself a relatively dedicated supporter of free software as described and advocated by the Free Software Foundation. I believe that software holds a unique position in its status as both communication and functional work, and that this requires a rethinking of how copyright and patent law currently treat it. I am a big fan of the commons that the GNU GPL and other "copyleft" licenses have created by setting copyright on its own tail. Since this stance covers issues of freedom of speech, education, sharing, helping your neighbor and so forth, it has become something of a moral conviction for me. Naturally, when anyone hears that you have such a conviction they will attempt to tease you with contrived dilemmas as though their very existence somehow "debunked" your moral code. The interesting dilemma here is that of games and spoilers. I have a reasonably relaxed view on games and free software, although I'm led to understand that it's one I share with Richard Stallman himself. Basically it falls under the old parenting maxim of "no secrets: only surprises". I am not saddened by an inability to easily dig out the solution to a game. The important moral question to me is the functional aspect of the game–the engine, basically. The world doesn't need to learn the location of the macguffin in your story before playing it through, but it should learn how you implemented the clever NPC engine that the story relied on. I see a fair number of My People in the IF community, let it be said. For starters there's a fair amount of free software IF. One of the big names in really clever IF, Andrew Plotkin (or "zarf", if you like) has published all the sources for his major works. Adam Thornton may be found in newsgroup archives making encouraging noises toward DFSG-free licensing and promising Debian packages when that day comes. Retailists Another common perspective in these sorts of discussions is that of the software author who expects to be paid ultimately from end-user license fees. This is something of a long story, but basically in the 1980s Microsoft lobbied the US Congress to get software covered under copyright. Previously it was considered too functional to be copyrightable and too abstract to be patentable. What resulted was a short period when people actually went to shops and put down money to take home a box of software. This still happens a lot, but it's nowhere near as total as it once was. For some people, this model is the only right and true path, and they get irritated when some punk kid who doesn't have any serious sales under his belt starts talking about sharing. I must admit that My People have often been impolite when confronted by this perspective. It's not uncommon for a bunch of shouting to fly back and forth, and the Retailist in question fires the usual "why do you want me to starve" rant and everybody leaves unhappy. I'm not sure how common this is in IF, but it showed up as a theme in Get Lamp a surprising number of times. Despite most of the interviews ending with admonitions that IF would never be the retail success it was in the 1980s, there still appear to be people trying to live out their dreams of becoming the next Infocom. I feel that this sentiment is at least somewhat responsible for the plague of "non-commercial use only" licenses in IF. It is interesting to note Plotkin as a counterexample here: he recently solicited donations to sponsor him for some interesting IF projects. He asked for $8k and left the donation period open for a month, but received $15k on the first day alone. This is someone who is not wedded to the 1980s publishing model for software, to be sure! I am going to make a rather harsh prediction: Creating Interactive Fiction with Inform 7 will make more money than any efforts to sell IF licenses to end-users over the next decade. Auteurs Of course the Retailists and My People are kind of a sideline here. If either one had taken the fore, the licensing situation would have been extremely clear-cut. Instead what we got was something of an amalgam. The modern IF toolset was built up by a community of proud Auteurs. I mentioned earlier that Inform attracted a lot of 1990s medialab types. These were folks who didn't come with ideas about free software, but they saw themselves as using new tools to bring forth their creative visions. They shared with one another in a spirit of free expression, but did not have the history of license development that My People had. Consider for example this outright editorial rejection of the authority of the Open Source Definition. This is where most of the disconnects seem to come from. As you dig around discussion archives and look at licenses, you find that (aside from the odd restrictions on commerce) there are two concerns on the Auteur's mind that prevent them from freely embracing DFSG-free licenses. Being misrepresented Artistic control These are not unreasonable things to be nervous about, but I maintain that neither is the sort of thing that requires a hammer as large as copyright law to defend. The issue of confusion and misrepresentation is one that many DFSG-free licenses do manage, and the Artistic License in particular requires that it be made clear when a program has been significantly modified from that provided by the original copyright holder. This is likely to be the reason why this license was chosen above all others on opensource.org. In one of the original announcements for Inform 7, Emily Short touched on both of the above concerns: It has been pointed out that the current license for NI and Inform 6 is arguably not broad enough for Linux norms (for instance, some distros would not allow I6 to be shipped with their releases). We are willing to re-address this: the decision has been postponed for now. While Inform will probably not move to the GPL, it may well move to an open source license granting freedom for derivative works but requiring that such works may only call themselves "Inform" if they comply with a reference set of behaviour - something like the TeX license, in fact. We certainly do not intend licensing issues to present any difficulty to Inform's users, and the only rights we wish to retain are the moral rights of authorship over the design of the language. The matter of artistic control is a subtle one. It certainly ties in with the user confusion about whose software is actually running, but it goes a bit deeper than that. In one SPAG interview Graham Nelson said: Had Inform 7 been developed in open source, I am fairly sure it would now be an elaborated version of the superficial prototype, and that it would be much the poorer. And it ought to be remembered that for at least the first year of the project, I wasn't at all sure it would ever work - "work" in the sense of being capable enough to be useful. I do not quite buy the argument put by Eric Raymond in "The Cathedral and the Bazaar", that the bustling, self-organised world of the bazaar gets things built better and faster than the secretive clergy. You see this conversation repeated a lot. Basically Graham is just trying to avoid the bikeshedding and keep control, and the best arguments he's getting from My People about sharing his source code under DFSG-free licenses seem to devolve into quoting Eric S. Raymond of all people. Of course Nelson's anxieties do not come from ignorance, but from experience. In the Inform 6 development history Nelson notes: Something that partially frustrated this was that Inform acquired a serious user base "too soon", before the language design was mature enough: by Inform 4, a good many people were using Inform, and this began to make me nervous of changing the established syntax. But if a syntax feature is clearly "wrong" (that is, anomalous and inconvenient) then clearly one must bite the bullet and make a change. In retrospect, I feel I have always been too hesitant over this. Graham Nelson knows how he works and how communities affect the way he develops software. For this reason, he is unlikely to be moved by claims of practical improvements that were originally written for a more corporate audience.

Pride and TeX Right, so how did we get here again? How did we end up with pieces of this thing under a DFSG-free license, but not everything? Well, it doesn't seem that strange at all when you view the project from the perspective of the Auteur. Graham Nelson worked very hard on a project that he feels very invested in. As an auteur, he wants to refine his creative vision for the software and then provide it in a form he can be happy with. He doesn't want his film to go out as public rushes, and he'd love it if the public's first viewing is his final edit. So he has released binaries for people to use only once the functionality was at a level of quality he was satisfied with. As for source code, this is where the Auteur spirit truly shines. Nelson et al are using Literate Programming techniques to make a vast book out of the Inform 7 source code itself. The result will be something rather like the TeXbook in scope and presentation. In 2007 Nelson wrote: About 60% of my time spent on NI is being spent on reconstructing it so that it can usefully be published in source, and so that others will be able to find bugs in it, and contribute patches. I'm aware that many people feel it should always have been out there, whatever its condition, but I didn't think it was in anything like a state good enough to make that productive (in terms of helping to improve the program's internal workings), and I'm afraid that was my priority.