From 6c1ad6c13f68f5d646b011eea1b7afc00e9ce0c1 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 11 Aug 2025 16:22:05 -0500 Subject: [PATCH 01/33] Create governance document with sections 1,2,4 --- docs/terms-policies/governance.md | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/terms-policies/governance.md diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md new file mode 100644 index 00000000..c6cac911 --- /dev/null +++ b/docs/terms-policies/governance.md @@ -0,0 +1,41 @@ +# DANDI Archive Project Governance + +Version: 1.0 +Effective Date: YYYY-MM-DD +Status: Draft + +## 1. Purpose + +This document defines the governance structure, roles, responsibilities, and decision‑making processes for the DANDI Archive ecosystem. It applies uniformly to all current and future repositories and services, including: + +Sites: +- https://dandiarchive.org +- https://hub.dandiarchive.org +- https://about.dandiarchive.org + +Code repositories: +- https://github.com/dandi +- https://github.com/dandisets +- https://github.com/dandizarrs + +## 2. Mission + +DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR (Findable, Accessible, Interoperable, Reusable) publishing, preservation, discovery, and computational reuse of neurophysiology data. DANDI provides: + +- A cloud-based platform to store, process, and disseminate data. You can use DANDI to collaborate and publish datasets. +- Open access to data to enable secondary uses of data outside the intent of the study. +- Optimize data storage and access through partnerships, compression and accessibility technologies. +- Enables reproducible practices and publications through data standards such as NWB and BIDS. +- The platform is not just an endpoint to dump data, it is intended as a living repository that enables collaboration within and across labs. + + +## 4. Project Structure + +| Domain | Primary Repos | +|--------|------------------------------| +| Archive | [dandi-archive](https://github.com/dandi/dandi-archive), [dandi-infrastructure](https://github.com/dandi/dandi-infrastructure) | +| Client | [dandi-cli](https://github.com/dandi/dandi-cli), [dandidav](https://github.com/dandi/dandidav) | +| Metadata | [dandi-schema](https://github.com/dandi/dandi-schema), [schema](https://github.com/dandi/schema) | +| JupterHub | [dandi-hub](https://github.com/dandi/dandi-hub), [nebari](https://github.com/dandi/nebari), [nebari-deployments](https://github.com/dandi/nebari-deployments), [nebari-docker-images](https://github.com/dandi/nebari-docker-images) | +| Documentation & Support | [dandi-docs](https://github.com/dandi/dandi-docs), [dandi-about](https://github.com/dandi/dandi-about), [helpdesk](https://github.com/dandi/helpdesk) | + From f49306ccab00dbb0ef046058f9a0edea8261b0bd Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 11 Aug 2025 16:24:05 -0500 Subject: [PATCH 02/33] Add section 3 --- docs/terms-policies/governance.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index c6cac911..c08fcdbc 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -28,6 +28,15 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( - Enables reproducible practices and publications through data standards such as NWB and BIDS. - The platform is not just an endpoint to dump data, it is intended as a living repository that enables collaboration within and across labs. +## 3. Core Principles + +1. Openness & Transparency: Designs, discussions, and decisions are public by default +2. FAIR & Reproducibility: Data and code evolution remain traceable and citable +3. Sustainability: Architectural and process decisions consider long-term maintainability +4. Inclusivity & Respect: Guided by a Code of Conduct +5. Stewardship: Authority derives from consistent, high‑quality contribution +6. Accountability: Roles carry explicit responsibilities +7. Security & Privacy: Responsible handling of sensitive data and credentials ## 4. Project Structure From 0cb9fd89c6df2e0466b5cd0a9f8605ca0ad99f59 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 11 Aug 2025 16:51:19 -0500 Subject: [PATCH 03/33] Add section 5 --- docs/terms-policies/governance.md | 46 +++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index c08fcdbc..189598cd 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -48,3 +48,49 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( | JupterHub | [dandi-hub](https://github.com/dandi/dandi-hub), [nebari](https://github.com/dandi/nebari), [nebari-deployments](https://github.com/dandi/nebari-deployments), [nebari-docker-images](https://github.com/dandi/nebari-docker-images) | | Documentation & Support | [dandi-docs](https://github.com/dandi/dandi-docs), [dandi-about](https://github.com/dandi/dandi-about), [helpdesk](https://github.com/dandi/helpdesk) | +## 5. Roles & Responsibilities + +### 5.1 Contributors +Anyone submitting issues, pull requests, documentation, or feedback. +Responsibilities: +- Follow Code of Conduct and contribution guidelines +- Provide context and reproducible steps +- Where applicable, write tests and documentation for code changes + +### 5.2 Reviewers +Contributors granted reviewer status for designated repositories. +Responsibilities: +- Perform timely, constructive reviews +- Enforce style, testing, and security practices +- Identify architectural and performance impacts +Path to role: +- Consistent high‑quality reviews +- Sponsored by at least one Maintainer + +### 5.3 Maintainers +Individuals with merge rights for designated repositories. +Responsibilities: +- Final merge approval +- Release planning and tagging +- Triage (labels, prioritization, assignment) +- Escalate policy or security concerns +- Facilitate cross‑repository alignment +- Onboard and mentor reviewers +Expectations: +- Active presence +- Adhere to conflict of interest and bias avoidance +Path to role: +- Demonstrated sustained contributions and review quality +- Nomination and consensus of existing repository Maintainers + +### 5.4 Project Leadership +- Current leadership team: + - Satrajit Ghosh + - Yaroslav O. Halchenko +- Responsibilities: + - Approve or amend governance document and Code of Conduct + - Strategic project oversight + - Resolve escalated disputes + - Approve major architectural shifts + - Oversee risk, sustainability, funding alignment + From c051cfed28b6b4702922ae3bd4e30285f6f2f907 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 10:38:29 -0500 Subject: [PATCH 04/33] Update navigation --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 71d4474d..8554246c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -87,6 +87,7 @@ nav: - Terms and Policies: - Terms: "terms-policies/terms.md" - Policies: "terms-policies/policies.md" + - Project Governance: "terms-policies/governance.md" - API: - DANDI Client: "api/dandi-client.md" - REST API: "api/rest-api.md" From 28c50c3be1b77a14274cf52424cdd64a31fc632c Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 10:45:57 -0500 Subject: [PATCH 05/33] Add `Amendments to Project Governance` section --- docs/terms-policies/governance.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 189598cd..635e23a5 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,3 +94,14 @@ Path to role: - Approve major architectural shifts - Oversee risk, sustainability, funding alignment +## 12. Amendments to Project Governance + +Process +1. Proposal pull request +2. Minimum of a 30 day public comment +3. Approval by Project Leadership +4. Update version and effective data in Governance document header + +- Urgent amendments may use an accelerated 7 day window with rationale documented. +- The document becomes active upon Project Leadership approval and publication in the [DANDI Docs](https://docs.dandiarchive.org/). + From 5689ba477621db220f2aeda9c5b8b92e3915dcc1 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 11:16:44 -0500 Subject: [PATCH 06/33] Add `Documentation` section --- docs/terms-policies/governance.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 635e23a5..44fe3809 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,7 +94,13 @@ Path to role: - Approve major architectural shifts - Oversee risk, sustainability, funding alignment -## 12. Amendments to Project Governance +## 10. Documentation + +- User and developer documentation is available at https://docs.dandiarchive.org +- Design documents for major decisions are available at https://github.com/dandi/dandi-archive/tree/master/doc +- DEVELOPMENT.md and CODE_OF_CONDUCT.md are maintained in relevant repositories + +## 13. Amendments to Project Governance Process 1. Proposal pull request From 6f635f6c83230c378b3e486fdab29f4aebbdd490 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 11:26:29 -0500 Subject: [PATCH 07/33] Add `Communication` section --- docs/terms-policies/governance.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 44fe3809..9807644d 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -100,6 +100,17 @@ Path to role: - Design documents for major decisions are available at https://github.com/dandi/dandi-archive/tree/master/doc - DEVELOPMENT.md and CODE_OF_CONDUCT.md are maintained in relevant repositories +## 11. Communication + +Communication channels include: +- GitHub Issues and Discussions for user support and team discussions +- Slack for user support and team discussions +- Email (info@dandiarchive.org, help@dandiarchive.org) for user support +- Email announcements for critical notifications to users +- GitHub Releases for release announcements +- Email newsletter to highlight major changes + + ## 13. Amendments to Project Governance Process From 726f856d42511bdb446e8d638e3d7a6aaeb08b14 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 11:37:51 -0500 Subject: [PATCH 08/33] Add `Sunset Policy` section --- docs/terms-policies/governance.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 9807644d..529a86b5 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -122,3 +122,10 @@ Process - Urgent amendments may use an accelerated 7 day window with rationale documented. - The document becomes active upon Project Leadership approval and publication in the [DANDI Docs](https://docs.dandiarchive.org/). +## 14. Sunset Policy + +If a component becomes unmaintained: +- Create a plan with guidance from the Project Leadership +- Update documentation to reflect deprecation including migration guidance +- Mark repository with `ARCHIVED` notice + From f7f419433c60c0433a73e2f5eadb32ae025d0c7c Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 11:52:22 -0500 Subject: [PATCH 09/33] Add `Releases` section --- docs/terms-policies/governance.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 529a86b5..f7f30e35 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,6 +94,21 @@ Path to role: - Approve major architectural shifts - Oversee risk, sustainability, funding alignment +## 8. Releases + +### 8.1 Versioning +- Semantic Versioning for APIs and libraries + +### 8.2 Release Steps +- For [dandi-archive](https://github.com/dandi/dandi-archive), once a pull request is merged the changes are deployed to the sandbox environment (https://sandbox.dandiarchive.org) for review and testing prior to release. +- New releases are created with a GitHub Actions workflow built around [`auto`](https://github.com/intuit/auto). +- When a pull request is merged that has the "`release`" label, `auto`: + - Updates the changelog based on the pull requests since the last release and commits the results + - Tags the new commit with the next version number + - Creates a GitHub release for the tag +- For [dandi-cli](https://github.com/dandi/dandi-cli), upon release a new version is published to PyPI + + ## 10. Documentation - User and developer documentation is available at https://docs.dandiarchive.org From c450e97b28d8775585cdacda856ca879504f5ffd Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 11:59:10 -0500 Subject: [PATCH 10/33] Add `Community` section --- docs/terms-policies/governance.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index f7f30e35..e51b625c 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -125,6 +125,12 @@ Communication channels include: - GitHub Releases for release announcements - Email newsletter to highlight major changes +## 12. Community + +- Outreach events are hosted in collaboration with the Neurodata Without Borders team and can be found at https://nwb.org/events +- Code of Conduct is available at https://github.com/dandi/dandi-archive/blob/master/CODE_OF_CONDUCT.md + - Instances of Code of Conduct violation can be reported to community@dandiarchive.org + - Enforcement of Code of Conduct is separate from primary technical decision flow where possible ## 13. Amendments to Project Governance From 3d1fd850d5f16f870d94baeaf7ea1cf318bb31a5 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 12:04:27 -0500 Subject: [PATCH 11/33] Add `Licenses` section --- docs/terms-policies/governance.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index e51b625c..a7c26634 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -150,3 +150,6 @@ If a component becomes unmaintained: - Update documentation to reflect deprecation including migration guidance - Mark repository with `ARCHIVED` notice +## 15. Licenses + +- Source code licenses are declared per repository From 03280c1e4576cb84726cb385535c89c9197ba84e Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 12:13:22 -0500 Subject: [PATCH 12/33] Add `Security` section --- docs/terms-policies/governance.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index a7c26634..a3600168 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -108,6 +108,20 @@ Path to role: - Creates a GitHub release for the tag - For [dandi-cli](https://github.com/dandi/dandi-cli), upon release a new version is published to PyPI +## 9. Security + +### 9.1 Reporting +- Security reports via help@dandiarchive.org +- Acknowledge within 48 hours + +### 9.2 Handling +- Initial assessment within 5 business days +- Coordinate and address issue within 30 days +- User advisory via email when appropriate + +### 9.3 Hardening Practices +- Mandatory dependency scanning +- Principle of least privilege enforced for service accounts ## 10. Documentation From 64914af12f7e2ab2ffb2e160c0bcab9e5a364a7b Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 8 Sep 2025 23:45:50 -0500 Subject: [PATCH 13/33] Add `Pull Request Workflow` section --- docs/terms-policies/governance.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index a3600168..9b4f0c23 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,6 +94,35 @@ Path to role: - Approve major architectural shifts - Oversee risk, sustainability, funding alignment + +## 7. Pull Request Workflow + +### 7.1 Pull Request Requirements +- Link the associated issue +- Add a clear description (problem, approach, alternatives considered) +- Major architectural changes require a design document +- Add or update tests +- Update documentation +- Ensure CI passes +- Large pull requests should be split unless justified +- No introduction of unreviewed secrets or credentials +- Verified provenance for large binary additions (discouraged in code repos) + +### 7.2 Merge Policy +- All pull requests require: + - All comments must be resolved or addressed + - Approval by at least 1 listed Maintainer for that repository + - 24 hour waiting period (unless addressing a critical issue) +- See section below regarding updates to the Governance document + +### 7.3 Draft vs Ready for Review +- Open as a Draft for early feedback +- Convert to “Ready” only when tests and documentation are updated + +### 7.4 Reverts +- Any Maintainer may revert a merged pull request causing regression, security issue, or service degradation, with immediate notice in original pull request thread. +- Follow-up issue required to track remediation + ## 8. Releases ### 8.1 Versioning From 55f16bda47a986f8f848130b9b7a904e197bc983 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 11:53:11 -0500 Subject: [PATCH 14/33] Add `Decision-Making Model` section --- docs/terms-policies/governance.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 9b4f0c23..1dae652a 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,6 +94,23 @@ Path to role: - Approve major architectural shifts - Oversee risk, sustainability, funding alignment +## 6. Decision-Making Model + +### 6.1 Roadmap +- Project targets are discussed during the biweekly Engineering Core and Scientific Core meetings. +- Project Leadership provides guidance on prioritization of targets. +- Public notes of these meetings are available on [Google Drive](https://drive.google.com/drive/folders/1-jXLpcrh3L650FiZyTFgcs096nZjO2C3). + +### 6.2 Consensus Process +1. Open a GitHub issue describing the bug/feature request, context, and possible solutions. +2. For major architectural changes, create a design document. For reference, see [previous design documents](https://github.com/dandi/dandi-archive/tree/master/doc). +3. Collect feedback during a 7 day review period. +4. Summarize consensus in the GitHub issue and resolve all suggestions in the design document. +5. Implement via pull request(s) referencing the proposed design. + +### 6.3 Conflict of Interest +- Participants should disclose direct commercial interest in a technology choice. +- Conflicted member recuses oneself from final decision phase. ## 7. Pull Request Workflow From 3faf19fe47858c53156e68e928cf2aef263d3901 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 12:06:05 -0500 Subject: [PATCH 15/33] Add table of maintainers --- docs/terms-policies/governance.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 1dae652a..a7ecd67e 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -83,6 +83,18 @@ Path to role: - Demonstrated sustained contributions and review quality - Nomination and consensus of existing repository Maintainers +Maintainers for the respective DANDI repositories: +| Repository | Maintainers | +| -- | -- | +| dandi-archive | @waxlamp @jjnesbitt @mvandenburgh | +| dandi-cli | @yarikoptic @CodyCBakerPhD @candleindark | +| dandi-schema | @yarikoptic @candleindark @satra | +| dandi-hub | @asmacdo @satra | +| dandidav | @yarikoptic | +| dandi-about | @kabilar @bendichter | +| dandi-docs | @kabilar @bendichter | +| example-notebooks | @kabilar @bendichter | + ### 5.4 Project Leadership - Current leadership team: - Satrajit Ghosh From ecc2a71211eaaf55dc400d3fb8ec1fa1693b230b Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 12:29:21 -0500 Subject: [PATCH 16/33] Update maintainers table --- docs/terms-policies/governance.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index a7ecd67e..897a214b 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -86,14 +86,16 @@ Path to role: Maintainers for the respective DANDI repositories: | Repository | Maintainers | | -- | -- | -| dandi-archive | @waxlamp @jjnesbitt @mvandenburgh | -| dandi-cli | @yarikoptic @CodyCBakerPhD @candleindark | -| dandi-schema | @yarikoptic @candleindark @satra | -| dandi-hub | @asmacdo @satra | -| dandidav | @yarikoptic | -| dandi-about | @kabilar @bendichter | -| dandi-docs | @kabilar @bendichter | -| example-notebooks | @kabilar @bendichter | +| [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | @waxlamp @jjnesbitt @mvandenburgh | +| [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | @yarikoptic @CodyCBakerPhD @candleindark | +| [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | @yarikoptic @candleindark @satra | +| [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | @asmacdo @satra | +| [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | @asmacdo @satra | +| [dandi/nebari](https://github.com/dandi/nebari) | @asmacdo @satra | +| [dandi/dandidav](https://github.com/dandi/dandidav) | @yarikoptic | +| [dandi/dandi-about](https://github.com/dandi/dandi-about) | @kabilar @bendichter @yarikoptic @satra | +| [dandi/dandi-docs](https://github.com/dandi/dandi-docs) | @kabilar @bendichter @yarikoptic @satra | +| [dandi/example-notebooks](https://github.com/dandi/example-notebooks) | @kabilar @bendichter @yarikoptic @satra | ### 5.4 Project Leadership - Current leadership team: From 3a05ed0382d902056039eb9caf473e4443851b29 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 12:44:55 -0500 Subject: [PATCH 17/33] Add maintainer responsibility --- docs/terms-policies/governance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 897a214b..ed461b28 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -73,6 +73,7 @@ Responsibilities: - Final merge approval - Release planning and tagging - Triage (labels, prioritization, assignment) +- Manage vulnerability reports - Escalate policy or security concerns - Facilitate cross‑repository alignment - Onboard and mentor reviewers From 28392b5380bd2968d7d64c8e027a883ec8a33766 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Tue, 9 Sep 2025 14:14:44 -0400 Subject: [PATCH 18/33] Fix up indentations --- docs/terms-policies/governance.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index ed461b28..901aeef4 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -9,11 +9,13 @@ Status: Draft This document defines the governance structure, roles, responsibilities, and decision‑making processes for the DANDI Archive ecosystem. It applies uniformly to all current and future repositories and services, including: Sites: + - https://dandiarchive.org - https://hub.dandiarchive.org - https://about.dandiarchive.org Code repositories: + - https://github.com/dandi - https://github.com/dandisets - https://github.com/dandizarrs @@ -164,9 +166,9 @@ Maintainers for the respective DANDI repositories: - For [dandi-archive](https://github.com/dandi/dandi-archive), once a pull request is merged the changes are deployed to the sandbox environment (https://sandbox.dandiarchive.org) for review and testing prior to release. - New releases are created with a GitHub Actions workflow built around [`auto`](https://github.com/intuit/auto). - When a pull request is merged that has the "`release`" label, `auto`: - - Updates the changelog based on the pull requests since the last release and commits the results - - Tags the new commit with the next version number - - Creates a GitHub release for the tag + - Updates the changelog based on the pull requests since the last release and commits the results + - Tags the new commit with the next version number + - Creates a GitHub release for the tag - For [dandi-cli](https://github.com/dandi/dandi-cli), upon release a new version is published to PyPI ## 9. Security @@ -193,6 +195,7 @@ Maintainers for the respective DANDI repositories: ## 11. Communication Communication channels include: + - GitHub Issues and Discussions for user support and team discussions - Slack for user support and team discussions - Email (info@dandiarchive.org, help@dandiarchive.org) for user support @@ -204,12 +207,13 @@ Communication channels include: - Outreach events are hosted in collaboration with the Neurodata Without Borders team and can be found at https://nwb.org/events - Code of Conduct is available at https://github.com/dandi/dandi-archive/blob/master/CODE_OF_CONDUCT.md - - Instances of Code of Conduct violation can be reported to community@dandiarchive.org - - Enforcement of Code of Conduct is separate from primary technical decision flow where possible + - Instances of Code of Conduct violation can be reported to community@dandiarchive.org + - Enforcement of Code of Conduct is separate from primary technical decision flow where possible ## 13. Amendments to Project Governance Process + 1. Proposal pull request 2. Minimum of a 30 day public comment 3. Approval by Project Leadership From 101af7648d3ed39ab21531c7c1f54eaa015f430d Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:27:06 -0500 Subject: [PATCH 19/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 901aeef4..b80ab6ce 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -102,8 +102,8 @@ Maintainers for the respective DANDI repositories: ### 5.4 Project Leadership - Current leadership team: - - Satrajit Ghosh - - Yaroslav O. Halchenko + - [Satrajit Ghosh](https://satra.cogitatum.org/) ([@satra](https://github.com/satra)) + - [Yaroslav O. Halchenko](https://centerforopenneuroscience.org/whoweare) ([@yarikoptic](https://github.com/yarikoptic)) - Responsibilities: - Approve or amend governance document and Code of Conduct - Strategic project oversight From dff3810e96cd66ec31b7426aa63f85b25ee232ea Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:27:46 -0500 Subject: [PATCH 20/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index b80ab6ce..fca9e8c4 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -160,7 +160,7 @@ Maintainers for the respective DANDI repositories: ## 8. Releases ### 8.1 Versioning -- Semantic Versioning for APIs and libraries +- [Semantic Versioning 2.0](https://semver.org/spec/v2.0.0.html) for APIs and libraries ### 8.2 Release Steps - For [dandi-archive](https://github.com/dandi/dandi-archive), once a pull request is merged the changes are deployed to the sandbox environment (https://sandbox.dandiarchive.org) for review and testing prior to release. From cfee9a70dc8f38f45102f092d414e26e17890a42 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:28:55 -0500 Subject: [PATCH 21/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index fca9e8c4..43a35ea7 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -197,6 +197,8 @@ Maintainers for the respective DANDI repositories: Communication channels include: - GitHub Issues and Discussions for user support and team discussions + - https://github.com/dandi/helpdesk for generic support requests and questions + - individual repositories for targeted discussions - Slack for user support and team discussions - Email (info@dandiarchive.org, help@dandiarchive.org) for user support - Email announcements for critical notifications to users From 48eb363b5d01af72a3d48763ada4bc68ca5683db Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:30:27 -0500 Subject: [PATCH 22/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 43a35ea7..35333769 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -14,7 +14,7 @@ Sites: - https://hub.dandiarchive.org - https://about.dandiarchive.org -Code repositories: +Code git repositories: - https://github.com/dandi - https://github.com/dandisets From fd3646d31d6e8c8860edc3551cedc1943adb2675 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:30:47 -0500 Subject: [PATCH 23/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 35333769..0ca18a8c 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -17,6 +17,8 @@ Sites: Code git repositories: - https://github.com/dandi + +Data git/git-annex repositories: - https://github.com/dandisets - https://github.com/dandizarrs From d876f9ddeb200b72776372ea18b5e0061ef5cea2 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:31:11 -0500 Subject: [PATCH 24/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 0ca18a8c..36320afe 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -19,6 +19,7 @@ Code git repositories: - https://github.com/dandi Data git/git-annex repositories: + - https://github.com/dandisets - https://github.com/dandizarrs From 2451780abb0404e80f3c1dac7b7228f27dbefc06 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Tue, 9 Sep 2025 17:31:37 -0500 Subject: [PATCH 25/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 36320afe..97d3dca9 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -123,7 +123,8 @@ Maintainers for the respective DANDI repositories: ### 6.2 Consensus Process 1. Open a GitHub issue describing the bug/feature request, context, and possible solutions. -2. For major architectural changes, create a design document. For reference, see [previous design documents](https://github.com/dandi/dandi-archive/tree/master/doc). +2. For major architectural changes, create a design document and submit as a PR for discussion and refinement. + For reference, see [previous design documents](https://github.com/dandi/dandi-archive/tree/master/doc). 3. Collect feedback during a 7 day review period. 4. Summarize consensus in the GitHub issue and resolve all suggestions in the design document. 5. Implement via pull request(s) referencing the proposed design. From d869748ced473b8aae0071f4dd43d8dc1675356b Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 11:59:59 -0500 Subject: [PATCH 26/33] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 97d3dca9..f0e98b1c 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -237,4 +237,5 @@ If a component becomes unmaintained: ## 15. Licenses -- Source code licenses are declared per repository +- Licenses (for code, artwork, documentation) are declared per repository +- Licenses must be [DFSG](https://www.debian.org/social_contract#guidelines) and [OSI](https://opensource.org/licenses) compliant From 9da61f0f887060aea7a1886e5748389133c21998 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 13:44:28 -0500 Subject: [PATCH 27/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index f0e98b1c..e642ef75 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -92,7 +92,7 @@ Path to role: Maintainers for the respective DANDI repositories: | Repository | Maintainers | | -- | -- | -| [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | @waxlamp @jjnesbitt @mvandenburgh | +| [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | [@dandi/archive-maintainers](https://github.com/orgs/dandi/teams/archive-maintainers) | | [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | @yarikoptic @CodyCBakerPhD @candleindark | | [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | @yarikoptic @candleindark @satra | | [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | @asmacdo @satra | From dd2479870b946311c5ef174b8c1df004e43e8850 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 13:45:51 -0500 Subject: [PATCH 28/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index e642ef75..aff1ceb5 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -93,7 +93,7 @@ Maintainers for the respective DANDI repositories: | Repository | Maintainers | | -- | -- | | [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | [@dandi/archive-maintainers](https://github.com/orgs/dandi/teams/archive-maintainers) | -| [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | @yarikoptic @CodyCBakerPhD @candleindark | +| [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | [@dandi/dandi-cli-maintainers](https://github.com/orgs/dandi/teams/dandi-cli-maintainers) | | [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | @yarikoptic @candleindark @satra | | [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | @asmacdo @satra | | [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | @asmacdo @satra | From 63a0fc71ac50380f7e28fe7dd45173365fa64237 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 13:50:57 -0500 Subject: [PATCH 29/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index aff1ceb5..4d3841e1 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -95,9 +95,9 @@ Maintainers for the respective DANDI repositories: | [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | [@dandi/archive-maintainers](https://github.com/orgs/dandi/teams/archive-maintainers) | | [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | [@dandi/dandi-cli-maintainers](https://github.com/orgs/dandi/teams/dandi-cli-maintainers) | | [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | @yarikoptic @candleindark @satra | -| [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | @asmacdo @satra | -| [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | @asmacdo @satra | -| [dandi/nebari](https://github.com/dandi/nebari) | @asmacdo @satra | +| [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | +| [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | +| [dandi/nebari](https://github.com/dandi/nebari) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/dandidav](https://github.com/dandi/dandidav) | @yarikoptic | | [dandi/dandi-about](https://github.com/dandi/dandi-about) | @kabilar @bendichter @yarikoptic @satra | | [dandi/dandi-docs](https://github.com/dandi/dandi-docs) | @kabilar @bendichter @yarikoptic @satra | From 2666b00dc5f4587b5910e69bf94d2ee4dc2a9e6a Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 13:56:40 -0500 Subject: [PATCH 30/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 4d3841e1..c251479b 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -94,7 +94,7 @@ Maintainers for the respective DANDI repositories: | -- | -- | | [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | [@dandi/archive-maintainers](https://github.com/orgs/dandi/teams/archive-maintainers) | | [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | [@dandi/dandi-cli-maintainers](https://github.com/orgs/dandi/teams/dandi-cli-maintainers) | -| [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | @yarikoptic @candleindark @satra | +| [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | [@dandi/dandi-schema-maintainers](https://github.com/orgs/dandi/teams/dandi-schema-maintainers) | | [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/nebari](https://github.com/dandi/nebari) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | From d2f71ee3fb12b88b3637676567d1a6762d829f86 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 13:58:48 -0500 Subject: [PATCH 31/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index c251479b..513c6925 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -93,6 +93,7 @@ Maintainers for the respective DANDI repositories: | Repository | Maintainers | | -- | -- | | [dandi/dandi-archive](https://github.com/dandi/dandi-archive) | [@dandi/archive-maintainers](https://github.com/orgs/dandi/teams/archive-maintainers) | +| [dandi/dandi-infrastructure](https://github.com/dandi/dandi-infrastructure) | [@dandi/archive-admin](https://github.com/orgs/dandi/teams/archive-admin) | | [dandi/dandi-cli](https://github.com/dandi/dandi-cli) | [@dandi/dandi-cli-maintainers](https://github.com/orgs/dandi/teams/dandi-cli-maintainers) | | [dandi/dandi-schema](https://github.com/dandi/dandi-schema) | [@dandi/dandi-schema-maintainers](https://github.com/orgs/dandi/teams/dandi-schema-maintainers) | | [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | From dc77de8bde726bbafd974c779dc8da04c28dceff Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 14:03:27 -0500 Subject: [PATCH 32/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 513c6925..bb1be02a 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -100,9 +100,9 @@ Maintainers for the respective DANDI repositories: | [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/nebari](https://github.com/dandi/nebari) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/dandidav](https://github.com/dandi/dandidav) | @yarikoptic | -| [dandi/dandi-about](https://github.com/dandi/dandi-about) | @kabilar @bendichter @yarikoptic @satra | -| [dandi/dandi-docs](https://github.com/dandi/dandi-docs) | @kabilar @bendichter @yarikoptic @satra | -| [dandi/example-notebooks](https://github.com/dandi/example-notebooks) | @kabilar @bendichter @yarikoptic @satra | +| [dandi/dandi-about](https://github.com/dandi/dandi-about) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) | +| [dandi/dandi-docs](https://github.com/dandi/dandi-docs) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) | +| [dandi/example-notebooks](https://github.com/dandi/example-notebooks) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) | ### 5.4 Project Leadership - Current leadership team: From 59e509707f6ed2528a7d9c6bd64e0281699340a6 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Wed, 17 Sep 2025 14:09:03 -0500 Subject: [PATCH 33/33] Update docs/terms-policies/governance.md --- docs/terms-policies/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index bb1be02a..b6d418cf 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -99,7 +99,7 @@ Maintainers for the respective DANDI repositories: | [dandi/dandi-hub](https://github.com/dandi/dandi-hub) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/nebari-deployments](https://github.com/dandi/nebari-deployments) (Private) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | | [dandi/nebari](https://github.com/dandi/nebari) | [@dandi/dandi-hub-maintainers](https://github.com/orgs/dandi/teams/dandi-hub-maintainers) | -| [dandi/dandidav](https://github.com/dandi/dandidav) | @yarikoptic | +| [dandi/dandidav](https://github.com/dandi/dandidav) | [@dandi/dandi-dav-maintainers](https://github.com/orgs/dandi/teams/dandi-dav-maintainers) | | [dandi/dandi-about](https://github.com/dandi/dandi-about) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) | | [dandi/dandi-docs](https://github.com/dandi/dandi-docs) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) | | [dandi/example-notebooks](https://github.com/dandi/example-notebooks) | [@dandi/dandi-docs-maintainers](https://github.com/orgs/dandi/teams/dandi-docs-maintainers) |