Create or Update a HoloViz Project Governance
HoloViz has two levels of governance: Organizational and per Project. Each GitHub repository at https://github.com/holoviz/ (including this one) is a project and should seek to host its own project-level governance docs, in accordance with the organization's governance docs. A complete example of project governance docs is located here in the holoviz/holoviz repository.
When forming new project governance docs, project maintainers should default to adopting and linking to these holoviz/holoviz project governance docs when possible. Prior to merging, any divergences from the default should ideally be raised as a GitHub issue on holoviz/holoviz repository or at a HoloViz meeting to provide for an opportunity to discuss and possibly upstream these changes.
The steps below mention the use of project-specific <project>-gov
tag links. These are links to a specifically tagged commit on the holoviz/holoviz repo.
For a simple example of project governance docs that largely reference those on holoviz/holoviz, see the param project governance docs.
- Locally, pull the latest version of the holoviz/holoviz repo main branch and then push a project-specific
-gov
tag to the holoviz/holoviz repo, such asparam-gov
:
git tag -m "<project> governance" <project>-gov main
git push origin <project>-gov
- Create the following files in the project:
- <project_root>/
- CODE_OF_CONDUCT.md
- <project_root>/doc/governance/project-docs/
- CONTRIBUTING.md
- GOVERNANCE.md
- LICENSE.md
- MEMBERS.md
- In CODE_OF_CONDUCT.md, insert:
# Code of Conduct
For the code of conduct, see [HoloViz/HoloViz - CODE_OF_CONDUCT.md](<link with project-specific -gov tag, e.g.: https://github.com/holoviz/holoviz/blob/param-gov/CODE_OF_CONDUCT.md>).
The <project name> Project’s equivalently named documents take precedence over any external materials referenced within this linked document above.
- In CONTRIBUTING.md, insert:
# Contributing
For the contributing policy, see [HoloViz/HoloViz - CONTRIBUTING.md](<link with project-specific -gov tag, e.g.: https://github.com/holoviz/holoviz/blob/param-gov/doc/governance/project-docs/CONTRIBUTING.md>).
The <project name> Project’s equivalently named documents take precedence over any external materials referenced within this linked document above.
- In LICENSE.md, insert:
# License
For the license, see [HoloViz/<insert project name> - LICENSE.txt](<license.txt link from this project’s root, e.g. https://github.com/holoviz/param/blob/main/LICENSE.txt>).
- In MEMBERS.md, insert the following and list members as appropriate:
# Maintainers
For member policy, see the description at the top of [HoloViz/HoloViz - MEMBERS.md](<link with project-specific -gov tag: e.g.: https://github.com/holoviz/holoviz/blob/param-gov/doc/governance/project-docs/MEMBERS.md>).
The <project name> Project’s equivalently named documents take precedence over any external materials referenced within this linked document above.
| **NAME** | **Role** | **GitHub Handle** |
| --- | --- | --- |
| | | |
- In GOVERNANCE.md, insert:
# Governance Policy
The "Project" is herein defined as the activities related to this specific GitHub repository [`<project name>`](<link to project repository home, e.g. https://github.com/holoviz/param>), within the `HoloViz` GitHub Organization.
This Project adopts the governance specified by all of the numbered sections of [HoloViz/HoloViz - GOVERNANCE.md](<link with project-specific -gov tag: e.g.: https://github.com/holoviz/holoviz/blob/param-gov/doc/governance/project-docs/GOVERNANCE.md>).
The <project name> Project’s equivalently named documents take precedence over any external materials referenced within this linked document above.
When changes are made to the holoviz/holoviz project docs, and Maintainers of a given project reach a consensus on updating their project docs accordingly, the project-specific -gov
tag needs to be moved to the updated commit on holoviz/holoviz.
- Locally, pull the latest version of the holoviz/holoviz repo main branch and then push a deletion of the project-specific
-gov
tag to the holoviz/holoviz repo:
git tag -d <project>-gov
git push --delete origin <project>-gov
-
Create a new tag on the latest holoviz/holoviz commit (or the commit that you would like your project docs to refer to) by repeating step 1 of creating project gov docs in the section at the top.
-
Test that the links within your project governance docs now bring you to the updated holoviz/holoviz project gov docs.