The great promise of a global open source software project like OpenStack is that it can bring together the best and the brightest from all around the world to together create something far greater than any one person, company, or nation could do on its own.
But with diversity can come challenges, as cultural norms and social expectations can vary greatly from place to place and group to group. If bringing in the best ideas requires diverse contributors, then bringing in diverse contributors requires building a safe space where each person can feel comfortable and welcome.
The OpenStack community has risen to this challenge with the recent revision of their code of conduct, a community-driven process designed to set a high standard for behavior and to provide a set of tool that can be used to handle any issues that come up along the way. In place for the Barcelona Summit, the code of conduct will help ensure that as thousands of developers, operators, users, and other OpenStack enthusiasts converge together next week to have a safe, smooth, and enriching experience.
To learn more about the code of conduct revisions, I spoke with Lauren Sell, vice president of marketing and community services at the OpenStack Foundation.
What spurred the recent code of conduct revision?
There were multiple reasons, but primarily it was a focus on fostering inclusivity and diversity in our community. We needed a clear stance on discrimination and the best processes in place for creating a safe and welcoming environment.
How did the OpenStack Foundation involve the larger OpenStack community in the process?
The process was organic in our community, which always yields the best results. A few members of the diversity working group first proposed changes based on the Django code of conduct. Their proposed changes were then circulated on the Foundation mailing list and we received additional feedback from a handful of people. Having the conversation on the mailing list also spurred open dialogue about community behavior and support for the changes, which was quite valuable, because there was greater buy-in from the start. After wrapping up the edits, we presented the updated version to the Board of Directors for their approval because the code of conduct is attached to our bylaws. Finally, we ran it by our legal team at DLA Piper and posted the new version on the website.
The new code of conduct borrows some elements from the PyCon community's code. What did you learn from other organizations who have worked through developing ways to ensure their communities are welcoming and safe?
We learned a lot from other organizations, which is the benefit of open source and sharing experiences and replicating success. I have a lot of respect for the Python community and the work they've done to foster diversity, whether it's PyLadies or their code of conduct. We primarily leaned on the PyCon code of conduct for response and reporting procedures, which were established with experts at the Ada Initiative, while we borrowed wording from Django about acceptable/unacceptable behavior.
What changes did you end up making, and why were these changes important?
The biggest changes were more explicitly describing acceptable and unacceptable behavior and clarifying the reporting and enforcement process. It was important to bring more transparency to the enforcement process, so anyone who wants to report an incident feels comfortable knowing the steps that will be taken and what's expected of them. It also gives the Foundation staff a better tool for handling complaints and having productive, compassionate dialogue with community members.
What advice would you give to other open source projects looking to create or update their own code of conduct?
The dialogue and community support for the changes are more important than the exact wording in the document itself.
Engage with other open source communities, ask them what's worked and get their advice.
Be prepared to respond and act. You need to stand behind the code of conduct, and it's not an easy job. You have to compassionately and fairly navigate the situation and make some tough calls, such as removing someone from your event or even the project. It's critical to know who on your team will be on point, make sure they are prepared and to lean on the process you've established.