Fork it!

by Joel Spolsky

on September 2, 2010

First, some background. I grew up in Albuquerque, New Mexico... OK, wait a minute, you don't need that much background.

In the beginning there was Stack Overflow. When we set up Stack Overflow, we knew people would use it to ask questions about lots and lots of different programming topics. Instead of the traditional approach, where you have a thousand different groups and sub-groups on every topic imaginable (like Usenet (comp.lang.vb.syntax.parens.unmatched, anyone?), the Stack Overflow approach was to use more free-form tags. Theoretically, tags would let you ask a question that happened to be about, say, Windows and C# without having to decide which group to put it in. And my hope was that tags would eliminate the endless meta-discussions by dewey-decimal-mavens about whether your question was more appropriate here or there.

To be honest my hope was that the tags would keep meta-conversation to a minimum. Instead of arguing about whether Bourne Shell programming is really programming, the Obsessive Taxonimists (alt.taxonomy.obsessive.judean.people's-front.popular) could just tag the question "bourne-shell" and leave the rest of us to ask and answer questions happily.

It worked, kinda. Stack Overflow is a big ol' heaping mess of beautiful programming questions that are simultaneously organized and unorganized, and we're happy about the way that the site brings together programmers into one big happy community. That is, as long as they stay STRICTLY ON TOPIC.

So. Where do Linux questions go? If it's a Linux programming question, Stack Overflow is fine. If it's not, we made Server Fault. But Server Fault was supposed to be for system administrators. So if you were a home user with a non-programming Linux question, you were supposed to ask on Super User. We now have Linux questions all over the place: 10,000 on Stack Overflow, 5800 on Server Fault, and 4800 on Super User.

When we opened up the process to allow the community to design their own sites, we got a whole heap of proposals. The Ubuntu proposal had a lot of support. So did a more universalist Unix/Linux proposal. Both got created. On August 20th Jeff proposed merging the two sites, and put that up to a vote. The official results:

MERGE? (Unix users) 89 Yes / 34 No (Ubuntu users) 72 Yes / 114 No

Conclusion? There isn't a majority on both sides to merge. The Unix world loves to take sides. I don't have to blog about this; Freud already did, in 1930. He called it "the narcissism of minor differences":

It is clearly not easy for man to give up the satisfaction of this inclination to aggression. They do not feel comfortable without it. The advantage which a comparatively small cultural group offers of allowing this instinct an outlet in the form of hostility against intruders is not to be despised. It is always possible to bind together a considerable number of people in love, so long as there are other people left over to receive the manifestations of their aggressiveness. I once discussed the phenomenon that is precisely communities with adjoining territories, and related to each other in other ways as well, who are engaged in constant feuds and in ridiculing each other -- like the Spaniards and Portuguese, for instance, the North Germans and South Germans, the English and Scotch, and so on. I gave this phenomenon the name of "the narcissism of minor differences", a name which does not do much to explain it. We can now see that it is a convenient and relatively harmless satisfaction of the inclination to aggression, by means of which cohesion between the members of the community is made easier.

—Civilization and its Discontents

Monty Python might have put it better in this scene (YouTube) from The Life of Brian:

BRIAN

Are you the Judean People's Front?

REG

F*** off.

BRIAN

What?

REG

Judean People's Front. We're the People's Front of Judea. Judean People's front, caw.

FRANCIS

Wankers.

BRIAN

Can I join your group?

REG

No. Piss off.

BRIAN

I didn't want to sell this stuff. It's only a job. I hate the Romans as much as anybody.

PEOPLE'S FRONT OF JUDEA

Sssh. Ssssh, sssh, sssh, ssssh

JUDITH

Are you sure?

BRIAN

Oh. Dead sure... I hate the Romans already.

REG

Listen. If you really wanted to join the PFJ, you'd have to really hate the Romans.

BRIAN

I do.

REG

Oh yeah? How much?

BRIAN

A lot!

REG

Right. You're in. Listen. The only people we hate more than the Romans are the f***ing Judean People's Front.

PEOPLE'S FRONT OF JUDEA

Yeah!

JUDITH

Splitters.

FRANCIS

And the Judean Popular People's Front.

PEOPLE'S FRONT OF JUDEA

Oh yeah. Splitters.

LORETTA

And the People's Front of Judea.

PEOPLE'S FRONT OF JUDEA

Splitters.

LORETTA

The People's Front of Judea. Splitters.

REG

We're the People's Front of Judea.

LORETTA

Oh. I thought we were the Popular Front.

REG

People's Front.

FRANCIS

Whatever happened to the Popular Front, Reg?

REG

He's over there.

So, Ubuntu, Linux, I get it, it's clearly not the same thing. If you love Ubuntu, we have a site for you. If you love Linux and Unix, we have a site for you. A Stack Exchange can't work without a community that loves a subject, and love is very... specific. Fighting human nature is hard: the factionalism and fork-happiness of the Unix world has been a hallmark of that community ever since BSD vs. System V, and Stack Exchange can no more bridge that gap than we can unite the Judean resistance.