"Let's say that you're a programmer working on a wildly successful open source project in your free time. You'll typically go home from work and check your inbox, find that a new patch was committed to the Subversion repository for the project, and review it carefully. You might post to a thread on a mailing list about a new feature that's being planned, voting against the feature because you feel it will cause serious design problems down the road and suggesting a better way to solve the problem. In general, you feel strongly that nobody should commit a broken build; that new contributors should be able to easily install the software; and that it's important to get as many people reviewing the code as possible. You're not alone. Many of the most successful open source projects are run this way, and the vast majority of open source developers feel that this is the right way to run a project..."