Version 3.0, Bill Snow (ONF)
Version 2.0 can be found here.
Governance of the ONOS® project is intended to foster a technical meritocracy within the context of stewardship by the ONOS Chief Architect and the ONF Board of Directors. ONF is a nonprofit organization, and provides engineering resources on behalf of the ONOS Project.
The goals of ONOS project governance are to:
Provide an environment that thrives on technical meritocracy. Merit is based on technical contribution, not on financial contribution.
- Have strong technical vision and shepherding. This ensures architectural integrity of the codebase.
Provide a framework for ONOS teams and projects – how they are started, how they are managed, how members are elected, how conflicts are resolved, how they are disbanded when no longer needed.
Be clear on how ONOS software evolves – how code is added to (or removed from) the project.
Be clear on how decisions are made and conflicts resolved in the community.
Make it easy for community members to participate.
- Create a great codebase.
The principles of ONOS governance are in line with these community values:
Serve our Customers.
Practice true Meritocracy.
Operate with Transparency.
Strive for Quality, consistently.
Value and enable Innovation.
Respect others in all Interactions.
In addition, the over-arching governance principle is To act in the best interest of the broader community.
The ONOS project is governed by the Technical steering team and the ONF board of directors.
Technical Steering Team
The technical steering team is responsible for all technical decisions having to do with the ONOS project and the ONOS core codebase (“ONOS Core”). The ONOS codebase is the software distribution represented by the ONOS trademark. Use case applications, southbound plug-ins for non-OpenFlow devices, sample applications, vendor proprietary extensions may or may not be part of the ONOS Core. It is entirely up to the technical steering team to decide what constitutes the ONOS Core. Projects within the ONOS Project follow the project lifecycle document which can be found here. The TST may amend the project lifecycle document with the approval of the Chief Architect. The ONOS chief architect (“Chief Architect”) is the team lead of the technical steering team. The ONF board of directors reserves the right to remove and replace the Chief Architect at any time.
As per the Project Lifecycle, incubated projects may graduate to either Mature-state or Core-state status. It is intended that threshold for having projects graduate to Mature-state will be lower and the process streamlined relative to having projects graduate to Core-state. The TST is intended to be an oversight body, and is not intended to have responsibility for patch-level project decisions.
The membership is found on the home page.
The definitive section describing technical roles can be found here. The TST, with approval of the Chief Architect, shall have authority to modify, delete and create new technical roles from time to time.
- "Contributor": Anyone who signs a CLA and contributes a patchset and has had their code accepted in review by any Project (whether an ONOS Core Project or a non-Core Project). Provided that the CLA is signed, anyone can participate in the project by submitting code for consideration. For additional information on how to start contributing code to the project please see A Beginner's Guide to Contribution.
- "Reviewer": Everyone can review any patchset.
- "Module owner": Someone who can give a +2 review for a part of the codebase and submit code in that area
- "Project owner": Someone who can give a +2 review and submit anywhere in the codebase
Voting member: Any contributor, a module owner, or a project owner who has submitted (and/ had accepted) or reviewed, as applicable, at least two patchsets in the prior twelve (12) months.
Becoming a Member of the TST
There are several ways to become a member of the TST.
- The Chief Architect is by definition a member as the lead of the TST.
- The voting community will elect members annually as positions open.
- When a core project is deemed to be important enough to the success of ONOS, then the TST may choose to add the project lead to the TST. It is entirely up to the TST to make the decision on whether the project warrants consideration. This decision is made at the time the project undergoes the review to become a core project.
New technical steering team members will be elected on a yearly basis. Elections are held in the first quarter of each calendar year. At the time of election the following occurs:
- The Chief Architect is (re) appointed by the board of Open Networking Foundation.
- The Chief Architect decides the appropriate size of the technical steering team. The ONF board of directors has veto power on the choice of size.
- The voting community elects TST members to the open positions.
- The full election procedures are documented here.
- 2019 voting information can be found here.
If a team member leaves the team during the year, it is up to the Chief Architect to decide whether or not to hold an election to put someone else into the position before the next scheduled election.
- If the ONOS Chief Architect leaves ONF for any reason the ONF board of directors reserves the right to appoint a new ONOS Chief Architect.
If any member of the technical steering team changes their corporate affiliation during their tenure and, as a result, joins an organization that already has (on a consolidated basis) direct representation on the TST, the ONF board of directors reserves the right to remove them from their role on the technical steering team.
The ONF board of directors reserves the right to select a new Chief Architect at any time.
2018 Elections Process and Information can be found here.
2017 Elections Process and Information can be found here.
2016 Elections Process and Information can be found here.