After having seen a fair amount of incivility on IRC and on the project forums, I feel that it would be appropriate for us to define as a community standards for behavior in order to make the community a more welcoming place for all people regardless of gender, race, ethnicity, national origin, disability, etc. Many other prominent open source projects such as Ubuntu, Fedora, Apache, OLPC have codes of conduct.
This is important in order to ensure that Bitcoin becomes mainstream and is used by a wide range of users and is accepting of contributions from developers that might otherwise feel harassed, threatened, or marginalized.
Modeled after https://launchpad.net/codeofconduct/1.1
=Bitcoin Code of Conduct v1.1=
This Code of Conduct covers our behaviour as members of the Bitcoin
Community, in any forum, mailing list, wiki, web site, IRC channel,
public meeting or private correspondence between community members.
Project developers, channel ops, and forum moderators will arbitrate in
any dispute over the conduct of a member of the community.
'''Be considerate.''' Our work will be used by other people, and
we in turn will depend on the work of others. Any decision we take
will affect users and colleagues, and we should take those
consequences into account when making decisions. Bitcoin has
hundreds of thousands of users and hundreds of contributors. Even
if it's not obvious at the time, our contributions to Bitcoin will impact
the work of others. For example, changes to code, infrastructure,
policy, documentation, and translations during a release may
negatively impact others' work.
'''Be respectful.''' The Bitcoin community and its members treat
one another with respect. Everyone can make a valuable
contribution to Bitcoin. We may not always agree, but disagreement
is no excuse for poor behaviour and poor manners. We might all
experience some frustration now and then, but we cannot allow that
frustration to turn into a personal attack. It's important to
remember that a community where people feel uncomfortable or
threatened is not a productive one. We expect members of the
Bitcoin community to be respectful when dealing with other
contributors as well as with people outside the Bitcoin project and
with users of Bitcoin.
'''Be collaborative.''' Collaboration is central to Bitcoin and to
the larger free software community. This collaboration involves
individuals working with others in teams within Bitcoin, teams
working with each other within Bitcoin, and individuals and teams
within Bitcoin working with other projects outside. This
collaboration reduces redundancy, and improves the quality of our
work. Internally and externally, we should always be open to
collaboration. Wherever possible, we should work closely with
upstream projects and others in the free software community to
coordinate our technical, advocacy, documentation, and other work.
Our work should be done transparently and we should involve as
many interested parties as early as possible. If we decide to
take a different approach than others, we will let them know early,
document our work and inform others regularly of our progress.
'''When we disagree, we consult others.''' Disagreements, both
social and technical, happen all the time and the Bitcoin
community is no exception. It is important that we resolve
disagreements and differing views constructively and with the help
of the community and community processes. When our goals
differ dramatically, we encourage the creation of alternative sets of
packages, or derivative software so that the community can test
new ideas and contribute to the discussion.
'''When we are unsure, we ask for help.''' Nobody knows
everything, and nobody is expected to be perfect in the Bitcoin
community. Asking questions avoids many problems down the road,
and so questions are encouraged. Those who are asked questions should
be responsive and helpful. However, when asking a question, care must
be taken to do so in an appropriate forum.
'''Step down considerately.''' Members of every project come and
go and Bitcoin is no different. When somebody leaves or disengages
from the project, in whole or in part, we ask that they do so in a
way that minimises disruption to the project. This means they
should tell people they are leaving and take the proper steps to
ensure that others can pick up where they left off.
We pride ourselves on building a productive, happy and agile community
that can welcome new ideas in a complex field, and foster collaboration
between groups with very different needs, interests and goals.