immersive-web / proposals

Initial proposals for future Immersive Web work (see README)
95 stars 11 forks source link

Code of Conduct #2

Closed toji closed 6 years ago

toji commented 6 years ago

It's my personal wish (and I know others share it) that we establish a code of conduct for not only this repo but also the entire Immersive Web GitHub org. This really needs to be a forum for respectful conversation if it's going to be effective.

I don't think we need to do much novel here, there's multiple pre-existing Code of Conduct templates out there so I recommend we simply pick one that feels appropriate. GitHub makes it pretty easy to add a couple of well known templates to individual repos, so it's worth checking out the stock options first to see if any fit the bill. This includes:

But there's nothing limiting us to those if someone is familiar with something more appropriate. For my part I like the Contributor Covenant because it's pretty brief and I feel the language fits our use case well. Very happy to hear other opinions, though!

In addition to the actual text used we should also figure out how we want to display it. The "default" is to have a CODE_OF_CONDUCT.md in each repo, and it would be easy enough to do that. If we'd rather not duplicate it everywhere we could also have a single repo in the org that is just the code of conduct (and discussion thereof, I suppose) which all the other repos point back to, though.

Thoughts?

mkungla commented 6 years ago

It is pretty likely that all developments under Immersive Web GitHub organization can can be governed by single code of conduct and indeed great starting point is just pick one mentioned above either Contributor Covenant or Citizen Code of Conduct and modify these on go If it really becomes necessary.

Indeed it seems that best would be to have single upstream repo for that kind of templates and common resources so that all other repos can link to it.

e.g. lets say that repo is named immersive-web/webxr-community-resources with following structure.

tree
.
├── docs
│   ├── code_of_conduct.md # common code of conduct
│   └── contributing.md # common contribution guidelines
└── templates
    └── github
        ├── code_of_conduct.md
        ├── contributing.md
        ├── issue_template.md
        └── pull_request_template.md

Code of Conduct

cat templates/github/code_of_conduct.md
[Read our Code of Conduct](https://github.com/immersive-web/webxr-community-resources/blob/master/docs/code_of_conduct.md)

Contribution Guidelines

cat templates/github/code_of_conduct.md
[Read our Contribution Guidelines](https://github.com/immersive-web/webxr-community-resources/blob/master/docs/contributing.md)

GitHub issue templates

see https://github.com/stevemao/github-issue-templates for some template examples

cat templates/github/issue_template.md
**Issue Description**

**WebXR Device API Version:**
- [ ] 1.0
- [ ] 1.x
- [ ] 2.x
- [ ] master

GitHub pull request templates

see https://github.com/stevemao/github-issue-templates for some template examples

cat templates/github/pull_request_template.md
**Proposed changes**

**Affected WebXR Device API Version:**
- [ ] 1.0
- [ ] 1.x
- [ ] 2.x
- [ ] master

**Breaking changes**
- [ ] yes (default no)

Since GitHub allows these files to be under .github directory instead of root of each repository it could be easily maintained by running following on each repository under GitHub org.

e.g immersive-web/webxr

cd immersive-web/webxr
git remote add -f common-resources git@github.com:immersive-web/webxr-community-resources.git
git checkout -b update-templates common-resources/<git-tag-name>
git subtree split -P templates/github -b github-templates
git checkout master
git subtree add -P .github github-templates
git branch -D github-templates update-templates
git remote rm common-resources 

In general these are just some thoughts how to tackle this topic and some materials could just be as a post under https://www.w3.org/community/webvr/2018/xx/xx/document-as-a-post/.

toji commented 6 years ago

This is a great reference, thank you! And I quite like the idea of having a community resourced repo as well to organize everything of this nature.

toji commented 6 years ago

I've bootstrapped https://github.com/immersive-web/community-resources with a code of conduct, using the Contributor Covenant template, and linked it from this repo's README. So that's a start. Thanks again for the recommendation!