“Good heavens, Mardonius, what kind of men are these that you have pitted us against? It is not for money they contend, but for glory of achievement!”
-Herodotus, The Histories, 8:26
The one thing I’d tell normies about tech to instantly blow their minds is this: the quasi-entirety of the Internet is built on software created for free by volunteers. That’s the way it’s always been, and likely the way it will remain, whatever the corporate hegemony of the moment. Almost like a biblical body of holy scripture where every revival-tent startup cobbles different theologies out of the same books, open-source underpins our global tech religion and resides, Torah-like, inside the ark of GitHub. The cults of the Sun Microsystems and the Facebooks that fleetingly grace the glowing covers of Fortune (or the derisive headlines of Verge) may come and go, but the gospels of Linux and Python are forever.
It’s almost as if the Internet had been built on some kind of code kibbutz, where idealistic programmers fired by a grand vision, expounded by prophets like Richard Stallman and Linus Torvalds, all pitched in to collectively create something beyond the ken of uninspired corporate drones. And all that with almost no top-down formal governance and only virtualized self-organization to go on.
Or was it really?
This is the overlooked-by-conventional-media-but-actually-important story that Nadia Eghbal takes on in her new book Working in Public: The Making and Maintenance of Open Source Software, out last week thanks to Stripe Press (yes, that Stripe). That the open source movement should still live in the relative obscurity of techie nerdery says more about the (in)ability of tech journalism to grok how tech really works more than anything else. The tl;dr is that with Working in Public, Eghbal has written the definitive work on perhaps the most important and longest-running trend in software technology of our lifetimes, and one that—SPOILER ALERT—also presages much else besides.
But first, teh codez.
With the sure hand of someone who’s spent several years inside open source—first as a developer relations person at GitHub, then as a researcher at R&D lab Protocol—Eghbal guides the reader through this world’s motley mix of colorful bazaars and towering cathedrals[1]. The ride careens from small npm packages (bazaar) to Linux itself under the dictatorial tutelage of its eponymous founder Linus Torvalds (cathedral, with pope inside).
Eghbal possesses an almost poetic ability to explain the technical specifics to a layman audience. My favorite: Methods are the ‘verbs, or actions, for code’ (this in the context of the #SmooshGate brouhaha, over the naming of a function, that polarized the Javascript community). The complex interplay of users and contributors is analogized via a childhood neighbor of Eghbal’s who’d hang an ostentatious Christmas-light display every season. Pull requests (ahem), dependencies, modules, merge conflicts…all the machinery of real-world code developments are laid out gradually and painlessly. The data dump on open source collaboration drops as the guided tour jumps from one project and creator to another, in an almost endlessly-sourced collection of anecdotes, GitHub screenshots, and bits of snark from prominent open-source contributors.
Software is a kind of alchemy: an engineer pecks away quietly at a keyboard, and armed with nothing but an IDE and a few AWS servers, creates logical instructions whose execution magically gushes real cash. That cash is as readily convertible into San Francisco private schooling, Mission lofts, Atherton mansions, Tesla automobiles, and all the other trappings as cash from tangibles like oil or real estate. The mystery of that transubstantiation of code into money and influence is so profound, those incapable of performing the code miracle now routinely accuse its practitioners of witchcraft. But sometimes the mystery escapes even practitioners: many of the selfless contributors Eghbal quotes have trouble making ends meet, and either do freelance consulting on the very code they created, set up Patreons like other struggling artists, or hold down day jobs often not even related to their projects.
The problem involves conflicting and non-complimentary motivations. Those slinging code pro bono are doing so for reasons of intrinsic motivation: the joy of creation for its own sake, the pursuit of status among the community of developers, and the satisfaction of technical mastery. Like the Persians puzzling at the Greeks and their strenuous pursuit of glory at the Olympic Games in the opening epigraph, it seems an almost mystifying level of altruistic effort to outsiders. The problem comes with the ugly and boring side of software development, the work that engineers (or often non-engineer specialists) have to be paid to do through gritted teeth: bug fixing, juggling feature requests, reviewing other peoples’ code, and managing user feedback.
Eghbal invokes the much-studied economic notion of a ‘commons’ to describe both the bountiful shared resource and lump of unpleasant work that open source represents. The old-timey name stems from the historical parallel that inspired it: until the 19th century, British cattle farmers often grazed their livestock on commonly held land belonging explicitly to no one. If a farmer were to add more cattle to the common pasture for his own benefit, he would necessarily degrade the pasture land for the rest. Everyone acting rationally would eventually destroy the resource that made cattle raising possible, ergo the ‘tragedy’ [2]. The problem seemed theoretically intractable, until future Economics Nobel prize winner Elinor Ostrom cataloged a number of functioning economic commons and the commonalities that made them governable. The principles—membership is clearly defined; rules are decided by members; enforcement is by members and sanctions are gradual—would ring bells to anyone who’s ever successfully admin’ed a FB group or sub-reddit.
The Eghbal framework of open-source communities.
Here, Eghbal finally shows her cards. Working In Public, despite being a superlative book-length tour of the open source movement, isn’t really about collaborative software development. It’s really about how a virtualized, digital world decoupled from the physical constraints of manufacturing and meatspace politics manages to both pay for and govern itself despite no official legal frameworks nor institutional enforcement mechanisms. Every class of open source project in Eghbal’s typology can be extended to just about every digital community you interact with, across the Internet.
The admin of the popular sub-Reddit r/AmItheAsshole is operating a federation: lots of people post, lots of people join, there are ground rules, but not an enormous amount of intra-user context.
Someone running a tight Facebook group focused on some interest is running a club: members post a lot, new members are few and far between, context is high and if anyone acts out, they get progressively sanctioned until they’re booted.
A Twitter gadfly, say @mattyglesias or @noahpinion, is running a one-contributor stadium with hundreds of thousands of followers, hordes of trolls they’re constantly blocking, and a never-ending torrent of a mentions tab.
Some non-influencer normie running an IG account where they post pics of their kids and weekend travels are running a toy (and probably like it that way).
And yet an open source project, or whatever manner of online community, isn’t a 19th-century English pasture or (per Ostrom’s preferred example) an offshore fishery under unclear maritime control. Code is infinitely shareable, and to use Jefferson’s memorable elocution: “He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.” Ditto the latest Node.js package or a popular Twitter account. What then is the code commons, and where’s it turn tragic?
XKCD on open source software.
The problem is the code (or whatever else) might be free, but the human attention required to create it is not.
Attention is to a virtual economy what the gold bullion used to be to the Bretton Woods economy, or what computation aspires to be in a cryptocurrency economy: the ultimate measure of value that everything boils down to in the end. Despite code being the most ethereal and intangible good there is—human thought distilled as runnable logic—it’s made by flesh-and-blood humans with mortgages to pay and mouths to feed and dogs to walk. Every hour of life brings one closer to the grave, and the exchange of that inching proximity for wages is what we call labor (those with more money than time are called investors, and their trade runs the other way). The wages of open source are denominated in fame and social prestige—those who don’t think people like Von Rossum or Torvalds are treated like celebrities need to spend more time nerding out on Hacker News—but prestige and $3 gets you coffee at Starbucks. When a commercial user nags about another feature request or a contributor with shaky coding skills submits an ill-conceived pull request, it’s like an English cowherd putting yet another cow on the commons of community attention: rational actors selfishly destroy the collective resource.
The real tragedy that emerges from Eghbal’s account is how so many brilliant and self-sacrificing open source contributors are scraping to get by, doing often thankless maintenance work on code that’s risen to absolutely foundational status in the modern Internet, and yet whose users, many of them well-heeled companies, pay absolutely nothing for such laborious upkeep.
Here again, Eghbal provides a framework that transcends the open-source context that inspired it. In a digital economy, goods are either excludable or not (meaning paywall-able, essentially), and rivalrous or not (meaning infinitely copyable at zero marginal cost or not). The resulting 2 × 2 matrix describes just about every way to make a buck online.
The Eghbal framework (awkward numbering mine)
Broadly, the line between excludable and non is the line between where subscriptions vs. ads reign as business models. The line between rivalrous and non-rivalrous is that between human-driven attention (the ultimate luxury good in a digital economy) and the infinite reproduction of pixels and bits. Box 1 is the VIP room, box 2 is cattle class, box 3 is freebies like Wikipedia and ads-supported sites like BuzzFeed, and box 4 is the digital latrine where every online spat is unfolding on every hellsite in the world.
Per the Eghbal framework pictured above, any creator’s goal is to maximize boxes 1-3, while trying to minimize the expenditure of box 4: garnering more monetizable attention than the attention one spends either luring or servicing that outsider attention. Everyone from your Humble Correspondent to a writer for The New York Times to the lone contributor on a GitHub project all exist in a superposition of Eghbal states. To wit:
An open-source developer writes code for box 3, while charging for technical support (or holding down a day job) in box 1, while fielding user comments in box 4.
Your contemporary Writer and Very Online Person writes for an ad-supported publication in box 3, and shitposts to drive their brand and distribution in box 4. If lucky, they’ll publish a book in box 1.
Ben Thompson, tech blogger and analyst par excellence, publishes free teaser posts in box 3, charges for subscriptions to posts in box 2, engages with post commenters in box 1, and also tweets in 4. Substack itself exists as a form of BTaaS: Ben-Thompson-as-a-Service, productizing the business model a lone creator pioneered and helping anyone navigate the various Eghbal states.
Thus is our new digital economy structured. And all of this exists completely outside the timeworn frameworks that have governed the traffic of people and atoms since the Sumerians and through the Industrial Age. Colored squares on the map belonging to this or that tribe, debt financing collateralized by fixed assets, geographic arbitrage of agriculture and manufacturing as a function of climate and transport costs, deeded ownership of physical goods….all as deprecated and soon-to-be irrelevant as stale code in the digital world.
One glaring gap in an otherwise magisterial work is the absence of any projects packaged as either venture-backed corporations or charitable foundations, many of which nurture some of the most commonly-used open source technologies. In my day gig, we are huge users of the distributed-computing framework Spark, and the only coding I do anymore is PySpark code inside a Jupyter notebook hitting a Spark cluster. How did the code at the heart of so much data-munging go from an academic project at UC-Berkeley to an open source project to venture-financed Databricks which has raised almost a billion dollars? For that matter, how did my Summer 2010 Y Combinator batch mate company Docker (then known as dotCloud) go from cloud tools to one of the more popular containerization technologies? How does the Apache Software Foundation really work, and how does it manage so many cornerstone technologies from the Apache webserver to stream processor Kafka? How do many of these companies make millions off free software while contributors of other projects barely scrape by?
The answers are not found in Working in Public. From an edited segment of my interview, Eghbal stated she very intentionally kept the focus on the individual contributor and away from the corporate constructs. Doing so keeps the story very human scale, but it also skips the dominant vector for open-source code actually turning into wealth commensurate with its real value. Someone else will have to write the book resolving the mystery of how free code, if packaged properly, can make its authors vast amounts of wealth.
Zooming out from the microscopic view to the telescopic one, it’s astonishing that anyone manages to turn computer instructions into anything resembling a living. I’m old enough to remember when computers were still the uninteresting and toy-like preserve of nerds, and ‘engineering’ largely meant something involving bridges or machinery.
It’s the triumph of the cerebral and intangible over the brute and physical, GitHub repositories and Substack posts versus John Perry Barlow’s ‘weary giants of flesh and steel’. The real question is what we do as the human mind is wrenched from the gutter of legacy politics, geography, and material want, and launched ballistically into the stars of code, data, and the ongoing media spectacle. Until the techno-Rapture of the Singularity happens, for all our fancy code and Facebook groups, we’re still just irritable apes staring at screens and fancying ourselves entities of pure digital thought. But a shift has happened nonetheless: the Internet used to reflect our real-world lives and the physical world. Increasingly, our real lives and physical worlds are just a reflection of our digital ones. We’ll have to drag the creaky institutions that once governed our physical lives into this disembodied world. More likely, as the creators of open-source projects did, we’ll have to create entirely new ones instead.
This imagery is due (of course) to Eric Raymond, one of the first proponents and catalogers of the open-source movement, and his classic The Cathedral & the Bazaar.
The real-world solution to the ‘tragedy’ in England involved closing off most commons and transferring them to private ownership, a historical process known as ‘enclosure’. Economists credit the resulting economic surplus, thanks to better resource management, with spurring the Industrial Revolution that transformed both Britain’s and the world’s economy (but not before causing a good century of peasant revolts).
A few observations from six years leading a company that grew a semi-popular OSS project...
Some under-reported uses of OSS (beyond the simple function of the code, and the reputation of the coder):
1 Open source is marketing. Basically freemium for devs. It proves that its makers can write software that works, makes their employer look cool.
2 Open source is recruiting. It surfaces talent that already knows your stack.
3 Open source is a weapon of commerce. Commoditize your complement and maintain control of the layer that the user touches. OSS is the napalm of tech.
4 Open source is geopolitical leverage. A dominant protocol that one or a few companies can control. Example: Google turns off Android services to Huawei.
Some ways to make money from OSS:
1 Selling solutions to their own complexity. Red Hat, Cloudera, Confluent.
2 Setting Licensing triggers. Let me turn off this GPL for you, or insert a clause for the cloud.
3 Open core/supported commercial version or feature paywall. Typically when you need scale, we talk money...
4 Access to large numbers of the right atoms. Managed, Web-hosted instances that need compute too complicated for many users to configure.
Some misconceptions about OSS:
1 That the code somehow exists and works independent of the active support of its maintainers. The code is just a theory in the minds of a small group of people. When they leave, the project is morbid if not dead. There is a project-community fusion that we need a German word for.
2 That it is “free.” The cost of OSS is inherent in the choice to build something. Most companies should not be building proprietary software themselves. They will pay their tithe to complexity down the road.
3 That the “community” contributes a lot. Often not true. Talking about community contributions in OSS is like talking about family when you refer to your workplace colleagues. There are reasons why those exaggerations exist. But a commercially backed core team is usually responsible for pushing large projects forward, who are paid for one of the four reasons at the top of this comment.
4 Governance is a polite way of talking about jostling for power. Once you build a popular project, governance becomes much more difficult, because the wolverines ensure their respective companies remain necessary parts of customers’ IT stacks by attempting to bias the OSS in favor of their other offerings. Foundations like Apache don’t solve that issue, they just formalize the conflict.
In addition to Nadia (whose writings are excellent!), DataBricks CEO Ali Ghodsi is really great on OSS and the business of it.