My Thoughts on Codes of Conduct
I believe it is essential for any open-source project to have a code of conduct to scale and grow its community. In a small group of friends working on a project, some rules can go unspoken. However, for a project to succeed in the long term, there must be clear expectations set for newcomers on how to properly interact in such a diverse space. After reading the Go Community Code of Conduct, I would say its goal is to provide the community with tools to prevent and resolve conflicts so its members can focus on the most important part: contributing to the project effectively.
Two differences I noticed between the Go CoC and the Contributor Covenant Code of Conduct template: Go added a summary section and a Values section. They added a summary because I believe they understand that people are lazy. Not everyone will read the whole document, so it is important to include a concise version of the most essential points. Regarding the Gofers’ values, I think they added that section to outline the aspirational qualities of their community members.
On the other hand Eclipse Community Code of Conduct has a very different structure from that of Go: it is much more formal and longer, almost like a contract. This difference stems from the nature of the organizations. Go is a single project, while Eclipse is a foundation whose purpose is to help open-source projects thrive. Their specialty is providing frameworks that lead open-source projects to success, which explains why their CoC sounds so professional.
Sugar Labs Code of Conduct differes significantly from Go CoC. It is based on a different document: Ubuntu Code of Conduct. I would say the difference between those two boils down to the fact that Sugar Labs is a learning platform developed by volunteers. So where Go’s CoC lays out what developer they would like to see in their community and how to resolve conflicts, Sugar Labs is a guide to collaboration and cooperation.
Pygame Community Code of Conduct is based on Python Discord Code of Conduct. Looking side by side at the Pygame CoC, Contributor Covenant CoC, and Ubuntu CoC, Pygame looks a lot like a much shorter version of the Contributor Covenant CoC. It is much less of a legal document, a manifesto, or an aspirational overview. Pygames CoC serves as a practical guide for respectful interaction in a real-time chat community.
How to Drive Consensus and Transparency Within Open Source Communities
This video covers general advice on conflict prevention/resolution, as well as best practices for managing open source communities. The main strength and, at the same time, weakness of open source projects is the diversity of their participants. While, of course, this diversity of people provides an immense range of perspectives and many eyes that make every bug shallow, it also gives rise to a variety of logistical issues. People are in different time zones, so it might be impossible to arrange meeting times that satisfy everyone equally. Some people might not be fluent English speakers, and there might be cultural differences that could make you come off as rude to someone else.
In these infinitely complex structures, it is impossible to come up with a concrete answer to make everyone cooperate perfectly. But the speakers kept emphasizing the importance of the idea of the North Star, i.e., the far goal for which your community is striving. It resonated with me a lot because that is something I also came to whenever I had group work. It is important that every member has a clear vision of what we are here to achieve as a group, and that there are several ways to reach the same goal. In addition to that, some other ideas that I resonated with: everyone must have a voice and everyone should have an opportunity to share their solutions for a given problem(if you have the correct answer it doesn’t mean that everyone else is wrong); not all issues have to be solved in an instance, sometimes it is better to continue with the course and then correct later.
Finally, it was interesting to me how the speakers also treated the Code of Conduct as a sort of a North Star. They said that in most cases, it is something that you will not even need to touch whenever conflicts arise. However, it does serve as a general direction of how the community should behave online and a tool to push back against bad actors.