Skip to content
112 changes: 112 additions & 0 deletions PROJECT_CHARTER_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# ${PROJECT} Charter

_note: the purpose of a project charter is to provide a brief introduction_
_to the project from a technical, community, or business perspective. The_
_document also connects a project's community leadership and governance with the_
_OpenJS Foundation's governance._


## Section 0: Guiding Principles (optional)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we want projects to handle these optional sections? IMO, the sections should still exist in every charter and if the project chooses not to complete it, they leave it blank or add N/A or something like that so that all charters have consistent numbering, sections, order, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've seen the phrase 'Intentionally Omitted' or 'Section Intentionally Left Blank' used for that purpose, if that works

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Works for me as long as the section heading remains to maintain consistency.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of the 2 suggestions I prefer 'Section Intentionally Left Blank'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed a commit that adds the sentence: "If you are not using this section, please indicate your intent with the phrase, 'Section Intentionally Left Blank'." to the optional sections


_directions: provide a concise, high-level statement about_
_the project's long-term principles, values, or mission._

ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-1-guiding-principle)

## Section 1: Scope

_directions: Include a 3-4 sentence summary of what the project does,_
_and/or what problems it solves. Imagine trying to explain your work_
_to a colleague who is familiar with related technical concepts but unfamiliar_
_with the project. You may also want to describe the project's value to community_
_and/or business stakeholders._

ex. [K8s SIG Architecture Charter](https://github.com/kubernetes/community/blob/master/sig-architecture/charter.md#scope)

### 1.1: In-scope (optional)

_directions: list or bullet out problem spaces, use cases, repositories_
_or other projects which are included with the work but may not be readily_
_apparent. This may help differentiate the project from other solutions in the_
_space. If you are not using this section, please indicate your intent with the_
_phrase, 'Section Intentionally Left Blank'._

ex. [K8s SIG Architecture Charter](https://github.com/kubernetes/community/blob/master/sig-architecture/charter.md#in-scope)

### 1.2: Out-of-Scope (optional)

_directions: list or bullet out areas that may be seen to be related but are_
_not included in the scope of this project. This may help clarify the kind of_
_features, contributions, issues or problems the project is looking for._
_If you are not using this section, please indicate your intent with the_
_phrase, 'Section Intentionally Left Blank'._

ex. [K8s SIG Architecture Charter](https://github.com/kubernetes/community/blob/master/sig-architecture/charter.md#out-of-scope)

## Section 2: Relationship with OpenJS Foundation CPC.

_directions: describe how the project intersects with the Cross Project_
_Council._
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure if it’s clear what to fill in this section.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Node TSC charter has these 2 paragraphs under its Section 2 about the relationship between the Node TSC and the CPC, I think they're good paragraphs & was imagining something like that would go here. I agree it's not super clear as written!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps the template would benefit from having links to good examples, such as this one that you mention from the Node.js TSC charter https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-2-evolution-of-openjs-foundation-governance


ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-2-evolution-of-openjs-foundation-governance)

### 2.1 Other Formal Project Relationships (optional)

_directions: describe any additional affiliations or groups that liaise with_
_the project in a formal way (such as a W3C Community Group, for example)._
_If you are not using this section, please indicate your intent with the_
_phrase, 'Section Intentionally Left Blank'._

## Section 3: ${PROJECT TSC} Governing Body

_directions: describe the structure of the group responsible for managing_
_the project and its respective organization and repositories. If there are_
_specific rules for membership or participation in the group, list them here or_
_by reference to a governance.md document._
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure that the term “Establishment” can be widely understood. Maybe “Leadership” would be better?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about "Creation" - since this is more about the structure and arguably we'd want the projects to put "Leadership" pieces in their governance docs as much as possible to avoid the issue of them having to update their charter too frequently?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about something more generic like "Project Structure"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "Project Leadership" would be a good mix of what has been suggested and I think that is what is covered in the "Etablishment" section in the Node.js TSC charter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the call yesterday, we discussed using 'Governing Body' which was well received because we already have a definition of that in our charter document. Updating PR with this language.


ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-3-establishment-of-the-tsc)

## Section 4: Roles & Responsibilities

_directions: describe the roles and responsibilities of the ${PROJECT} Governing Body._

ex. [K8s SIG Architecture Charter](https://github.com/kubernetes/community/blob/master/sig-architecture/charter.md#roles-and-organization-management)
ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-4-responsibilities-of-the-tsc)

### Section 4.1 Project Operations & Management (optional)

_directions: use this section to describe any other specific tasks the_
_${PROJECT} Governing Body may be responsible for regarding process or project_
_operations and management. If you are not using this section, please indicate_
_your intent with the phrase, 'Section Intentionally Left Blank'._

ex. [K8s SIG Architecture Charter](https://github.com/kubernetes/community/blob/master/sig-architecture/charter.md#roles-and-organization-management)
ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-5-nodejs-project-operations)

### Section 4.2: Decision-making, Voting, and/or Elections (optional)

_directions: describe any provisions the project makes for decision-making_
_or include the information by reference your governance.md document._
_If you are not using this section, please indicate your intent with the_
_phrase, 'Section Intentionally Left Blank'._

ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-6-elections)

### Section 4.3: Other Project Roles (optional)

_directions: describe other roles within the project, such as chairperson,_
_tech lead, collaborator, contributor, maintainer, etc. and any responsibilities or_
_rights such role confers. You can also include this information by_
_reference to your governance.md document._
_If you are not using this section, please indicate your intent with the_
_phrase, 'Section Intentionally Left Blank'._

ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-8-project-roles)

## Section 5: Definitions (optional)

_directions: include any definitions that may help clarify terms or ideas found_
_in this charter document. If you are not using this section, please indicate_
_your intent with the phrase, 'Section Intentionally Left Blank'._

ex. [Node.js TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md#section-9-definitions)