From 6c1ad6c13f68f5d646b011eea1b7afc00e9ce0c1 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 11 Aug 2025 16:22:05 -0500 Subject: [PATCH 01/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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/56] 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) | From c0f170b477496fbe5ad276d99426773ed438e314 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:10:02 -0600 Subject: [PATCH 34/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- 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 b6d418cf..c0d065c8 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -64,6 +64,7 @@ Responsibilities: ### 5.2 Reviewers Contributors granted reviewer status for designated repositories. + Responsibilities: - Perform timely, constructive reviews - Enforce style, testing, and security practices From f84bf5d99d409865935c539ad9d384232683f72d Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:10:23 -0600 Subject: [PATCH 35/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- 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 c0d065c8..347d6e4d 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -69,6 +69,7 @@ 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 From 7aedf3ec623010914fbddd5cbd0bc05152c424fc Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:10:39 -0600 Subject: [PATCH 36/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- 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 347d6e4d..20211b42 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -76,6 +76,7 @@ Path to role: ### 5.3 Maintainers Individuals with merge rights for designated repositories. + Responsibilities: - Final merge approval - Release planning and tagging From e05ebd0f64d5a35270a16994acd6ad243721e1ca Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:11:21 -0600 Subject: [PATCH 37/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- 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 20211b42..159d5974 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -85,6 +85,7 @@ Responsibilities: - Escalate policy or security concerns - Facilitate cross‑repository alignment - Onboard and mentor reviewers + Expectations: - Active presence - Adhere to conflict of interest and bias avoidance From ee86f6fc47ae76459f92f1ea4cd7aab216312af1 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:13:02 -0600 Subject: [PATCH 38/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- 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 159d5974..d81347ec 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -89,6 +89,7 @@ Responsibilities: 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 From 5b404578bdf665ef0b4ada27adca4e7619c8bcbb Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:16:24 -0600 Subject: [PATCH 39/56] Update docs/terms-policies/governance.md Co-authored-by: Yaroslav Halchenko --- docs/terms-policies/governance.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index d81347ec..c4295d57 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -27,11 +27,11 @@ Data git/git-annex repositories: 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. +- 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; +- optimized data storage and access through partnerships, compression and accessibility technologies; +- facilities to encourage reproducible practices and publications through data standards such as NWB and BIDS; +- a platform that is not just an endpoint to dump data, but intended to be a living repository that enables collaboration within and across labs. ## 3. Core Principles From 09adf62a30345eb3596b750458a2b055150864b8 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:19:54 -0600 Subject: [PATCH 40/56] 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 c4295d57..a4096a42 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -59,7 +59,7 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( Anyone submitting issues, pull requests, documentation, or feedback. Responsibilities: - Follow Code of Conduct and contribution guidelines -- Provide context and reproducible steps +- Strive to provide sufficient context and steps to reproduce - Where applicable, write tests and documentation for code changes ### 5.2 Reviewers From 8f656ea99fd889c8684820d3809b81aae77d585d Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 09:33:33 -0600 Subject: [PATCH 41/56] 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 a4096a42..bbc0becf 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -36,7 +36,7 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( ## 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 +2. FAIR & Reproducibility: Data and code follow standards and their evolution remain open, 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 From 9b706175e3c8def90c146e0e762d8f5926eefd74 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 10:55:21 -0600 Subject: [PATCH 42/56] Fix formatting --- docs/terms-policies/governance.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index a4096a42..91b3113a 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -56,7 +56,8 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( ## 5. Roles & Responsibilities ### 5.1 Contributors -Anyone submitting issues, pull requests, documentation, or feedback. +Anyone submitting issues, pull requests, documentation, or feedback. + Responsibilities: - Follow Code of Conduct and contribution guidelines - Strive to provide sufficient context and steps to reproduce @@ -113,6 +114,7 @@ Maintainers for the respective DANDI repositories: - Current leadership team: - [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 062d8c0677284549e876083ecf24d3ef7db943a7 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 12:13:20 -0600 Subject: [PATCH 43/56] Add a description about different archive instances --- docs/terms-policies/governance.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 91b3113a..c80e4e40 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -6,7 +6,7 @@ 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: +This document defines the governance structure, roles, responsibilities, and decision‑making processes for the DANDI ecosystem. It applies uniformly to all current and future repositories and services, including: Sites: @@ -45,6 +45,8 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( ## 4. Project Structure +The DANDI Project codebase includes the components listed in the table below. Multiple deployments of this codebase operate as separate instances, each serving distinct research communities and datasets. The DANDI Archive instance is available at https://dandiarchive.org/, and the EMBER-DANDI Archive instance is available at https://dandi.emberarchive.org/. + | Domain | Primary Repos | |--------|------------------------------| | Archive | [dandi-archive](https://github.com/dandi/dandi-archive), [dandi-infrastructure](https://github.com/dandi/dandi-infrastructure) | From 7ee5839a48db3d4aa7315359d17835ad59d21899 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 12:56:43 -0600 Subject: [PATCH 44/56] Update based on feedback --- 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 72e41e84..4e926074 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -81,7 +81,7 @@ Path to role: Individuals with merge rights for designated repositories. Responsibilities: -- Final merge approval +- Merge approval - Release planning and tagging - Triage (labels, prioritization, assignment) - Manage vulnerability reports From 08969dfa3818f12fe1a04ec9f4287bff8c6194ad Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 14:23:43 -0600 Subject: [PATCH 45/56] Update merge policy based on feedback --- 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 4e926074..30bf6377 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -159,6 +159,7 @@ Maintainers for the respective DANDI repositories: ### 7.2 Merge Policy - All pull requests require: - All comments must be resolved or addressed + - If a comment cannot be resolved, the Project Leadership would be enlisted to decide on the path forward - 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 From 14200c4dc14a900887a4dca0d964f27ed4a72ada Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 14:31:51 -0600 Subject: [PATCH 46/56] Add link to code of conduct --- 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 30bf6377..d817fb0e 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -61,7 +61,7 @@ The DANDI Project codebase includes the components listed in the table below. Mu Anyone submitting issues, pull requests, documentation, or feedback. Responsibilities: -- Follow Code of Conduct and contribution guidelines +- Follow [Code of Conduct](https://github.com/dandi/dandi-archive/blob/master/CODE_OF_CONDUCT.md) and contribution guidelines - Strive to provide sufficient context and steps to reproduce - Where applicable, write tests and documentation for code changes From 9b209c575d33fbd5d04367ef4c1f0d427366404c Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 14:43:15 -0600 Subject: [PATCH 47/56] Update section on reverts based on feedback --- 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 d817fb0e..7bd64bfe 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -170,6 +170,7 @@ Maintainers for the respective DANDI repositories: ### 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. +- All changes (including reverts) must be submitted through a pull request, and a new release must be made if the prior change was already released. - Follow-up issue required to track remediation ## 8. Releases From d503d828276291ab484989ede73a8c0c01b71a1f Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 14:50:03 -0600 Subject: [PATCH 48/56] Add trailing period based on feedback --- docs/terms-policies/governance.md | 152 +++++++++++++++--------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index 7bd64bfe..f55ec9ab 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -61,41 +61,41 @@ The DANDI Project codebase includes the components listed in the table below. Mu Anyone submitting issues, pull requests, documentation, or feedback. Responsibilities: -- Follow [Code of Conduct](https://github.com/dandi/dandi-archive/blob/master/CODE_OF_CONDUCT.md) and contribution guidelines -- Strive to provide sufficient context and steps to reproduce -- Where applicable, write tests and documentation for code changes +- Follow [Code of Conduct](https://github.com/dandi/dandi-archive/blob/master/CODE_OF_CONDUCT.md) and contribution guidelines. +- Strive to provide sufficient context and steps to reproduce. +- 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 +- 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 +- Consistent high‑quality reviews. +- Sponsored by at least one Maintainer. ### 5.3 Maintainers Individuals with merge rights for designated repositories. Responsibilities: -- 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 +- 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. Expectations: -- Active presence -- Adhere to conflict of interest and bias avoidance +- 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 +- Demonstrated sustained contributions and review quality. +- Nomination and consensus of existing repository Maintainers. Maintainers for the respective DANDI repositories: | Repository | Maintainers | @@ -118,11 +118,11 @@ Maintainers for the respective DANDI repositories: - [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 - - Resolve escalated disputes - - Approve major architectural shifts - - Oversee risk, sustainability, funding alignment + - Approve or amend governance document and Code of Conduct. + - Strategic project oversight. + - Resolve escalated disputes. + - Approve major architectural shifts. + - Oversee risk, sustainability, funding alignment. ## 6. Decision-Making Model @@ -146,96 +146,96 @@ Maintainers for the respective DANDI repositories: ## 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) +- 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 - - If a comment cannot be resolved, the Project Leadership would be enlisted to decide on the path forward - - 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 + - All comments must be resolved or addressed. + - If a comment cannot be resolved, the Project Leadership would be enlisted to decide on the path forward. + - 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 +- 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. - All changes (including reverts) must be submitted through a pull request, and a new release must be made if the prior change was already released. -- Follow-up issue required to track remediation +- Follow-up issue required to track remediation. ## 8. Releases ### 8.1 Versioning -- [Semantic Versioning 2.0](https://semver.org/spec/v2.0.0.html) 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. - 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 + - 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 ### 9.1 Reporting -- Security reports via help@dandiarchive.org -- Acknowledge within 48 hours +- 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 +- 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 +- Mandatory dependency scanning. +- Principle of least privilege enforced for service accounts. ## 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 +- 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. ## 11. Communication 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 -- GitHub Releases for release announcements -- Email newsletter to highlight major changes +- 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. +- 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 +- 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 -4. Update version and effective data in Governance document header +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/). @@ -243,11 +243,11 @@ Process ## 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 +- Create a plan with guidance from the Project Leadership. +- Update documentation to reflect deprecation including migration guidance. +- Mark repository with `ARCHIVED` notice. ## 15. Licenses -- 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 +- 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 cad86da3478240bf1a3d150465761b70efe33887 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 14:50:56 -0600 Subject: [PATCH 49/56] Add trailing period --- docs/terms-policies/governance.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index f55ec9ab..e6be9f7d 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -35,13 +35,13 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( ## 3. Core Principles -1. Openness & Transparency: Designs, discussions, and decisions are public by default -2. FAIR & Reproducibility: Data and code follow standards and their evolution remain open, 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 +1. Openness & Transparency: Designs, discussions, and decisions are public by default. +2. FAIR & Reproducibility: Data and code follow standards and their evolution remain open, 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 1196627917b1f4c62d697139029e3222b3a9f05d Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 15:56:37 -0600 Subject: [PATCH 50/56] Add a distinction between the DANDI Project codebase and DANDI Archive instance --- docs/terms-policies/governance.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/terms-policies/governance.md b/docs/terms-policies/governance.md index e6be9f7d..b23c8047 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -1,4 +1,4 @@ -# DANDI Archive Project Governance +# DANDI Project Governance Version: 1.0 Effective Date: YYYY-MM-DD @@ -6,7 +6,7 @@ Status: Draft ## 1. Purpose -This document defines the governance structure, roles, responsibilities, and decision‑making processes for the DANDI ecosystem. It applies uniformly to all current and future repositories and services, including: +This document defines the governance structure, roles, responsibilities, and decision‑making processes for the DANDI Project. It applies uniformly to all current and future repositories and services, including: Sites: @@ -45,7 +45,7 @@ DANDI (Distributed Archives for Neurophysiology Data Integration) enables FAIR ( ## 4. Project Structure -The DANDI Project codebase includes the components listed in the table below. Multiple deployments of this codebase operate as separate instances, each serving distinct research communities and datasets. The DANDI Archive instance is available at https://dandiarchive.org/, and the EMBER-DANDI Archive instance is available at https://dandi.emberarchive.org/. +The DANDI Project codebase includes the components listed in the table below: | Domain | Primary Repos | |--------|------------------------------| @@ -55,6 +55,10 @@ The DANDI Project codebase includes the components listed in the table below. Mu | 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) | +Multiple deployments of this codebase operate as separate instances, each serving distinct research communities and datasets. The DANDI Archive instance is available at https://dandiarchive.org/, and the EMBER-DANDI Archive instance is available at https://dandi.emberarchive.org/. This document governs over the DANDI Project codebase unless otherwise specified. + +Contributing code to DANDI repositories does not grant rights or access to the separate instances. Similarly, using the DANDI Archive or EMBER-DANDI Archive service does not require contributing to the codebase. + ## 5. Roles & Responsibilities ### 5.1 Contributors @@ -124,6 +128,16 @@ Maintainers for the respective DANDI repositories: - Approve major architectural shifts. - Oversee risk, sustainability, funding alignment. +### 5.5 DANDI Archive Administrators + +Responsibilities: +- Monitor service health and performance. +- Manage user accounts and permissions. +- Respond to data access requests and issues. + +Administrators: +- @satra, @yarikoptic, @waxlamp, @mvandenburgh, @jjnesbitt, @danlamanna, @brianhelba, @kabilar, @asmacdo, @bendichter, @candleindark, @CodyCBakerPhD. + ## 6. Decision-Making Model ### 6.1 Roadmap From c9f1b391ae9df1f12c18ebfdba72851c75485b80 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 3 Nov 2025 16:06:19 -0600 Subject: [PATCH 51/56] Update merge policy based on feedback --- 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 b23c8047..500b8066 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -175,7 +175,7 @@ Administrators: - All comments must be resolved or addressed. - If a comment cannot be resolved, the Project Leadership would be enlisted to decide on the path forward. - Approval by at least 1 listed Maintainer for that repository. - - 24 hour waiting period (unless addressing a critical issue). + - 24 hour waiting period (unless addressing a critical issue or trivial issue [e.g. typos]). - See section below regarding updates to the Governance document. ### 7.3 Draft vs Ready for Review From 01bb71cefb76a3b0327f1e8a069b7e122200239a Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Mon, 1 Dec 2025 15:42:03 -0500 Subject: [PATCH 52/56] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 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 500b8066..32286f19 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -52,7 +52,7 @@ The DANDI Project codebase includes the components listed in the table below: | 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) | +| JupyterHub | [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) | Multiple deployments of this codebase operate as separate instances, each serving distinct research communities and datasets. The DANDI Archive instance is available at https://dandiarchive.org/, and the EMBER-DANDI Archive instance is available at https://dandi.emberarchive.org/. This document governs over the DANDI Project codebase unless otherwise specified. @@ -149,7 +149,7 @@ Administrators: 1. Open a GitHub issue describing the bug/feature request, context, and possible solutions. 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. +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. @@ -175,7 +175,7 @@ Administrators: - All comments must be resolved or addressed. - If a comment cannot be resolved, the Project Leadership would be enlisted to decide on the path forward. - Approval by at least 1 listed Maintainer for that repository. - - 24 hour waiting period (unless addressing a critical issue or trivial issue [e.g. typos]). + - 24-hour waiting period (unless addressing a critical issue or trivial issue [e.g. typos]). - See section below regarding updates to the Governance document. ### 7.3 Draft vs Ready for Review From 5ae0931ff4e6e52bb31210b886d705ff14651adf Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 1 Dec 2025 16:25:11 -0600 Subject: [PATCH 53/56] Update docs/terms-policies/governance.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 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 32286f19..e28a443d 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -239,7 +239,7 @@ 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. + - 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 2bbb432083521b0e62e3dd3cc36b43f6e1c98f47 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 1 Dec 2025 16:25:33 -0600 Subject: [PATCH 54/56] Update docs/terms-policies/governance.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 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 e28a443d..5830820c 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -155,7 +155,7 @@ Administrators: ### 6.3 Conflict of Interest - Participants should disclose direct commercial interest in a technology choice. -- Conflicted member recuses oneself from final decision phase. +- Conflicted member recuses themselves from final decision phase. ## 7. Pull Request Workflow From 7244d4ebffcfd491009d0ad571702c1cb2cc8ad9 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 1 Dec 2025 16:26:39 -0600 Subject: [PATCH 55/56] Update docs/terms-policies/governance.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 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 5830820c..2b1733e0 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -249,7 +249,7 @@ 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. +4. Update version and effective date 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 a56639f82380d3489c11d92a22eb274f2e34655d Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Mon, 1 Dec 2025 16:26:56 -0600 Subject: [PATCH 56/56] Update docs/terms-policies/governance.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 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 2b1733e0..869bee81 100644 --- a/docs/terms-policies/governance.md +++ b/docs/terms-policies/governance.md @@ -247,11 +247,11 @@ Communication channels include: Process 1. Proposal pull request. -2. Minimum of a 30 day public comment. +2. Minimum of a 30-day public comment. 3. Approval by Project Leadership. -4. Update version and effective date in Governance document header. +4. Update version and effective data in Governance document header. -- Urgent amendments may use an accelerated 7 day window with rationale documented. +- 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