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:
- Thread-model and Scheduling
- Networking
- State Backends, State Indexes, and I/O.
- Dataflow Operations
- Metrics
Analytics Team
This team is responsible for all aspects of analytics on top of Arcon which includes areas such as:
- Stream Analytics (e.g., Windows, Joins, Operators..)
- Interactive Analysis on Arcon state (SQL)
- Analytics on Arrow
Deployment Team
This team is responsible for all aspects related to Deployment which includes areas such as:
- Resource Planning (Logical -> Physical DAG)
- High Availability
- Scaling Decisions
- System Observability
- Cloud Deployment (e.g., Kubernetes)