Note: this question is about the general case... How things usually are.

OK so I can download the code and mess around with it, but how do my changes make it into the project officially? Who decides what changes make it into the project, and how? Is there often a list of required changes/additions? What if I have a cool idea that is not mentioned there? How do I get it approved? And what if two people implement the same feature. Who chooses which implementation makes it into the project?

Basically, how is the whole thing managed (in the general case)?

3 Answers 3


It really depends on the project. Generally speaking, the larger the project, the more formal the process for new contributors is. If you improve the source of a small project, a simple mail to one of the developers might be enough.

Before you implement a new feature, you should ask them if someone is already working on that. And you should work on the very latest version available, not the latest major/stable build. Otherwise, your changes might be harder to incorporate with the current version. I can only guess what happens when two people independently implement the same feature, either the first one wins (because nobody knows of the other version) or the decision is based on the quality of the contributions.

Sometimes there is a list of todo-features, but more often, you just implement what you need for your own needs. You fix the bugs that bugger you.


Look at the files that come with the software, and anything else available like a project website. Except for really small projects, there should be some guidelines or even hard rules. If not, you should at least have the email address of the project owner. As ammoQ points out, getting in touch with the owner is a good idea in any case, but you're more likely to be taken seriously if you've read the rules or guidelines.


You can't go far wrong with mailing a patch for a bug fix or feature you like.

If there's any documentation on how/what/where to submit be sure to follow that. Otherwise send a patch with some description of what it does (and why that's a good thing) to the project mailing list. If there's no mailing list send it to the e-mail address listed on the website.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.