CICE-Consortium / About-Us

Background and supporting information for the CICE Consortium
2 stars 6 forks source link

Add a Code of Conduct to the repository #9

Closed ekluzek closed 3 years ago

ekluzek commented 4 years ago

A Code of Conduct (COC) for expected behaviors between people on projects is a github best practice, and a best practice in general for communities. NSF has asked UCAR to develop one that would be used for projects with strong management/participation from UCAR employees. The importance of a COC is to establish respectful behavior that maintains diversity and inclusion on the project as well as increase productivity. People are more productive when they are respected and valued on the project.

The UCAR COC is here...

https://www.ucar.edu/who-we-are/ethics-integrity/codes-conduct/contributors

The DOI for it that points to above is here...

https://doi.org/10.5065/6w2c-a132

There is also a markdown version of it on the above as that is most likely what would be adopted. The two changes that would be made would be to change the name of the project and the date it was adopted.

Since, CICE-Consortium is inherently a project of many different institutions and entities, it may not make sense to just adopt the UCAR version. However, note that most of the content would likely be what would be desired to be adopted. The one thing that the UCAR version adds is about reporting bad behavior to UCAR entities such as Human Resources, Office of Diversity and Inclusion, and Ethics and Legal. This obviously applies to UCAR employees, but I want to note that this same reporting can also be done for non-UCAR employees, and there are options for what can be done in that case.

For CICE-Consortium you may want to expand the reporting part to include more reporting options for other institutions.

I'm not a CICE-Consortium developer, but I can be involved in discussions on this issue and help with your understanding of the reasons for adopting a COC.

eclare108213 commented 4 years ago

@ekluzek Thanks for your offer to help. It sounds like you didn't see the COC in this repository? It was based on NCAR's but we modified it a bit.

ekluzek commented 4 years ago

@eclare108213 thanks for pointing that out. I did not see that. That's actually under the about repository under the organization. One reason that isn't visible, is that github itself will highlight the CODE_OF_CONDUCT.md file when it's under a given repository. There are likely some restrictions on the name of the file, that we should examine. When you do many operations (like a PR) it will point to the COC in the repository, so you can examine it before you do the PR.

It is best practice to have the COC under each repository. This is similar to having the legal software license under each repository. Note, that a software license is something that needs to be read even less than a COC, because a COC is actually about behaviors that I as a developer promise to follow. Which is why having it in each repository is a really good idea. And if it's done for licenses -- it needs to be done even more so for COC.

Note, also that the version you have in your organization was from an older version of the UCAR COC before it was finalized. There's a lot that was added later. One important update was to have a DOI for the standard UCAR one so it would always be properly pointed to. That makes synchronizing with the standard UCAR one a lot easier. So looking at the updated one would be something worth doing, even if the organization as a whole wants to use a different one.

duvivier commented 3 years ago

Just put in PR #12 to address the way Github highlights these.

I have not updated the text (yet) based on Erik's comments because we don't want to exactly have UCAR's CoC or UCAR DOI since we're not only a UCAR entity. I can look later today and see what sort of text needs to be added.

We still haven't decided if we should add documents to each repository either.

duvivier commented 3 years ago

I just added an updated wording option as a PR.

We should decide if/how we want to include a Code of Conduct in each repo. The options seem to be:

  1. Copy this same file in each repo.
  2. Create files called CODE_OF_CONDUCT.md in each repo, but just have those link to the About-US repo Code of conduct.

I'd prefer option 2. @apcraig do you have concerns with linking that way?

Once we decide on if we want to include the updates and how we want to address the other repos, this issue can be closed.

apcraig commented 3 years ago

I think a link would be great if it works. I assume it means there is an extra "click" for users to see it, but I think that's fine. If we do use a link, are there any concerns that the COC is NOT checked out directly when cloning a repo?

duvivier commented 3 years ago

I'll go ahead and work on links then. I think it's best if we can have the fewest number of files to update if we do update this sometime. I don't think it's a big deal that a COC isn't checked out with a clone since most developers shouldn't be messing with it anyway. (I don't anticipate it getting updated all that often).

ekluzek commented 3 years ago

In putting together the COC for UCAR, we felt it was best practice to have a complete copy in each repository. This means the information is immediately seen, and doesn't require an extra click. Since COC don't tend to change that often, it still seems maintainable this way, but it encourages people to see it.

I tried Googling to see if this is a best practice, and didn't find it explicitly stated. But, it was somewhat implied.

eclare108213 commented 3 years ago

We can reopen and revisit this issue if needed, but it seems sufficiently settled for now.