Reading Linus Torvalds from back at peak open source, I’m struck by how big the gap could be between what Linus had to say for himself and what seemingly everyone else wanted to say through him. Linus comes across a pretty practical guy. But Linux was having its moment. Everybody has their big idea. Tie Linux in, maybe you and your theory will be important, insightful, and revolutionary, too.
Not to be left out, Linus brought his own social insight:
Linus’s law says that all of our motivations fall into three basic categories. More important, progress is about going through those very same things as “phases” in a process of evolution, a matter of passing from one category to the next. The categories, in order, are “survival,” “social life,” and “entertainment.”
— Linus Torvalds in “What Makes Hacker’s Tick? a.k.a Linus’s Law”, prologue to Pekka Himanen’s The Hacker Ethic, 2001
Wait a minute, you might think. That’s not Linus’s Law! Linus’s Law is “given enough eyeballs, all bugs are shallow”. But that was actually Eric S. Raymond, who stuck Linus’ name on it. There were competing Linus’s Laws. Apparently Linus’s lost.
Just For Fun, which also mentions Linus’s Linus’s Law, is the book to read for the Linux origin story. But The Hacker Ethic is the one to preserve for science, the probable epitome of Dot-Com-era thought-leader theory hitching. Only the prologue’s by Linus, standing in for all of hackerdom. The epilogue’s a tie-in for a newly revised, 1,500-page academic trilogy assumingly titled The Information Age: Economy, Society and Culture. In between it’s a 153-page monograph by a fellow-Finn philosopher, arguing that hackers’ relationship to work represents a new, paradigm-busting—and thoroughly hacker-flattering—break from the Protestant Work Ethic, deep at the core of European civilization. The author’s conclusion features mock corporate board minutes for creation of the universe and a draft private contract for God’s grace, disputes in Helsinki. I shit you not.
It’s no wonder Linus’s piece was largely forgotten. But there are some choice bits of Torvaldsian bluntness to be found in it. One in particular stands out to me now:
Hacking is for rich people.
The money problem isn’t just assumed away. Its absence defines the status of hacker. In Linus’ words:
To hackers, survival is not the main thing. They’ll survive quite well on Twinkies and Jolt Cola. Seriously, by the time you have a computer on your desk, it’s not likely that your first worry is how to get the next meal or keep a roof over your head. Survival is still there as a motivational factor, but it’s not really an everyday concern to the exclusion of other motivations anymore.
And most succinctly:
A “hacker” is a person who has gone past using his computer for survival (“I bring home the bread by programming”) to the next two stages.
A hacker is rich or from a rich, generous country. Their basic material requirements are met. That leaves “social life” and “entertainment”…and a computer with which to try and get them. Peer-group cred. Technical clout. Intrinsic fulfillment. Personal creative expression. All those finer things up toward the pointy end of Maslow’s pyramid. Which is pretty clear prior art for Linus’s Law. How to scale such heights, stuck at home for a bleak, Finnish winter?
In a strict sense, hacking is not the same as open source. Workaday people occasionally do get jobs slinging code in public, on the Web. But those new to the game are often disappointed by just how much like the rest of work it is. Not much self-actualization. More reminding yourself that bills are being paid.
The story we like to hear is that the real open source, the revolutionary stuff, expresses righteous hacker frenzy, not some corporate budget allocation or mid-level management strategy. If businesses happens to be involved, it’s through odd lapses in its native authoritarianism. Occasionally a fat and happy corporation will hire good people, put them in a “lab”, allow them to release, and benignly neglect to manage them, as if by inspired mistake. The result is much the same as tenure or a particularly advanced form of the dole.
“You must be this rich to do proper hacking” is not something bread-needing coders recently tapped into the decades-running pep rally for “community-driven” open source want to hear. Especially those not from rich, generous countries, which is now most of them. The instinctive response is to quibble, pleading changed circumstances. Many people very much caught up in making rent, buying food, and supporting families have computers these days. Networked compute has been “democratized”, in the sense of more people having it. Perhaps other kinds of progress have made it unnecessary to be a single, bored rich guy to hack.
But there are blunt truths in Linus’ old amateur philosophy. People on effective sabbatical do seem more capable of turning out work different in kind from business output as usual. And having created some genuinely competitive bit of software—competitive on function, competitive on price—it takes a certain level of financial indifference, or the ignorance of one who’s never had to learn business, to give it all away. Scaled up to the organizational level, it’s a badge of structural power to dump valuable goods on the Net, confident in positioning to profit disproportionately from the market distortion.
If we accept these dynamics as frankly as Linus reflected them, even as heuristics rather than definitional laws, some clear implications for the big picture follow. Moreso than “sustainability”, those concerned with progress in software ought to think about opportunity. Software is young, and there is far more still to be unlocked than maintained. Progress isn’t just a slow march toward 100% of code conceivable now costing zero dollars and coming on an MIT License. Optimization is an ongoing tuning problem: marshal as much talent as the market can bear and push as many worthy programmers as possible past the point of subsistence, so they can advance the art. Not all worker drones. Not all gentlemen of leisure. Both, and a gap-free paved path of business models in between.
It’s generally unwise to shop at stores whose success will probably eat your job, even if they’re slightly cheaper. Ditto supporting rules or norms that will hold you down or keep you out. As programmers, we shouldn’t push absolutes, in policy or in culture, that narrow down who can make money and how.
If we pretend our only interests are as users, rather than as creators or maintainers, we don’t end up in a Utopia where no one is poor, software costs nothing, and devices never tell us no. We end up with a thin, peculiar class of people who can make it in software production, thanks-no-thanks to well remarked economic constraints. Whole categories of needs go unmet, because the kinds of people who can make a living in software either don’t see or feel those problems or can’t earn the freedom to address them with energy and focus to spare. Poor allocation of available ability keeps programming stuck in old patterns. Talent gets distributed quite without to class or nationality, but even as cheaper compute and comms make them less relevant, opportunity to realize remains stubbornly correlated.
Sounds an awful lot like where we are now.
A little blunt Linus-style economic realism could go a long way. A little less point-headed theory, too.