After running Cobbler for 4-5+ years, observing countless other OSS projects, and now starting up Ansible, here is my current operating theory of the way Open Source projects should REALLY be run. I have refined this over the years.
I offer this up in that people can look at it and say “wow, that is not how I run my project” and maybe look at it differently. For if you are giving away code and NOT reaping the rewards of community contribution, maybe you gave away some code… but what else did you get? If you’re just developing a project and it happens to be free code, you really should learn to expand your horizons a bit, and you can be surprised at what comes.
I’m long away from my days of drinking the Open Source proverbial Flavor Aid, so this is intended to be extremely practical advice to a project leader.