One day, I was walking down the road and I saw a shit-colored bike shed. The carport was full of color, which made me stop. Under the irradiation of the sun even feel what smell inexplicable taste.

An old man stood beside me and joked, “If I were the mayor, I would never allow people to use this color to build bicycle sheds! How abominable!”

I smiled back and walked away.

But I wondered, What color should the bike shed use?

What colour should be used for bicycle sheds?

The short answer is: you don’t need to care.

The long explanation is that having the ability to build a bike shed doesn’t mean you have to stop someone from building a shit-colored bike shed.

The metaphor is: Don’t argue over every little detail just because you know it. Some have found that the amount of debate a problem generates is inversely proportional to its complexity.

What kind of joke is that?

Back in the early centuries (circa 1999), there was a long-running debate in the FreeBSD development community about whether the sleep(1) function should accept non-integer arguments (to the millisecond, microsecond level).

Everyone understood the question, and everyone began to weigh in, leading to mailing lists full of discussions about it at the time.

FreeBSD’s spiritual leader at the time, Poul Henning Kamp, wrote A letter titled “A Bike shed (any colour will Do) on Greener grass… “, quoting the Bikeshed:

The sleep(1) saga is the most blatant example of a bike shed discussion we have had ever in FreeBSD. The proposal was well thought out, we would gain compatibility with OpenBSD and NetBSD, and still be fully compatible with any code anyone ever wrote.

Yet so many objections, proposals and changes were raised and launched that one would think the change would have plugged all the holes in swiss cheese or changed the taste of Coca Cola or something similar serious.

“What is it about this bike shed ?” Some of you have asked me.

He said the discussion about sleep(1) was typical of the bike shed problems that have occurred in the FreeBSD community. The question has prompted so many objections, suggestions and changes that it seems as if all the holes in Swiss cheese in the world will be plugged and all the Coca-Cola in the world will taste bad once the adjustment is made.

Since then, the word Bikeshed has taken on a special meaning in the FreeBSD community, usually referring to something so simple that anyone can express an opinion, and almost everyone does.

Over time, the term Bikeshed spread as FreeBSD developers gained traction online.

Parkinson’s theorem

But where does a Bikeshed come from?

In 1957, The British writer Cyril Northgood Parkinson came up with “Parkinson’s Pettiness Theorem,” which states that large organizations spend a lot of time discussing unimportant things, but that really important decisions get away with it.

Parkinson describes a fictitious finance meeting with three items on the agenda: the first was to build a multi-million pound nuclear reactor, the second was to build a 350 pound staff bike shed, and the third was a proposal to sponsor 21 pounds a year for the United Welfare Council cafe.

Parkinson describes each of the three proposals:

  1. The £10 million nuclear reactor, far out of reach in terms of size and technology, was approved after 2.5 minutes of discussion. One member of Parliament proposed a completely different plan, but no one was willing to give up the progress that the council had made so far so there was little response. Another member familiar with the issue was slightly worried, but he felt unable to explain it to the rest of the Council and finally gave up.

  2. The bicycle shed issue is well understood and supported by a wealth of life experience. Mr Softleigh, a member of parliament, said aluminium roofs were expensive and asbestos should be used. Mr Holdfast proposes galvanized iron; Mr. Daring questions the need for bike sheds; Holdfast disagrees. The debate has since begun…… After 45 minutes of discussion and a possible saving of £50, members of parliament sat back in their seats with a sense of mission accomplished.

  3. Parkinson goes on to describe the third issue: “Some members may not be able to tell the difference between aluminium and asbestos roofs, but all know coffee: what it is, how it should be made, where it should be bought, and whether it should be bought at all. This issue will take up one hour and fifteen minutes of members’ time. Due to time, however, at the end of the meeting members asked the conference secretary for more information and left the decision on this issue until the next council meeting.”

The current bicycle shed problem

Now that we know that Bikeshed can be used to represent trivial but controversial issues, what are some of the current Bikeshed problems in our software development industry?

  • What is the best programming language in the world? (Perhaps there is no debate about that.)
  • React or Vue, which is better?
  • What’s the best editor in the world? Emacs or Vim?
  • Should indentation in code be Tab or space?
  • .

Similar questions abound and are often debated. It’s better to focus on the problem at hand than to get involved in it. May you be able to identify bike shed problems, stay away from bike shed meetings, and live every minute to the fullest.

For more information on bike sheds, read on:

  • Why Should I Care What Color the Bikeshed Is?
  • Who was Brett Glass named in the original “bikeshed” email?

Pay attention to wechat public number: KnownsecFED, code to get more quality dry goods!