Skip to content

Commit

Permalink
docs: add governance information (#910)
Browse files Browse the repository at this point in the history
  • Loading branch information
crowlKats authored Feb 5, 2025
1 parent 69b0a6a commit e4f2d55
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 18 deletions.
75 changes: 75 additions & 0 deletions frontend/docs/governance/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: JSR Governance Charter
description: JSR is a project built for the entire JavaScript ecosystem. This document outlines the charter document.
---

## 1. Mission and purpose

The JSR board exists to improve the JavaScript and TypeScript ecosystem by
providing a community service for sharing code through mechanisms such as
hosting, moderation, and facilitating easy access to shared resources.

## 2. Board composition

The board will consist of 5 members. Members are selected based on their ability
to represent large swaths of JavaScript users, including key stakeholders such
as developers, framework authors, and platform maintainers.

## 3. Responsibilities

The board will be responsible for:

Setting policy and strategy for JSR. Overseeing operational matters, including
securing a legal home for the organization. Ensuring alignment with the mission
and acting as stewards of the community's trust.

## 4. Decision-making

Decisions will be made by majority vote. A quorum is required to hold a vote,
defined as at least 3 members present.

## 5. Term limits and roles

Board members do not have term limits. No formal roles (e.g., chair, secretary)
are defined at this time.

## 6. Legal organization

The board will function as an informal group initially. Members agree to abide
by board decisions. One of the board's primary goals is to establish a legal
home for JSR, either by joining an existing foundation (e.g., Linux Foundation,
OpenJS) or forming its own 501(c)(3) or similar entity.

## 7. Transparency

Board decisions and meeting minutes will be posted publicly on an accessible
platform, such as the organization's website or a public repository.

## 8. Dispute resolution

All disagreements among board members will be resolved through majority voting.

## 9. Funding

Funding will be provided by the Deno Company until a formal legal structure is
established. In the event that Deno Company funding becomes unavailable, the
board will explore alternative funding sources, including community
contributions, sponsorships, or grants.

## 10. Charter amendments

The board will have the authority to revise this charter as necessary, following
the same decision-making process (majority vote). Amendments will be
communicated to the community through public postings, with an opportunity for
review and feedback before finalization.

## 11. Conflict of interest policy

Board members must disclose any conflicts of interest that may arise and recuse
themselves from decisions where such conflicts exist.

## 12. Onboarding and offboarding

New board members will be onboarded with a briefing on the charter and current
initiatives. A member may resign by providing written notice. Removal of a
member requires a majority vote of the remaining board.
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@ community-first, modern platform for sharing JavaScript and TypeScript code.
## Governance Board

The governance board is responsible for overseeing the project and ensuring that
it remains true to its mission. The governance board has not yet been formed,
but will consist of community members from various organizations relevant to the
JavaScript ecosystem.

The governance board will be responsible for:
it remains true to its mission. The governance board is responsible for:

- Overseeing JSR's move to a foundation
- Setting the general direction of the project
Expand All @@ -33,10 +29,24 @@ The governance board will be responsible for:
- Determining how to review open source contributions to the project, and how to
add new reviewers to the project

The governance board will initially be formed out of trusted members of the
community who have prior experience with open source projects and open
governance. If you are interested, please email
[[email protected]](mailto:[email protected]).
### Members

The governance board consist of community members from various organizations
relevant to the JavaScript ecosystem. Its current members are:

- Evan You (creator of Vue.js, founder of [VoidZero](https://voidzero.dev/))
- Isaac Schlueter (creator of npm, [vlt](https://www.vlt.sh/))
- James Snell ([Node.js](https://nodejs.org) TSC member,
[Cloudflare](https://www.cloudflare.com))
- Luca Casonato (core member of [Deno](https://deno.land))
- Ryan Dahl (creator of [Node.js](https://nodejs.org) and
[Deno](https://deno.land))

### Meetings

The governance board has meetings that are held privately, but releases notes
from each meeting. You can find these notes on
[GitHub](https://github.com/jsr-io/jsr/issues?q=label%3Ameeting%20is%3Aclosed%20Board).

## Moderation Group

Expand Down Expand Up @@ -71,9 +81,9 @@ There is not currently a policy in place to determine how contributions to the
JSR project are accepted. This will be determined by the governance board.
Currently reviews are done by the Deno team.

## Open Working Group Meetings
## Office Hours

JSR holds open working group meetings every two weeks on Fridays
JSR holds office hour meetings every two weeks on Thursdays
([view the public calendar](https://deno.co/jsr-meeting)).

[View video recordings of previous meetings here](https://drive.google.com/drive/folders/1nkV3s4SQP2-lQdy---0oHwHSVCjzhJlR).
[View video recordings of previous meetings on YouTube](https://www.youtube.com/@jsr-io/videos).
22 changes: 16 additions & 6 deletions frontend/docs/toc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ export interface TOCEntry {
group: typeof groupsNames[number];
}

export const groupsNames = ["Guide", "Reference", "Use JSR with"] as const;
export const groupsNames = [
"Guide",
"Reference",
"Governance",
"Use JSR with",
] as const;

export default [
{
Expand Down Expand Up @@ -118,16 +123,21 @@ export default [
id: "usage-policy",
group: "Reference",
},
{
title: "Governance",
id: "governance",
group: "Reference",
},
{
title: "API",
id: "api",
group: "Reference",
},
{
title: "Overview",
id: "governance/overview",
group: "Governance",
},
{
title: "Charter Document",
id: "governance/charter",
group: "Governance",
},
{
title: "Deno",
id: "with/deno",
Expand Down

0 comments on commit e4f2d55

Please sign in to comment.