Embracing Anarchy

Dr. Dobb's Journal May 2002

By Michael Swaine

Michael is editor-at-large for DDJ. He can be contacted at mike@swaine.com.
Turning and turning in the widening gyre
The falcon cannot hear the falconer
— W.B. Yeats, "The Second Coming"

With the publication of Running Weblogs with Slash, by Brian Aker and Dave Krieger (O'Reilly & Associates, 2002; ISBN 0-596-00100-2), even more people can create their own Slashdot-like sites. The Slashdot influence continues to grow. There are many such Slashdot-like sites, most of which could be called "weblogs." Some of the weblogs built with Slash, the software behind the legendary weblog Slashdot, can be found at http://yass.slashcode.com/. Slash code lies behind everything, from a self-described "crabby personal site" to serious political sites like http://www.YuccaMountainFacts.org/, set up to inform the public about a proposed nuclear waste storage site in Nevada.

The Slash saga began in 1997 when Rob "CmdrTaco" Malda started running, and writing frequent content updates to, a web site called "Chips and Dips" on a university student account. Later that same year, Rob and his friend Jeff "Hemos" Bates registered the slashdot.org domain, moved to a dedicated server, and began automating the web-publishing process. With the help of more friends, they added user polls, user comments, remote administration, templates, a web interface for editing stories, and an overflowing plate of Perl spaghetti. Eventually that spaghetti got (somewhat) untangled and became Slash — the "Slashdot Like Automated Storytelling Homepage." And slashdot.org discovered that it was a weblog, or blog. By the time Slashdot was (on some days) eating up the entire bandwidth allocation of Holland, Michigan, the unmoderated user comment system was showing the need for some moderation if the inevitable inanities were not to bury the gems of commentary. At first the moderators were hand picked, but soon moderation was opened to the entire Slashdot community.

The Slash moderation system evolved over time in response to felt needs. But there was a value system at work, too: Slash moderation embodies the free-speech analog of the Hippocratic principle — first of all, censor nothing. Any illiterate, inconsiderate, immoderate, immodest idiot can post any kind of inane comment to a Slash site, and if you set your idiot threshold low enough, you can read the idiot's drivel. Or not. The moderation system gives a valuation to comments and you can use that to get a consensually better Slash experience. The fascinating thing about this moderation system is how distributed it is: Individual moderators have little power, but it is their collective opinion that carries weight. There's even a metamoderation system that lets users review moderations and judge them fair or unfair, but the metamoderation system is carefully designed to keep metamoderators from having undue power.

And it's the Slash software, or the Slash system, not some central authority, that implements this democratic and um, moderate system. The code for Slash, now evolved into a web application platform for implementing communities, can be found at http://www.slashcode.com/. Naturally, Slash is open source. In fact, pretty much anything Slash touches or might need to do its job is open source: Apache, Perl, MySQL. And the protocols it uses are open: XML, RDF, and the usual web protocols. It is not, however, particularly cross platform: It runs on (among other UNIX platforms) FreeBSD, OpenBSD, Solaris, HP-UX, Linux; and sort of on Windows NT. And unless you're prepared to get awfully creative, you will run Apache and program in Perl. Not a problem for many, but still...

Running Weblogs with Slash tells you how to set up a Slash site. Of course, if you maintain a UNIX server or are just a reasonably savvy UNIX user, you can do that much without the book. But you'll want to customize your site (or weblog), and from what I've seen of the documentation available for Slash, you'll want the book.

For those who keep track of such things, the book's cover animals are crows: known for sociability, intelligence, and (I quote O'Reilly) "cooperative breeding," and yet despite all that, possessed of a bad reputation — perhaps like Slash, which really is an intricately, organically organized system, even if it looks like anarchy from here.

Order From Anarchy

Mere anarchy is loosed upon the world...

— ibid

Warning: I feel a rant coming on. Could the Tom Paines and Benjamin Franklins and the Jeffersons and Madisons of today actually be a bunch of scruffy revolutionaries named Stallman, Torvalds, Raymond, Von Rossum, Wall, and...CmdrTaco? Okay, forget the others. Is CmdrTaco the father of electronic democracy? That may be pushing it a little, especially since Slashdot isn't a country and isn't altogether democratic. But it seems to me that CmdrTaco and friends have invented a system that has evolved toward something very egalitarian and participatory — unlike political systems, which seem to evolve toward something else. Without taking anything away from the accomplishments of a few dozen wealthy white men sweating away in a room in Philadelphia two centuries ago, the Internet allows for actual tests of ideas about democracy with immediate feedback, and the ideas can be implemented in code. We can actually build systems that encode democratic principles, and ensure that the principles actually work. We can do this because we can run the systems, see what works and doesn't, and keep improving them. It's due to the combination of programming, the immediate connectivity and interactivity of the Internet, and the input from millions of human minds that the Internet affords. Code, connectivity, and consciousness.

