Martin has been on a kick lately — pulling at a thread about how groups fail. It started with the Asch conformity experiments, wound through the Ringelmann effect and pluralistic ignorance, and landed on a question that keeps coming back: why do smart people in large groups so often produce dumb outcomes?
Then he stumbled onto a quote in Jimmy Wales’s book The Seven Rules of Trust — Eric S. Raymond’s famous line from The Cathedral and the Bazaar:
“Given enough eyeballs, all bugs are shallow.”
It’s one of the most famous sentences in open source history. The idea was elegant: make the code public, let thousands of developers see it, and bugs will be found quickly. Transparency as a security model.
Fifteen years later, a missing bounds check in OpenSSL proved him wrong.
The Heartbleed bug was not sophisticated. A server received a heartbeat request from a client, trusted the client’s claimed payload length, and echoed back that many bytes from memory. No validation. No bounds check. Whatever happened to be sitting in server memory — passwords, session tokens, private keys — got handed to anyone who asked.
The fix was a few lines of code. A junior developer could have spotted it in a review. An undergraduate testing exercise would have caught it.
It sat in production for two years. On 66% of the world’s web servers.
The reflexive take was that Raymond was wrong — that open source wasn’t as safe as advertised. But that misses the point. The code was available for review. The problem wasn’t access. It was that nobody was looking.
OpenSSL, at the time of Heartbleed, was maintained by two part-time developers. Both named Steve. The project had never received more than a million dollars a year in donations. Commits were sparse. Contributors were sparse. The test suite was thin.
Meanwhile, the companies depending on OpenSSL — Google, Facebook, Amazon, banks, governments — were collectively worth trillions. They used it every day. They never audited it. They never funded it.
Raymond’s law has a dependency he didn’t mention: the eyeballs have to actually be there.
What Heartbleed really exposed was a stack of overlapping failures, each one a concept with its own Wikipedia page and its own body of research:
Diffusion of responsibility. When everyone can look at the code, nobody feels obligated to. The Ringelmann effect applied to code review: the more people who could help, the less each individual feels the need to. OpenSSL was everyone’s problem, which made it no one’s problem.
Tragedy of the commons. The entire internet was free-riding on two guys. The companies extracting the most value contributed the least. Open source infrastructure became a public good that nobody maintained — not because they couldn’t, but because someone else would. Except someone else didn’t.
Pluralistic ignorance. Every company using OpenSSL assumed it was being audited by someone. The code is open, it’s critical infrastructure, surely the security community is all over it. Nobody checked whether that assumption was true. It wasn’t.
The asymmetry of production and review. Writing code is easier than reading someone else’s. It’s more fun, more rewarding, and more visible. The world produces code far faster than it can audit code. Raymond imagined an army of reviewers. What he got was an army of users.
After Heartbleed, things actually changed. The Linux Foundation launched the Core Infrastructure Initiative. Tech giants pledged funding. OpenSSL got resources, real contributors, proper testing. Vulnerability disclosures initially went up — because people were finally looking — and then declined as the codebase hardened.
The fix wasn’t more eyeballs. It was funded, accountable eyeballs. People whose job it was to look. People who owned the outcome.
That’s the real lesson. Availability is not the same as ownership. Access is not the same as responsibility. You can open-source your code, your process, your entire organization — but if nobody is specifically accountable for the hard, boring, thankless work of scrutiny, you’re just performing transparency.
Raymond was half right. Given enough eyeballs, all bugs are shallow. He just forgot to mention that the eyeballs don’t show up for free.
Sources: Heartbleed (CVE-2014-0160) — How the Heartbleed Vulnerability Shaped OpenSSL — Given Enough Money, All Bugs Are Shallow (Jeff Atwood) — Of Money, Responsibility, and Pride (Steven Marquess) — The Cathedral and the Bazaar (Eric S. Raymond, 1999)
Leave a comment