Skip to content

Commit

Permalink
add zarr-extensions repo
Browse files Browse the repository at this point in the history
  • Loading branch information
normanrz committed Feb 17, 2025
1 parent a859a36 commit 3538de5
Showing 1 changed file with 26 additions and 20 deletions.
46 changes: 26 additions & 20 deletions draft/ZEP0009.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ nav_order: 9

Authors:

- Norman Rzepka
- Josh Moore
- [Norman Rzepka](https://github.com/normanrz), scalable minds
- [Josh Moore](https://github.com/joshmoore), German BioImaging

Status: Draft

Expand Down Expand Up @@ -117,12 +117,12 @@ raw names and URI-based.
1. **Raw names** MUST be assigned within a central repository and follow the
compatibility and versioning [v3 stability
policy](https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html#stability-policy).
The name assignment is managed through the [`zarr-developers` Github
organization](https://github.com/zarr-developers), where each extension is
listed and either contains a spec document or links to a spec document.
Names are never unassigned or reassigned. The ZSC or by delegation a
maintainer team reserves the right to refuse name assignment at its own
discretion.
The name assignment is managed through the [`zarr-extensions` Github
repository](https://github.com/zarr-developers/zarr-extensions), where
each extension is listed and either contains a spec document or links to
a spec document. Names are never unassigned or reassigned. The ZSC or by
delegation a maintainer team reserves the right to refuse name assignment
at its own discretion.

- **Example:** `zstd`
- **Acceptd regex:** `^[a-z0-9-_.]+$`
Expand Down Expand Up @@ -189,8 +189,7 @@ There is no strict requirement for extensions to have a formal specification.
However, for adoption in the community it is STRONGLY RECOMMENDED to write a
specification.

For extensions with raw names, there will be a repository under the
`zarr-developers` Github organization to either publish the specifications
For extensions with raw names, there will be the [zarr-extensions](https://github.com/zarr-developers/zarr-extensions) repository to either publish the specifications
directly or link to another location. For extensions with URI-based names, it
is RECOMMENDED to publish the specification under the URI of the extension.

Expand Down Expand Up @@ -267,10 +266,10 @@ described above:
#### Community registry

Externally to this ZEP, we will work towards unification of these extension
points. We propose that community register and discuss their extensions on an
additional repository within the zarr-developers organization. We recommend
that a maturity ranking be included in those listings as in other plugin
ecosystems.
points. We propose that community register and discuss their extensions on the
[zarr-extensions](https://github.com/zarr-developers/zarr-extensions) repository.
Eventually, we recommend that a maturity ranking be included in those listings
as in other plugin ecosystems.

#### Reassigning or unassigning names

Expand All @@ -285,12 +284,9 @@ beyond checking `must_understand`.

#### Name assignment

Raw names will be assigned through the `zarr-developers` Github organization.

Our first choice would be to have a single, additional repository which can be
maintained by a large number of contributors. This will simplify review and
prevent long-wait times on assginment. The process for updating the
`zarr-specs` repository with these names, if at all, needs to be defined.
Raw names will be assigned through the [`zarr-extension`](https://github.com/zarr-developers/zarr-extensions) repository. While the Zarr steering council will initially maintain
this repository, it is intended that a community team will be formed to maintain
the repository long-term.

An alternative would be to use the `zarr-specs` repository to deposit spec
documents for every assigned name. The process would be that extension
Expand All @@ -306,6 +302,16 @@ A third option would be to only store the names of the extensions in
that case, externally hosted could also be another repo under `zarr-developers`
that manages some extensions through its own maintenance structure.

#### Review process

To register an extension with a raw name, a community member needs to open a new
PR in the [zarr-extensions](https://github.com/zarr-developers/zarr-extensions)
repository.

Each extension MUST have a README.md file that describes the extension and its metadata specification. Extensions SHOULD have a schema.json file that contains the JSON schema for the metadata, if the README.md does not provide a link to an external schema. Please note that all extensions documents will be licensed under the Creative Commons Attribution 3.0 Unported License. Only open a PR if you are willing to license your extension under this license.

The PR will be reviewed by the Zarr steering council. We aim to be very open about registering extensions. The review will be done largely based on avoiding confusing extension names and preventing malicious activity as well as maintaining the formal requirements of the extensions. Extension maintainers are responsible for their extensions. Updates to the extensions will also be reviewed by the steering council.

## Phase 2: New extension points

Beyond the immediate clarifications that are outlined in phase 1, we believe
Expand Down

0 comments on commit 3538de5

Please sign in to comment.