Joel Spolsky has been reading Peter Trudelle and Matthew Thomas, and draws the conclusion that distributed open-source development doesn’t have the bandwidth to achieve results — a conclusion which Matthew himself doesn’t agree with.
I have noticed another characteristic of a project like Mozilla as opposed to a conventional development project within a company. To get a job in a company, you need to go through some kind of screening and interview process. Everybody uses this system because nobody has thought of a better one, but it has serious problems. Entry-level applicants face a classic Catch 22: they can’t get through the hiring process without experience, and they can’t get experience until somebody hires them. The system also favours people who know how to package themselves but aren’t actually very good, or aren’t particularly productive once they get hired.
In an open source project, on the other hand, the hiring process is replaced by a kind of ordeal by combat combined with ritual mocking. You get into the clique (and in my experience OSS is the most cliquey environment on the planet) by submitting patches and solving problems. If you can’t deliver the goods you just aren’t going to get in. Even if you can deliver the goods you had better be ready to be treated like an idiot before you become accepted as one of the guys.
The applicant with the glossy packaging doesn’t stand much chance here, which is one up for trial by combat, but where this model falls down and the interview process scores is that the interview process gives employers more chance to select people that they will be able to stand working with. Getting through an interview requires basic social skills. This makes open source projects the natural home of the folks who write really cool code but also happen to be total dorks.