Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This version of governance is no longer in use. See the new governance version 2.0.


Governance Model

 version 1.0 ratified at 2/9/15 board meeting 

version 1.1 (below) has been edited for the following:

Remove listing of initial team members. Instead point to the steering team pages.

Clarify voting processes. For example, there is no need to vote for use case steering team members. By definition they are the board members from the service providers.

Clarify definition of roles to be consistent with the roles defined by the technical steering team.

Governance of the ONOS™ project is a hybrid. It attempts to take what has worked well for open source projects and leave out what didn’t work so well. Mostly, it is governed as a technical meritocracy – those who contribute the most have the most influence on the technical direction and decisions. There is also an element of benevolent stewardship. This is what gives the project its strong vision, goals, and technical shepherding. More specifically, ONOS governance is

  • technical meritocracy because technical teams manage themselves to do what is technically right for the community. People who make the most contributions to their teams have the most influence. In addition, technical project leaders and steering team members are elected by active contributors.

  • benevolent stewardship because ON.lab’s board of directors retains the right to select the chairman of the ONOS advisory board and the leaders of the technical steering team, release management team, and community team. ON.Lab anticipates that it will rarely exercise this right, and that the project will operate autonomously; however, it retains this right in order to ensure that the project is successful. The ONOS project resides with project is a collaborative project in the Linux Foundation. Funding for the core engineering team comes from the ONOS partnership set up by the Open Networking Laboratory ("ON.Lab"), a nonprofit public benefit corporation.

     

...

The ONOS project is governed by four teams and a board of advisorsof directors. The four teams are the technical steering team, the use case team, the release management team, and the community team. ONOS subprojects are formed as part of one of the four teams.


ONOS Board

...

The board of advisors is a group of representatives from the member partner organizations. It is governed by the Chairman of the Board. The board of advisors has the following roles and responsibilities:

  • Strategic direction

  • New member recruiting

  • Conflict resolution between teams

  • Ambassadors for ONOS

  • ONOS trademark management 

  • Elect the lead of the Use Case Steering Team

The board of advisors leaves all technical decisions to the technical steering team in the spirit of open source technical meritocracy practice.

The governance document for document for the board of advisors can be found here.

Steering Teams

...

Email: onos-release-team@onosproject.org - Archive

Community

...

Steering Team

The community advocacy steering team is responsible for the care and feeding of the community. It is responsible to address community issues, to grow the community and to make sure that the community thrives. The community advocacy steering team lead is elected by the technical committers. The ON.Lab board of directors reserves the right to approve or veto this selection, and to appoint the team lead.

Community Advocacy Steering Team Page

Email: onos-community-team@onosproject.org - Archive

...

  • Open Networking Lab - the board of directors and employees of Open Networking Laboratory
  • Service Providers - the primary end users of the ONOS derived products
  • Vendors - the companies who build products based on ONOS for consumption by the service providers
  • Community - independent members of the community

...

ONOS Board

Composition of the Board

...

The Board of Advisors is composed of a chairman and one member from ON.Lab and each partner organization. In addition, each partner may name one alternative member to attend meetings in case the primary member is unable to attend. The maximum number of partner board members is 15. Each organization may only have one member on the board. The initial board is

 

...

Chairman - Guru Parulkar

...

AT&T - Al Blackburn

...

NTT Communications - Yukio Ito

...

Ciena - Francois Locoh Donou

...

Cisco - David Ward

...

Ericsson - Anita Frisell

...

Fujitsu - Masayuki Seno

...

Huawei - Jun Zha

...

NEC - Shunichiro Tejima

...

current board is found here.

Elections

The Chairman of the Board is chosen by the Open Networking Laboratory Board of Directors. Each organization is responsible for nominating their board member. The chairman of the board must approve the nomination. Board members are (re) elected nominated/approved every year. The first election will be in February 2015Nominations/approvals are held in the first quarter of each calendar year. If any board member must leave before the end of their term, their organization will nominate a new member and that member must be approved by the Chairman of the Board. If the Chairman of the Board must step down, then the ON.Lab Board of Directors will select a new Chairman.

2016 Elections Process and Information can be found here.

Voting

There are three classes of voting: ON.Lab, Vendors and Service Providers. Each receives votes according to the following allocation of 100 votes. Votes may be fractional.

...

The technical steering team is responsible for all technical decisions having to do with the ONOS core codebase. The ONOS core 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 codebase.

Initial Membership of Technical Steering Team

The membership will initially be the following people:

  • Thomas Vachuska, Team Lead

  • Ali Al-Shabibi - southbound maintainer

  • Madan Jampani - core maintainer

  • Brian O’Connor - northbound maintainer

