Improving the onboarding process for new contributors

I think it could be good to actually use the processes written in the gouvernance document, making them actually fit the practices. That would sort of "automate" the integration of people in a sense, by giving people clear pathways.

Here is an example of what it could look like, inspired from other communities I have interacted with. It might look a little "over the top" because it's very formal compared to how we currently operate, but given the right tooling I think it could actually work well. My goals when writing it down were:

  • recognize many forms of contributions to OpenRefine with formal membership of the project
  • have roles with low barriers of entry and low risks to the project
  • make access to roles with more sensitive rights voted on by the community

Teams

The OpenRefine project consists of various teams:

Developers

Rights:

  • triage issues (add/remove tags, close issues)
  • review PRs
  • vote in elections

To become one:

  • get two code pull requests merged in the one of OpenRefine's GitHub repositories

Maintainers

Rights: like developers, but also:

  • merge pull requests
  • publish releases
  • review security vulnerability reports

To become one:

  • become a Developer first
  • then get elected as a Maintainer (see: election process)

Term: two years (re-election possible)

Translators

Rights:

  • vote in elections

To become one:

  • contribute translations to the tool or documentation

Documenters

Rights:

  • vote in elections
  • merge documentation changes on the openrefine.org website

To become one:

  • make at least two documentation contributions on the openrefine.org website

Designers

Rights:

  • vote in elections

To become one:

  • propose a change to OpenRefine which gets implemented

Trainers

Rights:

  • vote in elections

To become one: one of

  • run one training event around OpenRefine
  • publish an openly accessible tutorial about OpenRefine

Code of Conduct committee

Rights:

  • vote in elections
  • respond to Code of Conduct reports
  • be moderator on the forum

To become one:

  • first, be part of any other team
  • then, get elected

Term: three years (re-election possible)

Advisory committee (which we could rename?)

Rights:

  • formally represent the project at Code for Science & Society

To become one:

  • first, be part of any other team
  • then, get elected

Term: three years (re-election possible)

Election process

To run an election:

  • create a thread on the forum (in the Elections category - to be created) listing the person and role applied to
  • eligible voters can vote to Support (+1), Accept (0) or Oppose (-3) the promotion
  • after 14 days, the person is elected if the sum of votes is non-negative