plantcv icon indicating copy to clipboard operation
plantcv copied to clipboard

Revising our code of conduct and removing non-inclusive language from our code

Open nfahlgren opened this issue 4 years ago • 1 comments

TL;DR: I propose updating our code of conduct and changing the name of our default branch.

Inclusive language

This discussion was spurred on for me by reading this ZDNet article about GitHub's announced intention to rename the default branch for repositories away from master to a more inclusive name. This is a great idea and the article talks a little bit more about the prevalence of non-inclusive words/phrases in tech. After talking with some folks in our community I think we want to move forward on our own and rename the default branch for PlantCV now. While we might not pick the same name as will become the community standard, the consensus in my view was that this is okay. @HaleySchuhl suggested calling it production because we use the default branch as our live production code source, so this makes a lot of sense to me. Other possibilities I have seen discussed in the larger tech community are: default, main, primary, etc.

Here is an additional take from the Wordpress community.

To get this done we need the following (I think):

  • [ ] Pick a name (please comment if you have an opinion)
  • [ ] Create a new branch with this name based on the current default
  • [ ] Push the new branch to GitHub, change the settings to make this the default branch
  • [ ] Update references to the old default in the documentation
    • [ ] CONTRIBUTING.md
    • [ ] installation.md
    • [ ] All source code links on each function doc page
  • [ ] Update our CI settings to run builds/tests on the new default branch

We should also look out for and change any other non-inclusive language in the code, comments, documentation, etc.

Code of Conduct

In thinking about inclusivity, I reviewed our code of conduct. While I think it covers the essence of our aim to make PlantCV an inclusive community, I think it falls short in a few areas. First, it only deals with negative behavior and does not state what our goals are for a healthy community. Second, while it talks about reporting violations it does not provide for specific contacts or contact methods for reporting violations to. And Importantly it does not provide for an alternate method in the event that the reported violation is about one of the project maintainers themselves.

Rather than trying to reinvent the wheel, I propose we adopt the Contributor Covenant. We do not necessarily need to adopt it completely as-is if folks think there is anything community-specific that should be included. For sure we at least need to populate the contact information of the maintainers in the Enforcement section. I am thinking that the Danforth Center HR department could be the alternate contacts but am open to suggestions.

Steps:

  • [ ] Create a new branch
  • [ ] Replace our existing CODE_OF_CONDUCT.md file with the Contributor Covenant file
  • [ ] Modify the contacts (get permission from people listed)
  • [ ] Add the Contributor Covenant badge to our README
  • [ ] Create a pull request and merge into the default branch

I recognize that these updates are small changes but I hope positive ones. Feel free to comment on the above ideas and any additional thoughts you have.

nfahlgren avatar Jun 17 '20 23:06 nfahlgren

Quick update, I just found this GitHub Action that provides instructions for manually migrating the default branch but also provides a helper tool if you want to do it without temporarily breaking things: https://github.com/marketplace/actions/default-branch-migration

nfahlgren avatar Jul 21 '20 20:07 nfahlgren