RIP USENIX ATC
USENIX made the decision this week to discontinue its flagship Annual Technical Conference. When USENIX was started in 1975 — before the Internet, really — conferences were the fastest vector for practitioners to formally share their ideas, and USENIX ATC flourished. Speaking for myself, I came up lionizing ATC: I was an undergraduate in the early 1990s, and programs like the USENIX Summer 1994 conference felt like Renaissance-era Florence for systems practitioners.
When we developed DTrace in the early 2000s, we knew that there was no better venue to announce it to the world than USENIX ATC. We put a lot of effort into the resulting paper, Dynamic Instrumentation of Production Systems — and I was elated when it was accepted for USENIX ATC 2004.
The conference itself was… surprising. This was not the USENIX of a decade prior; the conference was decidedly academic, and in the strictest sense: all of the presentations were from PhD students seeking out academic work. I wrote about this (with characteristic bluntness?) after I returned from the conference, asking whither USENIX? This blog post engendered quite a bit of discussion (the bygone era of meaningful discourse in blog comments!) — and an especially thoughtful long-form response from Werner Vogels.
Werner’s thoughts in turn inspired my own response, where I in particular looked at the Program Committee formulation — and became alarmed by the total collapse in industrial participation. Ted Leung noted this, and referred us to Rob Pike’s infamous polemic. I wrote again on this later that summer (those halcyon days immediately before the delightful distraction of a newborn!), asking whither systems research?
The summer of 2004 was a long time ago; the occasion of ATC’s discontinuance affords us the opportunity to look back on all of this now two decades on.
First, on systems research, it is ironic (or perhaps it isn’t?) that Pike decried the lack of new systems — but one of his own creation, the Go programming language — became indisputably one of the most important system software developments of the 2010s. Go is not alone, of course: that decade also brought us the Rust programming language, a language that I fell so in love with that we named our company after it.
What happened here? As in so many other dimensions, I think our discussion and consternation in 2004 plainly underestimated the importance and impact of open source. Go and Rust do not arise — cannot arise — in a proprietary world. These are also not the work of hobbyists: they were written by professionals for professionals in a professional capacity. And of course, it isn’t just languages: in all manners of systems software, the leading edge of innovation is in deployed, production, open source systems. Open source systems are not without their own complexity and conflict, of course — viz. the recent shoot-out at the CNCF corral — but these are literal sideshows: in the last two decades new, innovative, production-oriented systems have thrived (whether we call those systems "research" or not). Importantly, the vector for publishing for the practitioner is via repositories rather than being confined to only formal writing.
Second, as for USENIX ATC itself, the conference itself plainly struggled. The problems that I had seen with respect to an overly academic conference seemingly metastasized, and for me, the conference drifted further and further from the shores of practitioner relevance. (For practitioners seeking to formally publish, I recommended that they instead target Communications of the ACM via its practitioner-focused content.)
Seemingly unaware of my own ambivalence about the conference, however, USENIX asked me to return in 2016 to give the ATC keynote. With the caution that some found my presentation offensive, my keynote, A Wardrobe for the Emperor, outlined my belief that computer science had erred grievously in insisting upon conferences (rather than journals) as a publishing vehicle — and that USENIX and its conferences had been a casualty. And while my keynote may have been particularly candid, I am not the only one who saw this: Rik Farrow wrote up an excellent piece on my talk for ;login: giving context that I was unaware of — namely that inside of USENIX, this was an issue of concern reaching back decades. So USENIX ATC did finally succumb, and I do view it as a casualty here, asphyxiated by the rough love of academic computer science and its inability to grow beyond the conference model of publishing.
That said, while ATC may have died in the arms of academia, it would be unfair to say that academia alone killed it: as Adam and I discussed with Stephen O’Grady, KellyAnn Fitzpatrick and Theo Schlossnagle, conferences are hard — and in-person conferences are especially so. While they certainly lose something in the process, it feels like online conferences give us indisputably (overwhelmingly!) more bang for the buck; it felt like some decline of USENIX’s in-person conference model was inevitable. This is not to say that in-person models are impossible, of course, just that they needed to look different. (Selfishly, I wish USENIX had developed conferences like the Systems We Love event that we ran in 2016 — selfish because I’d much rather attend than organize!)
On ATC, I think we can fairly grieve what we lost: ATC was — at its height — a singular forum for presenting pioneering systems work. And even as it declined in attendance, it retained this spirit in its best works. Certainly, I view our own work at ATC in 2004 as striving to be in this tradition — and I think that it’s apt and fitting that last year’s Best Paper (which will stand as the penultimate USENIX ATC Best Paper) is on a system to validate AI infrastructure at scale, deployed on a real, production system, reporting results that are relevant to the practitioner.
So RIP, USENIX ATC. I know we had a complicated relationship over the years, but it was a good run. Thank you to everyone at USENIX who gave us an important forum for some of our biggest and boldest ideas — and we’ll always have the summer of 1994.