cda-group/arcon

Draft: Project Governance

Max-Meldrum opened this issue · 0 comments

Proposal: Create a governance structure similar to the Rust project where there is a core team managing the overall direction of the project and then have subteams take ownership of a certain area.

Motivation: Arcon is an ambitious project with many different development & research areas. I believe that a more decentralised model will help speed up the growth of the project but also make it more accessible. A new contributor with a specific interest will know with whom to get in touch.

Core Team

  • Majority Consensus for larger design decisions.

Suggested Subteams

Subteams consist of Team Lead(s) where at least 1 is from the core team.

Runtime Team

This team is responsible for managing the core execution engine of Arcon which includes areas such as:

  1. Thread-model and Scheduling
  2. Networking
  3. State Backends, State Indexes, and I/O.
  4. Dataflow Operations
  5. Metrics

Analytics Team

This team is responsible for all aspects of analytics on top of Arcon which includes areas such as:

  1. Stream Analytics (e.g., Windows, Joins, Operators..)
  2. Interactive Analysis on Arcon state (SQL)
  3. Analytics on Arrow

Deployment Team

This team is responsible for all aspects related to Deployment which includes areas such as:

  1. Resource Planning (Logical -> Physical DAG)
  2. High Availability
  3. Scaling Decisions
  4. System Observability
  5. Cloud Deployment (e.g., Kubernetes)