Adding a Code of Conduct to Open Source Projects

Melissa Xie

In order to foster a kind, inclusive, cooperative, and harassment-free community, we now have a Code of Conduct for all of thoughtbot’s open source projects.


I was really inspired by a talk that Coraline Ada Ehmke recently gave, titled “Living our Open Source Values”. In her talk, she mentions that open source is the foundation of the Internet; however, there is still a lack of diversity in participants.

One of her suggestions to address this problem was to include a Code of Conduct in open source projects. As a result, Coraline created the Contributor Convenant - a simple but powerful code that can be easily added to any repository. By adding this Code of Conduct, maintainers and contributors are pledging to be respectful to and cooperative with each other, welcoming all people to participate.

One size fits some

As maintainers of numerous open source projects, this is an initiative that thoughtbot wants to be involved with.

After some exploration, we decided to adopt a version that is based on ones that we’ve seen from Bundler and CocoaPods. These versions extend beyond just the repository and into the community around the project itself, such as mailing lists and chatrooms, which applies to our projects.

It is also important to note that this Code of Conduct only applies to the online community around the open source project. If there is also an in-person component, like events, there should be a separate Code of Conduct for that.

Add it, enforce it

Adding a Code of Conduct to a project is a great step in cultivating a positive environment for your contributors, both old and new.

We’ve done this for our projects by referencing the Code of Conduct in each project’s contributing guidelines, like in capybara-webkit, Clearance, and Argo.

We encourage you to find a Code of Conduct that works best for your project and its community, and stick by it.