StarlingX Initial Governance
The initial draft of this document with feedback from the reviewers is on this Etherpad.
The StarlingX project is governed according to the OpenStack Foundation's "four opens", which are open source, open design, open development and open community. Technical decisions are made by technical contributors, technical leaders and by a respresentative Technical Steering Committee. Our community is committed to diversity, openness, and encouraging new contributors and leaders to rise up.
StarlingX is both a development project and an integration project. It includes new services that provide important features and combines them with components from many other Open Source projects into a complete Edge Cloud solution. To help manage the complexity of the project, we have divided the project up into several sub-projects, each with project and technical leadership, to help distribute the overall work and to acknowledge in the community that there are multiple ways to contribute to the project. The sub-project lifecycle is managed by the project's Technical Steering Committee who approve the creation of new sub-projects and the retirement of sub-projects that are no longer active.
StarlingX is a brand new project and is in an initial "bootstrapping" phase in which the leadership positions will be appointed volunteers. All leadership positions will transition to be elected by the project's Contributors within one year.
StarlingX defines the following roles for the project.
A Contributor to StarlingX is someone who has made a Contribution to the project within the last 12 months. Contributions can include merged code, test or document submissions, or serving in a leadership role as defined below. The project's Technical Steering Committee can grant Contributor status for other contributions at its discretion. Contributors are eligible to vote in Technical Steering Committee elections. All Contributions are welcome and will be accepted based on their technical merit.
A Core Reviewer for a sub-project has the responsibility to review the changes proposed to the sub-project and help ensure that approved changes are aligned with the project's design & architecture, and meet the project's quality requirements. Core Reviewers have the ability to approve code to be merged into the StarlingX repositories. Core Reviewers are active Contributors and participants in the project. Core Reviewers for a sub-project are appointed by the sub-project Technical Lead with input from other StarlingX Core Reviewers. Contributors can become Core Reviewers for multiple sub-projects.
A Technical Lead in StarlingX is a Core Reviewer who has additional responsibility for guiding the overall technical direction of one or more of the sub-projects, under the overall technical guidance of the Technical Steering Committee. Technical Leads are responsible for resolving disagreements between the sub-project's Contributors and Core Reviewers. The initial Technical Leads are appointed to one year terms at launch by the Technical Steering Committee but will be fully elected by the sub-project's Contributors on an annual basis. Contributors can be Technical Leads for multiple sub-projects.
A Project Lead in StarlingX is responsible for the sub-project's work item list and facilitating the four opens within the sub-project. The Project Lead works with the Technical Lead to break down large work items for the team into Stories and Tasks. The Project Lead can help guide Contributors to the work items most needed by the sub-project, as defined by the Project Priorities established by the Technical Steering Committee. The initial Project Leads are appointed to one year terms at launch by the Technical Steering Committee but will be fully elected by the sub-project's Contributors on an annual basis. Contributors can be Project Leads for multiple sub-projects.
The same person can become a Technical Lead and Project Lead for a StarlingX sub-project.
Technical Steering Committee
The Technical Steering Committee is responsible for architectural decisions and making final decisions if sub-project Core Reviewers, Technical Leads or Project Leads disagree. It defines the overall project architecture and sets the overall Project Priorities. It will be comprised of 9 members who will be appointed at Launch but fully elected by the Contributors within the first year.
The initial Technical Steering Committee members will be:
- Brent Rowsell and Ian Jolliffe from Wind River
- Dean Troyer and Saul Wold from Intel
We are actively recruiting for additional Technical Steering Committee members
In April 2019, 4 of the 9 seats will be up for election by the project's Contributors. Anyone who is a Contributor to the project will be eligible to run, and anyone who is a Contributor is eligible to vote. In October 2019, the remaining 5 seats will be up for election. The elections will continue on this staggered cycle (4 seats and 5 seats) every six months in order to allow new leaders to rise up, but also ensure some consistency across the terms. There are no term limits, but in order to encourage diversity, no more than 2 of the 9 seats can be filled by any one organization. The Technical Steering Committee will meet regularly in an open forum with times and locations published in community channels.
The Technical Steering Committee can elect a Chair at its discretion. Meetings with be hosted and facilitated by the OpenStack Foundation.
The exact size and model for the Technical Steering Committee will evolve over time based on the needs and growth of the project, but the governing body will always be committed to openness, diversity and the principle that technical decisions are made by technical contributors.
All elections for leadership positions in StarlingX shall follow standard OpenStack procedures and methods. In the event that a candidate runs unopposed for a position, the TSC can waive a formal vote. Membership in the Foundation itself is not a requirement for holding an elected position though it is preferred. Elections are appointing an individual to a position in the project, not a company or organization. Individuals are expected to continue to support the project in the event of career changes unless they notify the project that they are resigning their position.