In a day or two I plan to do a blog post on the way engineering decisions can be critically important at cusp points in the history of society. In order for part of the argument in that post to make sense, my readers need to hear a story I’ve been hinting at in comments for some time: the first time that I personally made a difference in the world at what I believe was history-changing scale, and how that happened.
I think it was at the 1983 Usenix/UniForum conference (there is an outside possibility that I’m off by a year and it was ’84, which I will ignore in the remainder of this report). I was just a random young programmer then, sent to the conference as a reward by the company for which I was the house Unix guru at the time (my last regular job). More or less by chance, I walked into the meeting where the leaders of IETF were meeting to finalize the design of Internet DNS.
When I walked in, the crowd in that room was all set to approve a policy architecture that would have abolished the functional domains (.com, .net, .org, .mil, .gov) in favor of a purely geographic system. There’d be a .us domain, state-level ones under that, city and county and municipal ones under that, and hostnames some levels down. All very tidy and predictable, but I saw a problem.
I raised a hand tentatively. “Um,” I said, “what happens when people move?”
There was a long, stunned pause. Then a very polite but intense argument broke out. Most of the room on one side, me and one other guy on the other.
OK, I can see you boggling out there, you in your world of laptops and smartphones and WiFi. You take for granted that computers are mobile. You may have one in your pocket right now. Dude, it was 1983. 1983. The personal computers of the day barely existed; they were primitive toys that serious programmers mostly looked down on, and not without reason. Connecting them to the nascent Internet would have been ludicrous, impossible; they lacked the processing power to handle it even if the hardware had existed, which it didn’t yet. Mainframes and minicomputers ruled the earth, stolidly immobile in glass-fronted rooms with raised floors.
So no, it wasn’t crazy that the entire top echelon of IETF could be blindsided with that question by a twentysomething smartaleck kid who happened to have bought one of the first three IBM PCs to reach the East Coast. The gist of my argument was that (a) people were gonna move, and (b) because we didn’t really know what the future would be like, we should be prescribing as much mechanism and as little policy as we could. That is, we shouldn’t try to kill off the functional domains, we should allow both functional and geographical ones to coexist and let the market sort out what it wanted. To their eternal credit, they didn’t kick me out of the room for being an asshole when I actually declaimed the phrase “Let a thousand flowers bloom!”.
(I wish I could remember who the one guy who immediately jumped in on my side was. I think it was Henry Spencer, but I’m not sure.)
The majority counter, at first, was basically “But that would be chaos!” They were right, of course. But I was right too. The logic of my position was unassailable, really, and people started coming around fairly quickly. It was all done in less than 90 minutes. And that’s why I like to joke that the domain-name gold rush and the ensuing bumptious anarchy in the Internet’s host-naming system is all my fault.
It’s not true, really. It isn’t enough that my argument was correct on the merits; for the outcome we got, the IETF had to be willing to let a n00b who’d never been part of their process upset their conceptual applecart at a meeting that I think was supposed to be mainly a formality ratifying decisions that had already been made in working papers. I give them much more credit for that than I’ll ever claim for being the n00b in question, and I’ve emphasized that every time I’ve told this story.
Now look at what we avoided. With the chaos came a drastically decreased vulnerability to single-point failures – and I mainly mean the institutional kind, not the technical kind. If DNS addresses had been immobile and tied to individual legal jurisdictions, there would have been a far stronger case for keeping address issuance under government auspices (it’s not like phone numbers, which started out being privately issued on privately-owned infrastructure). The bad consequences would only have started with expense and bureaucratization; more than likely control of the Internet address space would have become, in many jurisdictions, a political instrument used to reward approved parties and control information flow.
Not only would this have been a bad thing in itself, it would have set a negative precedent for centralizing other aspects of Internet governance that might well have hardened into stone by the time the technology was ready for the general public a decade later. Those of you who think ICANN and fly-by-night registrars are a pain in the ass aren’t wrong, but you should be on your knees in thanks that we got a system with that much play and polycentrism in it. We very nearly didn’t.
If I were a dimwitted egotist I’d claim to have saved the world, maybe. But what really mattered is that I threw my disruption into a roomful of hackers with an innate distrust of hierarchy and a strong allergy to system designs with single-point vulnerability. It was that shared culture that made the difference, more than me – it produced my objection, and it produced people ready to hear it.
Still. It was my hand that went up. Anybody who grokked that computers could be mobile could have changed history just then, but it happened to be me, and it was my first time.
UPDATE: It’s been pointed out that while the RFC-issuing group that became the IETF existed in 1983-1984, it did not formally constitute itself as the “Internet Engineering Task Force” until 1986. So my use of the term here is anachronistic.