From afca26172a3e0f1173e3b9b7ee278165c97756d0 Mon Sep 17 00:00:00 2001 From: najuna-brian Date: Sat, 17 Oct 2026 01:30:44 +0300 Subject: [PATCH 1/2] docs: add GOVERNANCE.md --- GOVERNANCE.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 GOVERNANCE.md diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000..c514d07 --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,70 @@ +# ODE Governance + +This document describes how the Open Data Ensemble (ODE) project is governed. It is based on the **ODE Governance Framework v1.0**, which the Governance Council voted into effect on 19 September 2026. + +The public summary and the council application page are on the website: + +- [Governance](https://opendataensemble.org/docs/community/governance) +- [Join a council](https://opendataensemble.org/docs/community/governance/join-a-council) + +## Principles + +ODE is an open-source, vendor-neutral project. Responsibility is earned through merit: **eligibility through merit, selection through voting.** + +In short: + +- the **Product Council** decides *what* and *why*, +- the **Technical Council** decides *how*, +- the **Community Council** looks after *people and participation*, +- the **So.Me. Council** looks after *visibility and communication*, +- the **Governance Council** looks after the rules, the structure and the long-term health of the project. + +## Roles + +| Role | Description | +|---|---| +| **Community member** | Users, implementers and everybody interested in ODE. | +| **Maintainer** | Community members who look after the code: create, review and merge pull requests, review issues, cut releases, mentor contributors and make everyday component decisions. | +| **Council member** | A voting member of a council, elected by the Governance Council. Expected to take part in council meetings and engage actively in ODE. | +| **Council lead** | A council member who facilitates the council's meetings, breaks ties and delegates tasks within the council. | +| **General Secretary** | An elected role held by a member of the Governance Council. Holds trademarks, funding relationships and infrastructure on behalf of the project. | + +## Councils + +Each council has **5 seats**. + +| Council | Responsibilities | +|---|---| +| **Governance** | Governance rules and charter · council structure and elections · major strategic questions · major disputes and appeals · succession · project independence · sustainability · partnerships | +| **Product** | Product vision · product roadmap · requirements · prioritisation · user needs and feedback · implementer and partner needs · UX/UI direction · product discovery | +| **Technical** | Architecture · technical standards · technical roadmap · APIs and compatibility · security · QA and testing strategy · release policy · infrastructure and CI/CD | +| **Community** | Contributor onboarding · mentoring · community events · working groups · contributor recognition · community health · developer relations · documentation and education | +| **So.Me.** | Social media · public announcements · project storytelling · campaigns and content · website and news content · brand and public voice · release and event promotion · community outreach | + +## Seats + +Each council has 5 seats. The current council composition was appointed by consensus among the ODE core members and confirmed at Governance Council meeting #1 (19 September 2026), for a 2-year term starting 17 September 2026. Seats are currently available on the Product, Technical, Community and So.Me. councils. Membership changes follow a Governance Council vote. + +## Becoming a council member + +1. **Eligibility.** Anyone becomes eligible for a council after showing sustained contribution to ODE. Contribution is not only code: documentation, testing, design, community work, events, outreach and content all count. People judge their own eligibility and are free to apply. +2. **Applying.** Applications are made through the [council application form](https://opendataensemble.org/councils/apply.html), which saves the answers as a text file to send to hello@opendataensemble.org. +3. **Governance Council seats.** Only existing council members can apply to join the Governance Council. +4. **Review.** Members of the council applied to review each application and may invite the applicant to a short conversation. +5. **Election.** The Governance Council votes on new members. +6. **Term.** By default, members are elected for a 2-year term. + +Every applicant receives a reply. Applicants who are not selected receive a suggested next contribution and are welcome to apply in a later round. + +## Transparency + +Governance Council meeting minutes are published read-only, as agreed at Governance Council meeting #1. Council membership decisions are recorded in the Governance Council minutes and announced on the [ODE forum](https://forum.opendataensemble.org/). + +## Changing this document + +Changes to the governance rules are proposed by pull request to this repository and take effect after a Governance Council vote. Wording fixes that do not change the meaning can be merged by any Governance Council member. + +## Contact + +- Forum: [forum.opendataensemble.org](https://forum.opendataensemble.org/) +- Email: [hello@opendataensemble.org](mailto:hello@opendataensemble.org) From 389b868052736392067d8720d53b91d8bbf7e8ff Mon Sep 17 00:00:00 2001 From: najuna-brian Date: Sat, 17 Oct 2026 01:40:10 +0300 Subject: [PATCH 2/2] ci: add labeler config for auto-label workflow --- .github/labeler.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..813404d --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,10 @@ +# Auto-labeling configuration for pull requests (actions/labeler@v5) +# Labels are applied based on the files changed in the PR. + +documentation: + - changed-files: + - any-glob-to-any-file: ['**/*.md', 'profile/**'] + +ci: + - changed-files: + - any-glob-to-any-file: ['.github/workflows/**', '.github/*.yml']