A critical success factor for open development projects is that they accept contributions from third parties. These contributions come in many forms such as change requests, documentation, bug fixes, support requests, support offerings etc. This how to looks at the process of actually accepting and processing contributions from third parties.
This isn't really a how to - it needs rewriting to provide a solid series of steps - some of the content is better for index pages.
1. Community Development
If a project does not foster a community around its outputs there will be no third parties to make contributions. Therefore, the first stage in accepting contributions is actually to build a community. It is outside the scope of this HowTo to look in detail at community development, interested readers may like to view the following resources.
CommunityDevelopment - addressing community development and management techniques
CommunityTools - discussion of tools useful in community led projects
OpenSourceDevelopment - from user requirements to publication and/or release
2. Governance
There needs to be a clear process for third parties to follow when making contributions. These processes should address issues such as how a contribution is made, what happens to the copyright in contributions, what feedback is given, what guarantees are provided that contributions will remain available to the original contributor etc.
It should be recognised that if a project is expecting third parties to invest time and resources in developing a projects outputs they will be expecting to get more back then they put in. A clear GovernanceModel that lays out precisely how individuals can contribute and, in the case of significant contributions, become influential in project strategy, goes a long way to encouraging participation.
Readers may be interested in the following documents:
GovernanceModel - an overview of how to write an initial governance model and then develop as your project grows
ContributorLicenceAgreements - what is a contributor licence aggrement and why are they needed.
3. Accepting Contributions
SoftwarePatch - what is a patch and how is it submitted

