During the last few years I’ve noticed a change in the meaning of my life – well, my life as a hacker, anyway. I had an exchange on a mailing list last night that made me think it’s not just me, that the same change has been sneaking up on a lot of us.
It’s part of the hacker ethos to (as Alan Kay put it) predict the future by inventing it – to playfully seek solutions to problems people outside our culture are not yet even thinking about. We still do that, and I think we always will.
But increasingly, as the world of pervasive networks and ubiquitous computing hackers imagined decades ago has become reality, we’re not just the innovators who thought of it first. Now we’re responsible; having created the future, we have to maintain it. And, as the sinews of civilization become ever more dependent on the Internet and software-intensive communications devices, that responsibility gets more serious every year.
This makes for a subtle change in our duties and our relationship to our work – a gradual shift from merry prankster to infrastructure gnome.
What started me thinking about this seriously is the Bufferbloat project. Those of us working on it believe we’ve identified a cluster of serious problems deep in the Internet’s implementation, and we’re working hard on diagnostic tools and mitigation methods.
Sometimes, as we work on this, it’s difficult to wrap our minds around the implications of the worst-case scenarios. We’ve identified problems that plausibly could trigger a congestion collapse of the entire Internet. The one previous time the Internet suffered a congestion collapse, in the late 1980s, almost nobody but a handful of geeks noticed. Today, a service interruption of the same relative magnitude would be a civilization-challenging disaster.
Nobody is panicking about this. We’ve got a remediation job to do, and we’re about as competent to do it as any team could be, and the odds that the Internet will random-walk into an unrecoverable crash before we can fix the vulnerabilities seem acceptably low. But damn. This isn’t an aspect of the future we were expecting, though in retrospect we probably should have. I look at us and wonder: when did we join the people who have to hold up the sky?
While an Internet congestion collapse is still a high-end extreme, it is no longer a particularly rare thing even for smaller projects to be life-critical. My own GPSD is a good example. Maybe it was all about mapping WiFi hotspots and geocaching and research applications a decade ago, but nowadays the known deployments include the IFF systems of armored fighting vehicles in wartime. Bugs in my stuff could kill people.
I don’t lose sleep over this, because I know I’m very good at what I do. If it weren’t me obsessing about our regression-test suite and our portage tests and annotating our code for static checking it would probably be someone less experienced and skilled than I am, and the odds of consequent avoidable deaths would go up. But, again, damn. This is not exactly what I was expecting thirty years ago, when I signed on to the whole hacker-ethos thing to push on the frontiers of possibility.
And it’s not just the bufferbloat guys, and it’s not just me. Think of Linux on embedded systems, diffusing its way into medical equipment. And the flight avionics of airliners. And thousands of other invisible deployments where crashes and errors can kill. Hackers didn’t go looking for the job of holding up the sky, but as ephemeralization and distributed machine intelligence become more and more critical to the way human civilization functions, and open source takes over ever-larger pieces of that infrastructure, that job is finding and settling on us.
There may be transitions like this associated with every new technology. But it’s happening faster now. Newcomen and Watt didn’t live to see the day when the world’s factories and commerce became dependent on steam engines, but I’ve lived to see my code become ubiquitous on almost everything that lights up pixels on a digital display. And I’m far from the only hacker who can say similar things.
Ubiquity, like great power, requires of us great responsibility. It changes our duties, and it changes the kind of people we have to be to meet those duties. It is no longer enough for hackers to think like explorers and artists and revolutionaries; now we have to be civil engineers as well, and identify with the people who keep the sewers unclogged and the electrical grid humming and the roads mended. Creativity was never enough by itself, it always had to be backed up with craftsmanship and care – but now, our standards of craftsmanship and care must rise to new levels because the consequences of failure are so much more grave.
But that’s OK. We’ve always had an ethos of service, an other-directed component to our idealism. I believe hackers, as a culture, can handle these new demands; the adjustment required is not a break with our traditions but a broadening and deepening of them.
And then there’s this. Back when what we did on computers was more exclusively playful exploration and those computers were less ubiquitous in everyday life, it was easy to wonder sometimes if our hacking – as much fun and as challenging as it was – would ever be actually mean anything outside of research labs and universities and corporate server rooms.
Now there is no longer doubt; what we do matters. Today hackers are, in fact, among the unacknowledged maintainers of civilization. There is honor in that.