October 30, 1996
It seems that there are two ways to create a group. And when I say “group” I mean a software team, a band, a company, a project, or whatever.
One way is for one person to have an idea and start working on it. Soon he drags in another guy and they work on it until there’s a solid foundation to the group and things are rolling. Pretty soon other people start to notice and ask to join. They join one by one and are indoctrinated to the philosophy of the group. The hard decisions have been made, so the only people who are attracted are those who want to actually contribute.
The other way is for one person to have an idea and broadcast, “Hey everyone! I’ve got this idea and I think we should start a group to do it! I’ve created a mailing list for it, so everyone who’s interested should subscribe and we’ll all create something great!” A bzillion people join, there’s lots of enthusiasm and energy, and they argue so much over the name of the group and what the icon should look like that nothing gets done.
Every time I’ve seen approach #1 it has worked out pretty well, and every time I’ve seen #2 it’s fallen apart. Examples of #1 are Linux, MacBSD, most bands, HTML, Apple, the United States, and Microsoft. Examples of #2 are MacLinux, the PDI band, NeXT, the Perot campaign, the European Union, and VRML 2.0.
People are quick to volunteer work and slow to work. The quickest way to kill a project is to attract people who will grind it to a halt with their enthusiastic non-action. Slow assimilation works best.