Using the Governance Templates

Audience of this HowTo Audience of Required by CNCF
Maintainers Contributors Yes, graduated

See individual templates for further instructions on how to use each template.

Exploring and Using the Governance Templates

There are as many different governance structures and rules as there are Open Source projects. That’s as it should be; governance is individual to each community. However, there are some general patterns that you can follow, which will save you a lot of time when you need to start developing your own project’s governance. We’ve codified three of the most popular patterns as templates for CNCF projects to copy and modify.

The purpose of governance documents is to write down, and make explicit, how your project already does things. Don’t adopt a charter that’s inaccurate but sounds good; instead, copy a template and then modify it until it correctly describes your existing decision-making processes. That’s a hard enough task, since one of the things you’ll discover is that some of your own processes and roles are more poorly specified that you realized. That’s fine, literally every project goes through this stage.

The three templates we offer for your forking and customization are:

  • Maintainer Council supplies rules for a simple self-selecting council of Maintainers as project governance. This is the most common form of governance for CNCF projects.

  • Steering Committee Elections is a template for an elected steering committee, where senior leadership is elected by the body of contributors.

  • Federated Subprojects is a template for a “project of projects” where the CNCF project is more of an umbrella for a bunch of closely related subprojects.

Prerequisites for the Templates

Before starting to customize the templates, your project will need to discuss and come to consensus on a number of questions. All of these things have been implicit in prior project actions, but you’ll discover that not all members have the same view of them. Be prepared to spend time working these out. Among the questions will be:

  • Who are our project leaders, and what qualifications do they have?
  • Is there more than one type of leader, or any division of responsibilities?
  • How do we generally make decisions, particularly disputed decisions?
  • Do we already have meetings, online votes, a project board, or other tools of governance?