Week 2: Codes of Conduct
Go’s Code of Conduct
The code of conduct for the go programming language emphasizes the core values that enable people with different backgrounds and communication styles to collaborate productively. Its main benefit arises from being able to specify expected behavior so that contributors will know, or at least should know, how to conduct themselves and what actions wouldn’t be tolerated in the community. Also, providing an explicit conflict resolution mechanism decreases the strain on community members as the path towards a resolution is clear and doesn’t require a case by case assessment for what is acceptable.
I think that any project, be it software or physical would benefit from having an explicit code of conduct. As conflict is inevitable when dealing with human collaborators and without clear standards, it’s not always clear how to de-escalate and resolve issues, which takes time away from community organizers and overall project quality would take a hit as a result of that. Also without guidelines on what is and isn’t acceptable dialogue and conduct, new community members, even if not malicious, could get the wrong idea and act in a way that goes against the spirit of the community.
When comparing the contributor covenant to Go’s code of conduct, it’s evident that Go went far deeper in its initial values section than the contributor covenant. These explicit and detailed values, especially in regards to “Be constructive”, likely illustrate how the Go community focuses on aspirational ideals as a way to enforce community standards as opposed to jumping straight into enforcement. So it overall creates a more positive atmosphere and initial vibe.
As the eclipse foundation is an official non-profit organization, it likely wants to present a more polished and legally actionable code of conduct. This stands in contrast to Go, which appears to be focusing on the community angle. Therefore, the eclipse code of conduct reads less aspirational and with more specific guidelines that are likely there for legal reasons given the scope of the project.
Sugar Lab’s Code of Conduct
Sugar Lab’s code of conduct is based on the Ubuntu code of conduct. It reads as more of a narrative as if it were guiding the new contributor as they begin working on the project and giving them advice, as opposed to just stating the exact rules. It also focuses on one of its key missions of being a space for educators and emphasizes how it provides different forums for different levels. Overall, this code of conduct is both more practical as it gives out specific sections like “When you are unsure, ask for help” and has a softer enforcement language than Go’s code of conduct.
vLLMs-Ascend Code of Conduct
The code of conduct for vLLM focuses initially on standards for the community and lists specific examples of acceptable and unacceptable behavior which provides a detailed view for any new contributor. This choice makes a lot of sense when the next sections highlight how vLLM contributors work and communicate across communication platforms, as such these communication standards are relevant even in non-github platforms. As opposed to the previous conducts, vLLM’s code of conduct is the most explicit in terms of the stages of being warned to being permanently banned which also highlights how vLLM prioritizes community safety. vLLM’s code of conduct is also adapted from the contributor covenant which also illustrates why values and conduct are so central to vLLM’s code of conduct.