Proposal: Set default GeoRust code of conduct with .github repo
Closed this issue · 5 comments
Based on the conversations in #24, this is a proposal to create a georust/.github repository using GitHub's default community health files functionality to set defaults for GeoRust projects. This proposal is only for including the GeoRust Code of Conduct for now, but the repo could also support a default CONTRIBUTING.md or pull request/issue templates (full list here).
I'll plan on creating the .github repo and adding the GeoRust Code of Conduct a week from tomorrow if I don't hear any concerns, but I'm happy to hold off if anyone has feedback.
Summary
If there aren't any objections, I'll create the georust/.github repo with the GeoRust Code of Conduct in CODE_OF_CONDUCT.md
If your project already has a CODE_OF_CONDUCT.md file in the root directory nothing will change, but you can remove the file from your repo to opt in to the GeoRust default.
Projects that don't currently have a code of conduct file in their repo would use the GeoRust default, and anyone creating a new issue or pull request would see it mentioned and linked in GitHub's UI. Maintainers can opt out of this at any time by creating a CODE_OF_CONDUCT.md in their project's root directory.
The following projects don't currently have a code of conduct file and would be affected:
- robust
- netcdf
- geographiclib-rs
- transitfeed
- docker-images
- tilejson
- georust.org
- assets
- geos-sys
- geotiff
- proj-sys is also missing one, but it's archived so it wouldn't make a difference.
Background
GitHub has increasingly been rolling out more features that make community health files like codes of conduct and contributing guidelines more visible to project contributors. Generally those features have only worked if the relevant files were in the root level of a project directory, which can make it more difficult to maintain a common code of conduct across multiple projects in an organization. The setup for default community health files in a .github repo is an attempt to make this easier.
Based on a quick search, all 16 GeoRust projects that include a code of conduct are using the GeoRust code of conduct, so overall it looks like maintainers are on board. The fact that there are still 10 non-archived projects that don't include a code of conduct seems more likely to be about challenges of maintaining multiple projects than disagreement.
While we wouldn't have to go further than a default code of conduct, the same repo could be used to set defaults for other supported files like SECURITY.md.
Pros
- Projects could more easily opt in to the overall GeoRust code of conduct without having to manually keep up to date with any changes
- New projects will start with a code of conduct by default
- Maintainers still have the flexibility to override the GeoRust defaults at any time
Cons
- Some people might expect to see a code of conduct in a root-level CODE_OF_CONDUCT.md file, but we could mitigate this with some language in project READMEs pointing to the overall code of conduct
- There may be some that I'm missing?
Any thoughts are appreciated, in particular from maintainers of projects that don't currently have a code of conduct file, thanks!
Forgot to mention @georust/core
seems more likely to be about challenges of maintaining multiple projects than disagreement.
geographiclib-rs
🙋whoops, that was me, and you're right, it was just oversight.
I'm on board with this. I like having the COC, and applying it uniformly makes sure it's not overlooked and makes onboarding a little easier.
Plus having the org-wide .github
repo seems like good infrastructure for some of the ideas you've floated for the future.
Thanks for everyone taking a look! I'll make this change tonight
Added in georust/.github, closing
Thanks @pjsier!