Skip to content

Create or Update a HoloViz Project Governance

Demetris Roumis edited this page Jan 16, 2023 · 2 revisions

Create Project Governance Docs

Context

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.

Steps

  1. 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 as param-gov:
git tag -m "<project> governance" <project>-gov main
git push origin <project>-gov
  1. 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
  1. 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.
  1. 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.
  1. 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>).
  1. 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** |
| --- | --- | --- |
|     |     |     |
  1. 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.

Update Project Governance Docs

Context

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.

Steps (untested as of 12Jan2023)

  1. 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
  1. 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.

  2. Test that the links within your project governance docs now bring you to the updated holoviz/holoviz project gov docs.