Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Governance for the Vega Organization #2

Merged
merged 19 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions CHARTER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Charter for the Vega Projects

## Scope and Goals

This is the organizational charter for [Vega](https://github.com/vega/vega), [Vega-Lite](https://github.com/vega/vega-lite), [Vega-Altair](https://github.com/altair-viz/altair), [Vega-Embed](https://github.com/vega/vega-embed), [Vega-Datasets](https://github.com/vega/vega-datasets), [Vega-Themes](https://github.com/vega/vega-themes), [Vega-Tooltips](https://github.com/vega/vega-tooltip), [Vega-Editor](https://github.com/vega/editor), [VL-Convert](https://github.com/vega/vl-convert), [Altair-Tiles](https://github.com/altair-viz/altair_tiles), and [dash-vega-components](https://github.com/altair-viz/dash-vega-components). These projects are collectively referred to as the "Vega projects" in this document.

The Vega projects are in the [vega](https://github.com/vega) and [altair-viz](https://github.com/altair-viz) GitHub organizations.

## Mission

The Vega projects provide an ecosystem of tools for declarative data visualizations. The various components of this ecosystem build on each other providing different levels of abstraction.

## Steering Committee

### Purpose

The Steering Committee will be responsible for all technical oversight, project approval, policy oversight, and trademark management for the Organization.

### Composition

The Steering Committee voting members are listed in the [STEERING-COMMITTEE.md file](STEERING-COMMITTEE.md). Voting members may be added or removed by no less than 3/4 affirmative vote of the Steering Committee. The Steering Committee will appoint one or two Chair(s) responsible for organizing Steering Committee activity.

## Voting

### Decision Making

The Steering Committee will strive for all decisions to be made by consensus. While explicit agreement of the entire Steering Committee is preferred, it is not required for consensus. Rather, the Steering Committee will determine consensus based on their good faith consideration of a number of factors, including the dominant view of the Steering Committee and nature of support and objections. The Steering Committee will document evidence of consensus in accordance with these requirements. If consensus cannot be reached, the Steering Committee will make the decision by a vote.

### Voting

The Steering Committee Chair will call a vote with reasonable notice to the Steering Committee, setting out a discussion period and a separate voting period. Any discussion may be conducted in person or electronically by text, voice, or video. All major decisions should be documented publicly. In any vote, each voting representative will have one vote. Decisions by vote require a simple majority vote of all voting members.

## Termination of Membership

The membership of a Steering Committee member will terminate if any of the following occur:

* **Resignation**. Written notice of resignation to the Steering Committee.

* **Unreachable Member**. If a member is unresponsive at their listed handle for more than three months the Steering Committee may vote to remove the member.

* **Code of Conduct violation**. If a member violates the Code of Conduct in a way that justifies at least a warning, the Steering Committee may vote to remove the member.

## No Confidentiality.

Information disclosed in connection with any of the Organization's activities, including but not limited to meetings, Contributions, and submissions, is not confidential, regardless of any markings or statements to the contrary.

## Project Criteria

In order to be eligible to be a Organization project, a project must:

* Be approved by the Steering Committee.
* Agree to follow the guidance and direction of the Steering Committee.
* Use only the following outbound licenses or agreements unless otherwise approved:
- For code, a license on the Open Source Initiative's list of [Popular Licenses](https://opensource.org/licenses).
- For data, a license on the Open Knowledge Foundation's list of [Recommended Conformant Licenses](http://opendefinition.org/licenses/).
- For specifications, a community developed and maintained specification agreement, such the [Open Web Foundation Agreements](https://www.openwebfoundation.org/the-agreements) or [Community Specification Agreement](https://github.com/CommunitySpecification/1.0).
* Include and adhere to the Organization's policies, including the [code of conduct](./CODE-OF-CONDUCT.md).

After adding a project to the Vega Organization, add it to the list at the top of this document.

## Amendments

Amendments to this charter, or the [code of conduct](CODE_OF_CONDUCT.md) may only be made with at least a 3/4 affirmative vote of the Steering Committee.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# .github
Community health files for the @vega organization

Community health files for the Vega Projects.

The overall project charter is in [CHARTER.md](CHARTER.md). The governance documents are in [GOVERNANCE.md](project-docs/GOVERNANCE.md) in the `project-docs` folder. This folder also contains the list of admins and maintainers for the projects in the Vega organization.
15 changes: 15 additions & 0 deletions STEERING-COMMITTEE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Steering Committee

This document lists the members of the Organization's Steering Committee. Voting members may be added once approved by the Steering Committee as described in the [charter](CHARTER.md). By adding your name to this list you are agreeing to abide by all Organization polices, including the [charter](CHARTER.md) and the [code of conduct](CODE_OF_CONDUCT.md). If you are serving on the Steering Committee because of your affiliation with another organization (designated below), you represent that you have authority to bind that organization to these policies.

| **NAME** | **Handle** | **Affiliated Organization** |
| --- | --- | --- |
| Stefan Binder (Chair) | @binste | - |
| Dominik Moritz (Chair) | @domoritz | - |
| Jeffrey Heer | @jheer | University of Washington |
| Kanit Wongsuphasawat | @kanitw | - |
| Arvind Satyanarayan | @arvind | MIT CSAIL |
| Joel Ostblom | @joelostblom | - |
| Jon Mease | @jonmmease | [Hex Technologies](https://hex.tech/) |
| Mattijn van Hoek | @mattijn | - |
| Christopher Davis | @ChristopherDavisUCI | - |
27 changes: 27 additions & 0 deletions project-docs/ADMINS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Admins

This document lists the Admins of the Project. Admins may be added once approved by the existing Admins as described in the [Governance document](GOVERNANCE.md). By adding your name to this list you are agreeing to abide by the Project governance documents and to abide by all of the Organization's polices, including the [code of conduct](CODE_OF_CONDUCT.md).

## Vega and Vega-Lite Admins

This includes projects in the [vega](https://github.com/vega/) org.

| **NAME** | **Handle** | **Affiliated Organization** |
| --- | --- | --- |
| Arvind Satyanarayan | @arvind | MIT CSAIL |
| Dominik Moritz | @domoritz | - |
| Jeffrey Heer | @jheer | University of Washington |
| Kanit Wongsuphasawat | @kanitw | - |
| Lukas Hermann | @lsh | - |

## Vega-Altair Admins

This includes projects in the [altair-viz](https://github.com/altair-viz/) org.

| **NAME** | **Handle** | **Affiliated Organization** |
| --- | --- | --- |
| Christopher Davis | @ChristopherDavisUCI | - |
| Joel Ostblom | @joelostblom | - |
| Jon Mease | @jonmmease | [Hex Technologies](https://hex.tech/) |
| Mattijn van Hoek | @mattijn | - |
| Stefan Binder | @binste | - |
63 changes: 63 additions & 0 deletions project-docs/GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Vega Project Governance

This is the default project governance for the Vega Projects. Our goal is to encourage a diverse community of contributors and users to participate in the development of the Vega projects.

Each project may override the specific roles and development guidelines in a `GOVERNANCE.md` and `CONTRIBUTING.md` file. However, all projects have to adhere to the code of conduct, the general principles outlined in this document, and the charter.

## Roles

We define three levels of roles in the Vega projects: Contributors, Maintainers, and Admins. We expect everyone to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md).

### Contributors

Contributors are anyone who makes a contribution to a Vega project via GitHub. This includes filing issues, sending pull requests, and participating in discussions. There are no requirements to participate and we encourage everyone to contribute. You do not have to be a Maintainer to send a pull request.

### Maintainers

Maintainers belong to all or some subset of Vega projects. Maintainers are responsible for organizing activities around developing, maintaining, and updating the project. Maintainers are also responsible for determining consensus.

Maintainers have write access and can push directly to branches on GitHub. Maintainers also have access to specific developer channels on Slack.

To become a Maintainer, a contributor must be nominated by an existing Maintainer and approved by a simple majority of Maintainers via Slack reactions within 7 days (simple majority of responses). A new Maintainer should be added to 1) the GitHub team, 2) the Slack channel, and 3) the [MAINTAINERS.md file](MAINTAINERS.md). The details of the vote should be deleted before the new maintainer is added to the channel. We want more people to become Maintainers and lower the barrier the entry. If you are interested in becoming a Maintainer, please reach out to an existing Maintainer.

Maintainers who are inactive for more than six months may be removed from the Maintainer list by 3/4 vote of the existing Maintainers.

### Admins

Admins are maintainers who can make and are responsible for releases. Admins are [owners of the GitHub organization](https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#organization-owners).

To become an Admin, a Maintainer must be nominated and approved by the existing Admins using the same process as for Maintainers. Admins are listed in the [ADMINS.md file](ADMINS.md).

Admins who are inactive for a year may be removed from the Admin list by 3/4 vote of the existing Admins.

## Decisions

Major technical decisions should be made in public using GitHub discussions or GitHub issues. While we use [Slack](https://bit.ly/join-vega-slack-2022) for more direct discussions, any results should be documented on GitHub where they are accessible to everyone. Note that we don't pay for Slack and so any discussions disappear after 90 days.

### Consensus-Based Decision Making

Projects make decisions through consensus of the Maintainers. While explicit agreement of all Maintainers is preferred, it is not required for consensus. Rather, the Maintainers will determine consensus based on their good faith consideration of a number of factors, including the dominant view of the Contributors and nature of support and objections. The Maintainers will document evidence of consensus in accordance with these requirements.

### Appeal Process

Decisions may be appealed by opening an issue and that appeal will be considered by the Maintainers in good faith, who will respond in writing within a reasonable time. If the Maintainers deny the appeal, the appeal may be brought before the Organization Steering Committee, who will also respond in writing in a reasonable time.

## Project-Specific Development Guidelines

Each Vega project may have its own development guidelines in a `CONTRIBUTING.md` file. For example, [Vega-Lite's contributing guide](https://github.com/vega/vega-lite/blob/main/CONTRIBUTING.md) describes design and development principles.

## How We Work

**Openness**. Participation is open to anyone who is directly and materially affected by the activity in question. There shall be no undue financial barriers to participation.

**Balance**. The development process should balance the interests of Contributors and other stakeholders. Contributors from diverse interest categories shall be sought with the objective of achieving balance.

**Coordination and Harmonization**. Good faith efforts shall be made to resolve potential conflicts or incompatibility between releases in this Project.

**Consideration of Views and Objections**. Prompt consideration shall be given to the written views and objections of all Contributors.

**Written procedures**. This governance document and other materials documenting this project's development process shall be available to any interested person.

## No Confidentiality.

Information disclosed in connection with any Project activity, including but not limited to meetings, contributions, and submissions, is not confidential, regardless of any markings or statements to the contrary.
33 changes: 33 additions & 0 deletions project-docs/MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Maintainers

This document lists the Maintainers of the Project. Maintainers may be added once approved by the existing maintainers as described in the [Governance document](GOVERNANCE.md). By adding your name to this list you are agreeing to abide by the Project governance documents and to abide by all of the Organization's polices, including the [code of conduct](CODE_OF_CONDUCT.md).

## Vega and Vega-Lite Maintainers

This includes projects in the [vega](https://github.com/vega/) org.

| **NAME** | **Handle** | **Affiliated Organization** |
| --- | --- | --- |
| Arvind Satyanarayan | @arvind | MIT CSAIL |
| Dominik Moritz | @domoritz | - |
| Fan Du | @fandu-db | - |
| Jeffrey Heer | @jheer | University of Washington |
| Joel Ostblom | @joelostblom | - |
| Jon Mease | @jonmmease | [Hex Technologies](https://hex.tech/) |
| Kanit Wongsuphasawat | @kanitw | - |
| Klaus Eckelt | @keckelt | - |
| Lukas Hermann | @lsh | - |
| Mattijn van Hoek | @mattijn | - |
| Younghoon Kim | @yhoonkim | - |

## Vega-Altair Maintainers

This includes projects in the [altair-viz](https://github.com/altair-viz/) org.

| **NAME** | **Handle** | **Affiliated Organization** |
| --- | --- | --- |
| Christopher Davis | @ChristopherDavisUCI | - |
| Joel Ostblom | @joelostblom | - |
| Jon Mease | @jonmmease | [Hex Technologies](https://hex.tech/) |
| Mattijn van Hoek | @mattijn | - |
| Stefan Binder | @binste | - |