Week 2: Collaboration in Open Source Projects
Code of Conducts and Communication Within Open Source Projects
Code of conducts may seem unnecessary or like common sense to some, but they provide benefits by making sure that everyone is aligned when it comes to values and communication practices. When it comes to open source projects, people from a variety of backgrounds may work together and it is always important to be respectful of different perspectives and cultures. Having a document to clearly define how others should interact with one another offers transparency to those who may have needed it.
Different projects may want to convey different messages through their code of conducts. This is only natural since not every project is going to share the same values. The Go project’s code of conduct attributes the Contributor Covenant’s version but makes some changes of their own as well. Before it uses the original version, the Go project’s code of conduct first talks about itself and its values. They may have felt the need to write about this because the original document did not fully capture their message. Another change that the Go project made was switch out the “Enforcement” section from the original code of conduct with their own “Conflict Resolution” section. The Contributor Covenant had more of a professional/corporate tone and maybe the Go project wanted to write their own version because of that. Another example of changing up the orginal document can be seen with Eclipe’s code of conduct, which also attributes Contributor Covenant. Despite being attributed from the same source, the Go and Eclipse code of conducts look very different from each other. This may have to do with the nature of the projects as Go is a programming language and Eclipse is an integrated development environment. These projects aim to serve diferent purposes and their code of conducts reflect that.
Another code of conduct to look at is that of Sugar Labs. Most code of conducts share a similar message of just being a decent person and the same is true for Sugar Labs. But where they differ from Go’s code of conduct is formatting. This seems mainly due to Sugar Labs attributing their code of conduct from Ubuntu and not Contributor Covenant. Similar things could be said about Jellyfin’s code of conduct. Although the formatting is different, it mostly says the same stuff as other code of conducts.
It seems that cultivating consensus and a sense of transparency within open source communities comes down to proper communication. Understanding that people may come from wildly different backgrounds as you is important when taking other perspectives into account. As open source is not a one person endeavor, it is important to develop soft skills like communication.