Skip to content

Commit eed0d0e

Browse files
committed
[meta] add project charter and governance
1 parent ad24e96 commit eed0d0e

File tree

3 files changed

+67
-3
lines changed

3 files changed

+67
-3
lines changed

GOVERNANCE.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# `nvm` Project Governance
2+
3+
## Maintainers
4+
- [@ljharb](https://github.com/ljharb)
5+
6+
Maintainers are responsible for issue/PR triage, feature additions, maintenance, bugfixes, security fixes, releases, promoting existing contributors to maintainers, managing repo and CI configuration, etc.
7+
8+
## Contributors
9+
10+
Anyone who contributes code or content or time, via issues or pull requests or otherwise. Contributors do not have any additional permissions on the project.

PROJECT_CHARTER.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# `nvm` Charter
2+
3+
nvm is a version manager for Node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and Windows WSL.
4+
5+
## Section 0: Guiding Principles
6+
7+
The `nvm` project is part of the [OpenJS Foundation][openjs foundation], which operates transparently, openly, collaboratively, and ethically. Project proposals, timelines, and status must not merely be open, but also easily visible to outsiders.
8+
9+
## Section 1: Scope
10+
11+
`nvm` is a node version manager, focused on making it easy to install and manage multiple Node.js versions. Any features related to managing the installation and removal of Node.js on any node-supported platform are potentially in scope.
12+
13+
## Section 2: Relationship with OpenJS Foundation CPC.
14+
15+
Technical leadership for the projects within the [OpenJS Foundation][openjs foundation] is delegated to the projects through their project charters by the [OpenJS Foundation Cross-Project Council](https://openjsf.org/about/governance/) (CPC). In the case of the `nvm` project, it is delegated to the [`nvm` Maintainers](README.md#maintainers) (the “Maintainers”). The OpenJS Foundation's business leadership is the Board of Directors (the “Board”).
16+
17+
This `nvm` Charter reflects a carefully constructed balanced role for the Maintainers and the CPC in the governance of the OpenJS Foundation. The charter amendment process is for the Maintainers to propose changes using simple majority of the full Maintainers, the proposed changes being subject to review and approval by the CPC. The CPC may additionally make amendments to the project charter at any time, though the CPC will not interfere with day-to-day discussions, votes or meetings of the Maintainers.
18+
19+
### 2.1 Other Formal Project Relationships
20+
21+
Section Intentionally Left Blank
22+
23+
## Section 3: `nvm`'s Maintainers Governing Body
24+
25+
`nvm` is governed by its [maintainers](README.md#maintainers).
26+
27+
## Section 4: Roles & Responsibilities
28+
29+
The roles and responsibilities of `nvm`'s Maintainers are described in [GOVERNANCE.md](./GOVERNANCE.md).
30+
31+
### Section 4.1 Project Operations & Management
32+
33+
Section Intentionally Left Blank
34+
35+
### Section 4.2: Decision-making, Voting, and/or Elections
36+
37+
Section Intentionally Left Blank
38+
39+
### Section 4.3: Other Project Roles
40+
41+
Section Intentionally Left Blank
42+
43+
## Section 5: Definitions
44+
45+
- *Contributors*: contribute code or other artifacts, but do not have the right to commit to the codebase. Contributors work with the project’s maintainers to have code committed to the code base. A Contributor may be promoted to a Maintainer by the Maintainers. Contributors should rarely be encumbered by the Maintainers and never by the CPC or OpenJS Foundation Board.
46+
47+
- *Maintainers*: Contributors with any kind of decision-making authority in the project.
48+
49+
[openjs foundation]: https://openjsf.org

README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
- [Docker For Development Environment](#docker-for-development-environment)
5050
- [Problems](#problems)
5151
- [macOS Troubleshooting](#macos-troubleshooting)
52+
- [Maintainers](#maintainers)
5253
- [License](#license)
5354
- [Copyright notice](#copyright-notice)
5455

@@ -511,9 +512,9 @@ The contents of a `.nvmrc` file **must** be the `<version>` (as described by `nv
511512

512513
### Deeper Shell Integration
513514

514-
You can use [`avn`](https://github.com/wbyoung/avn) to deeply integrate into your shell and automatically invoke `nvm` when changing directories. `avn` is **not** supported by the `nvm` development team. Please [report issues to the `avn` team](https://github.com/wbyoung/avn/issues/new).
515+
You can use [`avn`](https://github.com/wbyoung/avn) to deeply integrate into your shell and automatically invoke `nvm` when changing directories. `avn` is **not** supported by the `nvm` maintainers. Please [report issues to the `avn` team](https://github.com/wbyoung/avn/issues/new).
515516

516-
If you prefer a lighter-weight solution, the recipes below have been contributed by `nvm` users. They are **not** supported by the `nvm` development team. We are, however, accepting pull requests for more examples.
517+
If you prefer a lighter-weight solution, the recipes below have been contributed by `nvm` users. They are **not** supported by the `nvm` maintainers. We are, however, accepting pull requests for more examples.
517518

518519
#### bash
519520

@@ -924,12 +925,16 @@ $ nvm use v14.15.4
924925
Now using node v14.15.4 (npm v6.14.10)
925926
```
926927
928+
## Maintainers
929+
930+
Currently, the sole maintainer is [@ljharb](https://github.com/ljharb) - more maintainers are quite welcome, and we hope to add folks to the team over time. [Governance](./GOVERNANCE.md) will be re-evaluated as the project evolves.
931+
927932
## License
928933
929934
See [LICENSE.md](./LICENSE.md).
930935
931936
## Copyright notice
932937
933-
Copyright [OpenJS Foundation](https://openjsf.org) and [project name] contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
938+
Copyright [OpenJS Foundation](https://openjsf.org) and `nvm` contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
934939
935940
[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/)

0 commit comments

Comments
 (0)