On a Unix computer, sleep 5 tells the machine to wait five seconds. In 1999 FreeBSD’s version didn’t handle fractions. Someone in the project proposed that it should, so that a script could wait, say, half a second.
By Poul-Henning Kamp’s account it was a sensible idea. FreeBSD would match what OpenBSD and NetBSD already did, and nothing anyone had ever written would break. Then the mailing list got hold of it. “So many objections, proposals and changes were raised,” Kamp wrote, “that one would think the change would have plugged all the holes in swiss cheese or changed the taste of Coca Cola.” The thread ran “many days,” he guessed, probably “a couple of weeks.” He couldn’t be bothered to check.
On October 1, 1999, the change went into FreeBSD’s source tree anyway. The commit message called it “a conservative change.” Weird input still behaved as before: sleep abcd still slept for zero seconds.
Kamp, who by his own description had become “sort of a de facto spiritual leader” of the project, said later that the thread made him angrier than almost anything had, and that it took him days to calm down enough to write. The day after the commit, he sent an email to the project’s developers. The subject line: “A bike shed (any colour will do) on greener grass…”
He didn’t argue about sleep at all. He went back to a book of management satire, C. Northcote Parkinson’s Parkinson’s Law, and its committee that can approve an atomic power plant but tangles itself up over a bike shed. A plant is so vast and complicated, Kamp wrote, that people “cannot grasp it, and rather than try, they fall back on the assumption that somebody else checked all the details.” A bike shed is different. “Anyone can build one of those over a weekend, and still have time to watch the game on TV.” So somebody will always take the chance to show “that he is paying attention, that he is here.” In Denmark, he added, they call it “setting your fingerprint.”
The part that stung came near the end. The people firing at the sleep change had been in the project for years and had never bothered to make it themselves. Kamp couldn’t explain why a junior developer doing it enraged them. His wish was simpler: “let people build a bike shed every so often,” and not care what colour they paint it. And he apologised to the people lurking on the list, “scared away from participating by the gargoyles.”
By his later account, “bikeshed” first became a term of art in FreeBSD, a yellow card held up in a thread. Two Subversion developers put the email on a website of its own, and from there, he wrote, it seemed to spread through all of computing.
FreeBSD’s official FAQ still carries the question: why should I care what color the bikeshed is? The first line of the answer: “The really, really short answer is that you should not.”