WarpX Governance

WarpX is led in an open governance model, described in this file.

Steering Committee

Current Roster

  • Jean-Luc Vay (chair)

  • Remi Lehe

  • Axel Huebl

See: GitHub team

Role

Members of the steering committee (SC) can change organizational settings, do administrative operations such as rename/move/archive repositories, change branch protection rules, etc. SC members can call votes for decisions (technical or governance).

The SC can veto decisions of the technical committee (TC) by voting in the SC. The TC can overwrite a veto with a 2/3rd majority vote in the TC. Decisions are documented in the weekly developer meeting notes and/or on the GitHub repository.

The SC can change the governance structure, but only in a unanimous vote.

Decision Process

Decision of the SC usually happen in the weekly developer meetings, via e-mail or public chat.

Decisions are made in a non-confidential manner, by majority on the cast votes of SC members. Votes can be cast in asynchronous manner, e.g., over the time of 1-2 weeks. In tie situations, the chair of the SC acts as the tie breaker.

Appointment Process

Appointed by current SC members in an unanimous vote. As a SC member, regularly attending and contributing to the weekly developer meetings is expected.

SC members can resign or be removed by majority vote, e.g., due to inactivity, bad acting or other reasons.

Technical Committee

Current Roster

  • Luca Fedeli

  • Roelof Groenewald

  • David Grote

  • Axel Huebl

  • Revathi Jambunathan

  • Remi Lehe

  • Andrew Myers

  • Maxence Thévenet

  • Jean-Luc Vay

  • Weiqun Zhang

  • Edoardo Zoni

See: GitHub team

Role

The technical committee (TC) is the core governance body, where under normal operations most ideas are discussed and decisions are made. Individual TC members can approve and merge code changes. Usually, they seek approval by another maintainer for their own changes, too. TC members lead - and weigh in on - technical discussions and, if needed, can call for a vote between TC members for a technical decision. TC members merge/close PRs and issues, and moderate (including block/mute) bad actors. The TC can propose governance changes to the SC.

Decision Process

Discussion in the TC usually happens in the weekly developer meetings.

If someone calls for a vote to make a decision: majority based on the cast votes; we need 50% of the committee participating to vote. In the absence of a quorum, the SC will decide according to its voting rules.

Votes are cast in a non-confidential manner. Decisions are documented in the weekly developer meeting notes and/or on the GitHub repository.

TC members can individually appoint new contributors, unless a vote is called on an individual.

Appointment Process

TC members are the maintainers of WarpX. As a TC member, regularly attending and contributing to the weekly developer meetings is expected.

One is appointed to the TC by the steering committee, in a unanimous vote, or by majority vote of the TC. The SC can veto appointments. Steering committee members can also be TC members.

TC members can resign or be removed by majority vote by either TC or SC, e.g., due to inactivity, bad acting or other reasons.

Contributors

Current Roster

See: GitHub team

Role

Contributors are valuable, vetted developers of WarpX. Contributions can be in many forms and not all need to be code contributions. Examples include code pull requests, support in issues & user discussions, writing and updating documentation, writing tutorials, visualizations, R&D on algorithms, testing and benchmarking, etc. Contributors can participate in developer meetings and weigh in on discussions. Contributors can “triage” (add labels) to pull requests, issues, and GitHub discussion pages. Contributors can comment and review PRs (but not merge).

Decision Process

Contributors can individually decide on classification (triage) of pull requests, issues, and GitHub discussion pages.

Appointment Process

Appointed after contributing to WarpX (see above) by any member of the TC.

The role can be lost by resigning or by decision of an individual TC or SC member, e.g., due to inactivity, bad acting or other.

Former Members

“Former members” are the giants on whose shoulders we stand. But, for the purpose of WarpX governance, they are not tracked as a governance role in WarpX. Instead, former (e.g., inactive) contributors are acknowledged separately in GitHub contributor tracking, the WarpX documentation, references, citable Zenodo archives of releases, etc. as appropriate.

Former members of SC, TC and Contributors are not kept in the roster, since committee role rosters shall reflect currently active members and the responsible governance body.