Commit access allows an independent open source contribute access to your project’s source tree.  Over the years I’ve found that it is best to be very liberal when granting commit access to my projects.  If the developers has submitted a patch that has solved a particular problem that even remotely shows they understand how my project is designed, I grant them access.  Think about it.  Somebody that has posted a patch has: learned how to download the source, has learned how to build your project, has stepped through your code to find and understand their bug or new feature, and most importantly has shown a tremendous amount of initiative.  Contributors are usually very honored when they are granted commit access.  It gives them a sense of ownership and pride.  They are usually relatively careful because they are so afraid that their code is out in the wild and can be viewed by anybody.

Sure, you may have a lot of turnover on who commits or not, but you sometimes get somebody that wants to stick around for the long term.  Especially if you start to give them more resposibility on the project and respect their abilities.  Sure, being so liberal often leads to poor commits and you having to rewrite some things.  The real value here is the unit tests and blazing the initial trail if we’re talking about a new feature.  As long as the potential contributor has unit tests that go along with their bug or feature patch, I’m usually more than happy to welcome them to the community.

What are your experiences?

BTW, liberal policy is my own.  Other projects at Red Hat may or may not be as liberal.