Roles

  • Submitter - submits code to Gerrit. Submissions must be reviewed and approved by a committer. Anyone, who has signed the CLA, can be a submitter. Submitters do not have voting rights.

  • Committer - allowed to move code submissions from Gerrit into the official ONOS repository. Submitters may be nominated at any time, by any person, to become a committer. Approval to change role from a submitter to a committer is given by the technical steering team.

  • Maintainer - is a committer with responsibility for the integrity of some portion of the ONOS core codebase. Maintainers volunteer, but must be approved by the technical steering team. A list of maintainers and their area(s) of responsibility is kept on the technical steering team wiki page.

  • Team leader - is a committer with the responsibility for the integrity of the the overall ONOS core codebase. May also be a maintainer.

Membership Elections

is found on the home page.

Roles

The definitive section describing technical roles can be found here.

  • "Contributor": Anyone who signs a CLA and contributes a patchset and has had their code accepted in review. 
  • "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: A contributor, a module owner, or a project owner.

Membership Elections

New The technical steering team members will be elected on a yearly basis. The first member election will be held in February 2016. At Elections are held in the first quarter of each calendar year. At the time of election the following occurs:

  • The lead is (re) appointed by the board of Open Networking Laboratory.
  • The lead decides the appropriate size of the technical steering team. The ON.Lab board of directors has veto power on the choice of size.
  • Technical members are nominated by anyone, including themselves. They must already be active committers/maintainersvoting members.
  • The technical community of committers and maintainers voting members votes to elect steering team members. Each voter has one vote for each position (if steering team is 3 membersthere are 3 positions up to vote, then each voter has 3 votes). A voter may only cast 1 vote per candidate.
  • Ties are broken by the technical steering team leader.

...

  • If the ONOS Chief Architect leaves ON.Lab for any reason the ON.Lab 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 the ON.Lab board of directors reserves the right to remove them from their role on the technical steering team.

  • The ON.Lab board of directors reserves the right to select a new Chief Architect at any time.

Technical Advisory Group (currently not used)

The Technical Steering Team may organize a technical  advisory group of 3-5 architects that are leading SDN. They do not have to have any affiliation with the ONOS project. The goal of this group is twofold: solicit input from other experts in the field to guide the ONOS architecture and generate advocacy in the larger ecosystem for the work being done with ONOS. The people on the technical advisory group are all chosen by the technical steering team. 

...

The use case steering team is responsible for choosing and prioritizing the use cases worked on by the community.

Initial Membership of Use Case Steering Team

Each service provider has one representative on the use case steering team.The team will initially include the following people:

  •  AT&T - Tom Anschutz, team lead

  • NTT - Yoichi Sato

  • SK Telecom - TBD

Membership Additions

current team members are found on their home page.

Membership

The team representatives are by definition the group of board members from the service providers. The lead is elected The team representatives will be appointed on a yearly basis by their organization, or when they join ONOS, except for the team lead who will be elected every year by the Board of Advisorsthe board. How each service provider chooses their representative is outside the scope of this document. The first election of team lead and members will be held in February 2015Elections are held in the first quarter of each calendar year. At the time of the election, the following will take place:

  • Members of the team are The team lead is nominated by anyoneany service provider partner, including themselves, to be the team lead.
  • The Advisory Board entire board votes on the candidates to select the team lead.

...

  • Requirements database maintenance (Jira)

  • Requirements acceptance process

  • Requirements prioritization process

  • Release content prioritization

  • Release process (how subprojects get project code integrated)

Initial Membership

The membership will initially be the following people:

  • Bill Snow, Team Lead

  • Prajakta Joshi

Team Lead Election

The team lead is initially Bill Snow. Starting in February 2016 the Elections are held in the first quarter of each calendar year. The team lead of the release management team will be (re) elected by the technical committers. In February 2016during an election, the following will occur: 

  • Lead candidates are nominated by anyone, including themselves.
  • The technical community of committers and maintainers votes to elect the lead. Each voter has one vote.

...

Anyone may volunteer to be a member of the team. It is up to the team lead to decide how large the team is and who is accepted onto the team. If you would like to volunteer for one or more of the above teams, please send an email to the email address of the team (see above).

Community Steering Team

The community steering team is responsible for the care and feeding of the community. This team will be responsible to make sure the community has what it needs to function effectively. That may include

  • proactively checking in with members to see what can be improved

  • starting projects to improve the community

  • providing a structured way to handle conflict in the community

  • making sure communication tools work well for the community

  • owning the on-ramp process for the community

Initial Membership of Community Steering Team

The membership will initially be the following people:

  • Prajakta Joshi, Team Lead

  • Bill Snow

Team Lead Election

The team lead is initially Prajakta Joshi. Starting in February 2016 the Elections are held in the first quarter of each calendar year. The team lead of the release management community steering team will be (re) elected by the technical committers. In February 2016an election, the following will occur:

 

  • Lead candidates are nominated by anyone, including themselves.
  • The technical community of committers and maintainers votes to elect the lead. Each voter has one vote.

 

Membership

Anyone may volunteer to be a member of the team. It is up to the team lead to decide how large the team is and who is accepted onto the team.

...

When conflicts cannot be resolved in a subproject, the appropriate steering team will take responsibility to make the decision for the subproject. If the steering team cannot reach agreement then the board of advisors will Board  will make the decision.