In addition to setting out some ground rules for communication in your project, you might want to provide some guidelines (contribution guidelines) and social norms (Code of Conduct) that potential collaborators should follow to add their contributions.
Those instructions are laid out in a CONTRIBUTING file (this is an idea borrowed from software engineering where capitalised filenames are the norm for the most important files of a project). A CONTRIBUTING file describes how others may contribute to the project and engage with other contributors (or a community).
Your audiences for the contributing guidelines are your potential contributors who need to understand what is expected from them, project consumers who need to know how they can remix and re-use your work, and yourself who creates and maintains the file as a key part to outline interactions with your community.
Here are a few suggestions of what your contributing guidelines could cover:
Your project vision.
A welcome to potential contributors.
Pointers to the Code of Conduct.
A list of other important resources such as the README file or your project’s roadmap.
Communication channels where contributors can reach you.
How to submit changes.
Good first bugs or issues to start working on.
How to report a bug.
Your recognition model and how contributions will get acknowledged.
Where to go for help.
Like other key documents, it is recommended that you look at examples of and reuse contribution guidelines of open source projects like The Turing Way that describes how you can contribute or re-this project.
Code of Conduct¶
Code of Conduct, commonly abbreviated as “CoC”, is a set of rules outlining the social norms, rules, & responsibilities of an individual project, party or organization.
If your project is open for individuals to contribute and foster a community, your project should be designed to be welcoming and inclusive to thrive. One way to establish guidelines for participating in your project is to create a CoC and Participating Guidelines. These documents can be used for virtual interactions but also for any events you might host related to your project. Codes of Conduct serve two main purposes:
Establishing the kind of behaviour encouraged in the community you would like to create as well as clearly outlining unacceptable behaviour.
Outlining the process by which problems or violations of the guidelines will be addressed and who will be in charge of enforcing the Code of Conduct.
We should also provide clear guidelines for how to process incidents if something happens, from reporting to enforcement. It is very important to enforce the CoC, the only thing that is worse than not having one, is not enforcing it. By prominently displaying and practising these guidelines, you can ensure that social behaviour expectations are modelled and encouraged among all participants, including the project leadership.
You can create your own CoC by using the following process:
Brainstorm core words that represent community values
Consider behaviours to encourage/discourage
Think through the process for enforcement, incident reporting & response
Understand/accept your role as project lead and act collaboratively
It is recommended to select and adapt a well established Code of Conduct. Many openly developed projects have a Code of Conduct in place that often is openly licensed and can be re-used and adapted for your own project. The Turing Way Code of Conduct is one example of a Code of Conduct built on various existing ones and can be adapted further.
You can also consult the following references and templates to get started on a code of conduct for your project.