Excuse me, I get carried away. Slashdot, and blogs generally, are more about simply communicating and publishing than about such grandiose political notions as these. But blogs do give me hope as yet another questionable court decision opens the door to yet more media consolidation. The official voices get even more official, alternative voices are seldom heard, and for every "AOL/Time-Warner is the parent company of this network" disclaimer mouthed by a newscaster, a thousand other corporate influences go unacknowledged. But blogs, now — why couldn't a distributed Web of independent whistle-blowers, muckrakers, and authority-questioners one day make the official voices irrelevant? Why can't a FreeNN replace CNN? Or has it already happened, and I just haven't caught on yet?

You Blog, He Blogs, I Blog

The ceremony of innocence is drowned...

— ibid

Rant over, at least for now. I have been running a sort of blog-like web site for years, but I wanted to do a real blog. My exploration of blogging soon led me away from Slash, though. I'll gladly UNIX when it's appropriate and even Windows when its unavoidable, but for daily work, I'm a Macker, and a good weblog is updated more or less daily. So I needed blogging software that would run on a Mac; in fact, on Mac OS X.

Reenter Nick Turner. I say "reenter" because Nick has been here on these pages before: As a DDJ editor through 1986 and 1987, he wrote the "Running Light" column, brought more Mac programming articles to the magazine, and championed open-source software before many of us knew there was such a thing. I recently had dinner with Nick and he bent my ear (which still bears crimp marks from 1986-87) about Radio Userland: Nick was setting up a weblog and was using this software from Mac programming pioneer Dave Winer's company. Over the chocolate mousse my thoughts gelled, and I decided to put up or shut up, to put together that weblog that I'd been putting off, and to put my money on Radio Userland.

