Skip to content

unjs/governance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

UnJS Governance Guide

Overview

UnJS is a collection of independent JavaScript libraries, tools, and utilities.

Each project is usually made for a specific purpose in the ecosystem following the Unix Philosophy and maintained by its author and designated maintainers.

UnJS Goals

  • High-quality and single-purpose javascript utilities
  • Healthy ecosystem with well-maintained repositories
  • Recognized and trustable collection of solutions
  • Collaborative and welcoming ecosystem
  • Consistency and compatibility across the ecosystem with projects that work in harmony
  • Independent development of solutions that benefit the majority of JS ecosystem

Roles and Responsibilities

UnJS Lead

Pooya Parsa (pi0), as the lead and creator of UnJS, is responsible to oversee the organization-wide decisions for introducing packages to be hosted (or to be removed) in UnJS collection and decisions that affect the UnJS identity and vision.

The lead ensures UnJS ecosystem remains healthy towards it's goals in collabration with maintainers and team members.

Maintainers

The author and original creator(s) of each project, have the code-owner role defined in the LICENSE file.

Code-owner is responsible to:

  • Define and develop the project's vision
  • Make final decisions about the project
  • Perform releases and official announcements
  • Make official statements in issues and pull-requests
  • Assign new maintainers

We respect the freedom of each author within their project(s). They have the last word in making decisions and choosing tooling, contributors and code conventions, and their project's roadmap as long as being consistant with overall UnJS vision.

In addition to the original author (code-owner), when an individual shows interest to help to maintain and develop a project, they will be granted as maintainer to be directly involved in the project. A list of all authors and maintainers shall be visible in the repository.

Maintainers are responsible for:

  • Directly approve and merge pull-requests
  • Make official statements in issues and pull requests of the project
  • Communicate with the maintainers and the community about the project

UnJS Team

UnJS's ultimate goal is to be a welcoming and collaborative ecosystem. To achieve this, in addition to project maintainers, we invite community individuals to the team to directly help with the triage and maintenance of projects when they do a certain amount of contribution across the ecosystem.

Team members can:

  • Be well-recognized as an UnJS member
  • Directly make branches without the need to fork repositories
  • Triage and close issues and help the community
  • Improve documentations and main website
  • Directly be involved in organization-wide discussions

Team members in general cannot:

  • Make official statements on issues in repos they are not maintainer of
  • Requesting changes or approving other's pull-requests
  • Merge pull requests (docs are the exception and allowed all across)
  • Claim credits from other's projects

Shared Tooling and Conventions

To maintain a consistent and compatible ecosystem, UnJS needs templates, shared tools, and guidelines.

These tools and templates are not forced to be used as-is but recommended and all members are encouraged to be involved in making suggestions and improving them.

Communication

Hosted projects, as long as being hosted, have the right to use the main website and social media channels to promote and communicate with the community. Team members are involved in the communication process.

Changes to this Document

Changes to this document should be signed-of by the lead before being applied.

In case of non-resolvable disagreements with new terms, project owners will be given chance to move their projects out of the organization.