At least a little money. Radio Userland (http://radio.userland.com/) is cheap and easy. Choose all the defaults and you can have a site up in five minutes. Of course, it'll look generic, so you'll want to customize the look, and then you'll want to customize the behavior. Radio Userland is largely template based, so you can swap out components and substitute your own, so it is infinitely customizable.

Unlike Slash, Radio Userland is neither open source nor free (but it is cheap); its supported platforms are Mac OS X (good for me), Mac Classic, and Windows XP/2000/NT/98. Among other features, it automatically turns the content on your weblog into an XML feed that can be syndicated and subscribed to by other Radio users, and the SOAP support means you can work in Perl, Python, or Ruby to connect into and out of Radio, rather than using Userland's own Frontier language. So I went with Radio. There's a link to my blog at http://www.swaine.com/.

The Center Cannot Hold

Things fall apart; the centre cannot hold...

— ibid

Okay, so the center cannot hold. With the utmost respect to Mr. Yeats, I suggest that this is a feature, not a bug. At least if "the center" is centralized authority, something that my anarchic mind can't see as anything more than a necessary evil — and maybe not so necessary. And distributed computing is an example of what can be done by moving away from central authority.

Besides the Internet itself, there are several models of distributed systems proving their worth today. There's grid computing: For at least a decade, academics have been connecting networks of computers to create supercomputers to do demanding tasks like global climate modeling. The Napster-Gnutella-FreeNet-Grokster-Morpheus-KaZaA peer-to-peer model of distributed file sharing has proved to be an enormously powerful idea. And then there are the networks of PCs currently spending their idle cycles working on cures for cancer and AIDS, cracking codes, and looking for ET. Who would have thought that the most important piece of software might turn out to be a screen saver?

Recently at the Global Grid Forum, big companies such as Microsoft, IBM, and Sun got inspired to marry grid computing with the hot business software topic, web services, giving this academic paradigm some business respectability. Now Groove Networks (http://www.groove.net/) says P2P is the new middleware. It's not "that the Web cannot adequately serve as a communications platform, but rather that peer computing simply may be more cost-effective, more personally efficient and more flexible and adaptable," a Groove whitepaper says, suggesting that Napster and Gnutella are just the "thin edge of the wedge" that will open up an entirely new dimension of computing. But that will require, Groove says, "a general purpose platform — like the PC or the web server — upon which a wide variety of applications can be built and deployed."

Sounds like an ISOS — an Internet-scale operating system, a term from the March 2002 Scientific American article "The Worldwide Computer," in which David P. Anderson and John Kubiatowicz argue that we'll never get anywhere with distributed computing if we keep reinventing the distributed wheel with each new distributed project. A great deal of the work of any distributed computing project is not task specific, and could be supplied by a distributed computing infrastructure. They propose that it be an actual operating system, and that it be global. Their article conjures up visions of the planet-wide computer popular in 1950s science-fiction novels.

As they describe it, an ISOS would consist of an ISOS agent that runs on every involved computer, and a central coordinating system that runs on one or more ISOS server complexes. Together, these would provide only core functionality: "allocating and scheduling resources for each task, handling communication among host computers and determining the reimbursement required for each machine." In other words, the ISOS would be a microkernel, with higher level functions delegated to programs running on the operating system.

Just a thought: If distributed computing is the wave of the future, does it have to come about through some overarching top-down vision of an Internet-scale operating system? Couldn't it just evolve organically from existing grid-based tools? In a February 25 Byte.com piece (http://www.byte.com/), Bill Nicholls describes a set of open tools, such as Open LDAP, for enabling the use of complex distributed resources. Couldn't such tools coalesce into a global grid operating system?

No Convictions, Some Arrests

The best lack all conviction, while the worst are full of passionate intensity.

— ibid

Sounds like if you lack conviction, you're in good company. Maybe those who lack convictions make up for it by entertaining ideas. If I were an idea, I'd want to be entertained by Ted Nelson, a very entertaining idealist. It would be wrong to suggest that Ted lacks convictions, but his convictions tend to look like anarchy from here. Despite the often arrested development of Xanadu, Ted's vision of how (networks of) computers ought to work, Ted is still pursuing alternatives to rigid hierarchies, and tyranny of files and applications. I've mentioned here before (February 2002) the Nelson-inspired ZigZag project; Juancarlo Anez recently wrote to remind me about Lotus Agenda, an innovative product that tried to do something similar. You entered information into Agenda in an unstructured way, and it could recognize dates and places and peoples' names for you. Anez figures that "the approach in Agenda was superior [to ZigZag] from a user perspective because the 'database' required little or no design. Agenda could find 'dimensions' of relationships for the user, and the user could define new dimensions over existing 'cells' any time, through rules." There are a lot of people who haven't given up on Agenda yet (http://home.neo.rr.com/pim/alinks.htm).

In fairness, ZigZag is a more radical departure, casting off most of the central concepts of computer use including folders, files, applications, and windows. It's also a tool that may have more to offer developers than mere users. Maybe that worldwide computer ought to run ZigZag, rather than some UNIX-like microkernel.

Whattaya Mean "MERE Anarchy?"

Surely some revelation is at hand...

— ibid

Rant mode again. There's a lot more embracing of anarchy by people in positions of authority and power than anarchy's scofflaw reputation might lead one to think. Anyway, the central myths of capitalism look like anarchy to me: Good products drive out bad ones with no government regulation; unfettered competition automagically leads to fair prices. And then there are the myths of jury trials and democracy: Justice is best attained from 12 random people picked off the voter rolls; majority-rule decision-making somehow results in decisions that are wiser than the average wisdom of the group. That these are myths is demonstrable: just think of Enron, O.J., and the pregnant chad. But I mean no disrespect or cynicism here; these are beautiful and useful myths that I am not willing to abandon. So beautiful that it is worth asking: Could we possibly rewire the world so that it actually works this way? Tweak the infrastructure of these myths?

If so, I suggest that the cybernetic metaphor of Norbert Weiner is a better model than the Von Neumann model espoused by Weiner's more famous contemporary. Basically, Weiner thought of all computing in terms of self-regulating, self-governing systems; Von Neumann's view was one of central control. I confess that I'm trying to stretch these perspectives into metaphors to live by. But we now live at least partly in a virtual world where metaphors are real, and the paradigms we program in are the cultures in which we live. I believe that somewhere in the combination of distributed computing, open-source software, cybernetics, emergent properties of complex systems, ZigZag, Agenda, and participatory democracy there is a powerful metaphor. I just don't know what it is — although it does look a little like anarchy from here.

DDJ