From 93b38118a24671059208a77ffa0805e8cd54a586 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 11:45:27 +0100 Subject: [PATCH 1/8] Add governance page and links from homepage --- config.yaml | 4 ++ content/governance.md | 127 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 content/governance.md diff --git a/config.yaml b/config.yaml index 600c458..21914a3 100644 --- a/config.yaml +++ b/config.yaml @@ -146,6 +146,8 @@ languages: links: - text: OpenMS Inc. link: /about + - text: Governance + link: /governance - text: Help link: /help - text: Jobs @@ -181,6 +183,8 @@ languages: sublinks: - title: OpenMS Inc. url: /about + - title: Governance + url: /governance - title: Contributors url: /contributors url: /about diff --git a/content/governance.md b/content/governance.md new file mode 100644 index 0000000..a4e7b83 --- /dev/null +++ b/content/governance.md @@ -0,0 +1,127 @@ + +# Governance Structure of OpenMS + +## Legal Entity: OpenMS Inc. + +OpenMS Inc. is a U.S. nonprofit corporation organized under section 501(c)(3) of the Internal Revenue Code. Its mission is to develop open-source scientific software and collaborate with academic institutions to improve experimental data analysis. + +Key characteristics: + +- nonprofit public-benefit corporation +- operates for scientific, educational, and charitable purposes +- may provide internships or volunteer opportunities to support those goals +- cannot distribute profits to individuals except as reasonable compensation for services + +The corporation has no members, meaning governance authority rests entirely with the Board of Directors. + +### Board of Directors + +The Board of Directors is the governing body of the nonprofit corporation. + +Initial directors: + +- Samuel Wein +- Timo Sachsenberg +- Oliver Kohlbacher + +Responsibilities include: + +- fiduciary oversight of the corporation +- legal compliance +- financial oversight +- approving amendments to the Articles of Incorporation (2/3 vote) +- selecting asset recipients if the organization dissolves + +This body governs the corporate entity, not the day-to-day development of the software project. + +## Executive (Steering) Committee + +The Executive Committee governs the OpenMS project itself, separate from the legal corporate board. + +Composition: + +- core developers of the project +- led by an Executive Chairperson + +Responsibilities include: + +- defining project mission, direction, and vision +- long-term continuity planning +- directing development resources +- maintaining project bylaws +- managing the list of core developers +- forming committees +- handling code-of-conduct issues + +This committee is effectively the technical and community governance body of the OpenMS project. +### Core Developers + +- Core developers are defined as active and key participants in the project. They collectively form the Executive Committee. + +### Executive Chairperson + +The chairperson: + +- must be a member of the executive committee +- serves 1-year term +- is elected by the committee +- breaks tie votes + +Responsibilities: + +- convene and chair meetings +- notify members of meetings +- coordinate committee activities + +Removal requires a 2/3 vote of the executive committee. +Rules: + +**Adding a core developer:** + +- simple majority vote of a quorum + +**Removing a core developer:** + +- 2/3 vote of quorum or voluntary departure + +## Executive Committee Operations + +**Meeting requirements:** + +- at least one meeting per month +- 48 hours notice +- quorum: five members + +**Decision process:** + +- majority vote unless otherwise specified +- Robert's Rules of Order may be invoked if requested + +**Transparency requirement:** + +- meeting minutes should be recorded +- minutes are public unless the committee votes otherwise + +## 7. Relationship Between OpenMS Inc. and the OpenMS Executive Committee + +### Corporate Governance + +Handled by: **Board of Directors** + +Responsible for: + +- legal entity +- finances +- compliance +- nonprofit obligations + +### Project Governance + +Handled by: **Executive (Steering) Committee** + +Responsible for: + +- software development +- project roadmap +- community management +- technical leadership From d2ac82723aaf45f3b820bf5e636c1de759194c34 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 11:52:49 +0100 Subject: [PATCH 2/8] move governance.md to the correct dir --- content/{ => en}/governance.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/{ => en}/governance.md (100%) diff --git a/content/governance.md b/content/en/governance.md similarity index 100% rename from content/governance.md rename to content/en/governance.md From dec9a0202e2ec6c710990fcc6f7fd0addabc943f Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 11:54:03 +0100 Subject: [PATCH 3/8] remove vestigial number --- content/en/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/governance.md b/content/en/governance.md index a4e7b83..609d1f7 100644 --- a/content/en/governance.md +++ b/content/en/governance.md @@ -102,7 +102,7 @@ Rules: - meeting minutes should be recorded - minutes are public unless the committee votes otherwise -## 7. Relationship Between OpenMS Inc. and the OpenMS Executive Committee +## Relationship Between OpenMS Inc. and the OpenMS Executive Committee ### Corporate Governance From 6fd8851e3cfa35049044fcf4c744a81e31921f65 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 12:01:33 +0100 Subject: [PATCH 4/8] add page on executive committee and create links --- config.yaml | 4 ++ content/en/contributors.md | 2 +- content/en/exec_committee.md | 100 +++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 content/en/exec_committee.md diff --git a/config.yaml b/config.yaml index a8cb56e..05f1448 100644 --- a/config.yaml +++ b/config.yaml @@ -150,6 +150,8 @@ languages: links: - text: Community link: /communication + - text: Executive committee + link: /exec_committee - text: Contribute link: /contribute - text: Code of conduct @@ -195,6 +197,8 @@ languages: sublinks: - title: OpenMS Inc. url: /about + - title: Executive Committee + url: /exec_committee - title: Governance url: /governance - title: Contributors diff --git a/content/en/contributors.md b/content/en/contributors.md index 8a35016..d099c8b 100644 --- a/content/en/contributors.md +++ b/content/en/contributors.md @@ -11,4 +11,4 @@ communities worldwide by building quality, open-source software. # Governance -For information about the Executive Committee, please see [here]({{< relref "/about" >}}). +For information about the Executive Committee, please see [here]({{< relref "/exec_committee" >}}). diff --git a/content/en/exec_committee.md b/content/en/exec_committee.md new file mode 100644 index 0000000..ee10818 --- /dev/null +++ b/content/en/exec_committee.md @@ -0,0 +1,100 @@ +# OpenMS Executive Committee + +The **Executive Committee** is the primary governance body of the OpenMS project. It is responsible for guiding the technical direction, long-term sustainability, and community governance of OpenMS. + +The committee is composed of the **core developers of the project** and is led by an **Executive Chairperson** elected from among its members. + +--- + +## Purpose + +The Executive Committee provides leadership for the OpenMS project by: + +- Defining the mission, direction, and long-term vision of OpenMS +- Ensuring the continued sustainability of the project +- Coordinating development priorities and resources +- Maintaining governance policies for the project +- Supporting a healthy and welcoming open-source community + +--- + +## Responsibilities + +The Executive Committee is responsible for: + +- Determining the **mission, direction, and vision** of the OpenMS project +- Planning for the **long-term continuity** of the project +- Directing **development resources** in line with the project vision +- Maintaining and updating the **project bylaws** +- Enhancing the **public image and reputation** of OpenMS +- Forming additional committees as needed +- Electing the **Executive Chairperson** +- Managing the **list of core developers** +- Addressing **Code of Conduct issues** + +--- + +## Composition + +The Executive Committee consists of the **core developers** of OpenMS. + +Core developers are individuals who are active and key participants in the project and who help maintain the software, guide development, and support the community. + +### Adding Core Developers + +New core developers may be added by a **simple majority vote of a quorum of the Executive Committee**. + +### Removal of Core Developers + +Core developers may be removed due to inactivity or violation of the Code of Conduct by a **two-thirds majority vote of a quorum of the Executive Committee**, or by request of the member themself. + +--- + +## Executive Chairperson + +The Executive Committee elects an **Executive Chairperson** from among its members for a **one-year term**. + +The responsibilities of the Executive Chairperson include: + +- Convening and chairing meetings of the Executive Committee +- Providing notice of meetings to committee members +- Breaking tie votes when necessary + +The Executive Chairperson may be removed by a **two-thirds vote of the Executive Committee**. + +--- + +## Meetings + +The Executive Committee meets regularly to coordinate the governance and development of the project. + +Meeting rules: + +- The committee meets **at least once per calendar month** +- Meetings are scheduled by the **Executive Chairperson**, or by any committee member if the position is vacant +- Members must receive **at least 48 hours notice** of meetings +- A **quorum of five members** is required for votes +- Proceedings follow **Robert’s Rules of Order Newly Revised** if requested by any committee member + +--- + +## Amendments to the Bylaws + +Any member of the Executive Committee may propose amendments to the project bylaws. + +The amendment process: + +1. A proposed amendment is circulated to all committee members. +2. The amendment is discussed and voted on at the next regular meeting. +3. Adoption requires a **two-thirds majority of the quorum**. + +--- + +## Transparency + +In keeping with the principles of open science and open-source collaboration: + +- Minutes are recorded for meetings of governance committees +- Meeting minutes are made publicly available unless the committee votes otherwise + +This commitment ensures transparency and accountability in the governance of the OpenMS project. \ No newline at end of file From f463bd6d2d43aee053e42551bac26efc898afda1 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 12:08:39 +0100 Subject: [PATCH 5/8] consolidate about and exec_committee under Governance in header --- config.yaml | 4 ---- content/en/governance.md | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/config.yaml b/config.yaml index 05f1448..90e1714 100644 --- a/config.yaml +++ b/config.yaml @@ -195,10 +195,6 @@ languages: url: /community - title: About Us sublinks: - - title: OpenMS Inc. - url: /about - - title: Executive Committee - url: /exec_committee - title: Governance url: /governance - title: Contributors diff --git a/content/en/governance.md b/content/en/governance.md index 609d1f7..641681c 100644 --- a/content/en/governance.md +++ b/content/en/governance.md @@ -1,6 +1,11 @@ # Governance Structure of OpenMS +This page describes the governance structure of the OpenMS project and its legal entity. For more information, see: + +- [OpenMS Inc.](/about) - The nonprofit corporation supporting the project +- [Executive Committee](/exec_committee) - The technical governance body + ## Legal Entity: OpenMS Inc. OpenMS Inc. is a U.S. nonprofit corporation organized under section 501(c)(3) of the Internal Revenue Code. Its mission is to develop open-source scientific software and collaborate with academic institutions to improve experimental data analysis. From a590e969f6b994637352763ecdf74b45c045f272 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 12:30:21 +0100 Subject: [PATCH 6/8] add page on core developers --- config.yaml | 14 +++-- content/en/core_developers.md | 110 ++++++++++++++++++++++++++++++++++ content/en/governance.md | 1 + 3 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 content/en/core_developers.md diff --git a/config.yaml b/config.yaml index 90e1714..08df42f 100644 --- a/config.yaml +++ b/config.yaml @@ -150,24 +150,26 @@ languages: links: - text: Community link: /communication - - text: Executive committee - link: /exec_committee - - text: Contribute - link: /contribute - text: Code of conduct link: /code-of-conduct + - text: Contribute + link: /contribute + - text: Core Developers + link: /core-developers column3: links: - text: OpenMS Inc. link: /about + - text: Executive committee + link: /exec_committee - text: Governance link: /governance - - text: Help - link: /help - text: Jobs link: /jobs column4: links: + - text: Help + link: /help - text: Terms of use link: /terms - text: Privacy diff --git a/content/en/core_developers.md b/content/en/core_developers.md new file mode 100644 index 0000000..d895375 --- /dev/null +++ b/content/en/core_developers.md @@ -0,0 +1,110 @@ +# Core Developers + +Core developers are trusted contributors who play a central role in maintaining and guiding the OpenMS project. They are active participants in the development of the software and the governance of the project. + +Core developers collectively form the **Executive Committee**, which is responsible for the long-term direction and governance of OpenMS. + +--- + +## Role of Core Developers + +Core developers serve as maintainers and technical leaders within the project. Their role is to help ensure the quality, sustainability, and collaborative spirit of OpenMS. + +Core developers typically: + +- Review and approve contributions to the codebase +- Maintain parts of the software and its infrastructure +- Guide contributors and help new developers get involved +- Participate in discussions about project direction +- Vote on governance matters when required + +--- + +## Responsibilities + +Core developers are expected to contribute to the health of the project in several ways. + +### Code Review + +Core developers review pull requests and help maintain code quality across the project. + +Reviews should aim to: + +- ensure correctness and maintainability +- maintain consistency with project architecture +- provide constructive feedback to contributors + +### Collaboration + +Core developers help foster a welcoming and collaborative community by: + +- providing helpful feedback +- assisting new contributors +- encouraging high-quality contributions + +### Governance Participation + +Core developers participate in project governance through the Executive Committee. This includes: + +- discussing project direction +- participating in votes when necessary +- helping guide long-term development priorities + +--- + +## Merge Practices + +Core developers typically have permission to merge pull requests into the project repositories. + +To maintain code quality and transparency, the project follows these norms: + +- Pull requests should generally receive review from at least one other core developer before merging. +- Core developers should avoid merging their own pull requests without review whenever possible. + +These practices help ensure that important changes receive adequate oversight. + +--- + +## Becoming a Core Developer + +Core developers are individuals who have demonstrated sustained, high-quality contributions to the project and a strong commitment to the OpenMS community. + +Typical characteristics include: + +- significant technical contributions +- familiarity with the architecture of the project +- constructive collaboration with other contributors +- consistent participation in development discussions + +New core developers are added by a **majority vote of a quorum of the Executive Committee**, as defined in the project bylaws. + +--- + +## Activity Expectations + +Core developers are expected to remain active participants in the project. + +Activity may include: + +- contributing code +- reviewing pull requests +- participating in governance discussions +- helping guide the development of the project + +Members who become inactive for extended periods may be removed by a vote of the Executive Committee as described in the bylaws. + +--- + +## Transparency + +The OpenMS project values transparency in its governance. + +Core developers participate in Executive Committee meetings where project governance and major decisions are discussed. Minutes from these meetings are recorded and made publicly available unless the committee decides otherwise. + +--- + +## Current Core Developers + +Coming soon + +This list is maintained by the Executive Committee and updated as membership changes. \ No newline at end of file diff --git a/content/en/governance.md b/content/en/governance.md index 641681c..8c267c3 100644 --- a/content/en/governance.md +++ b/content/en/governance.md @@ -5,6 +5,7 @@ This page describes the governance structure of the OpenMS project and its legal - [OpenMS Inc.](/about) - The nonprofit corporation supporting the project - [Executive Committee](/exec_committee) - The technical governance body +- [Core Developers](/core_developers) - Maintainers of the project ## Legal Entity: OpenMS Inc. From cbc5f673cf4e5d44bace202d633cad80acdc0a9e Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 16:46:21 +0100 Subject: [PATCH 7/8] Add onboarding document --- content/en/onboarding.md | 230 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 content/en/onboarding.md diff --git a/content/en/onboarding.md b/content/en/onboarding.md new file mode 100644 index 0000000..fe30a47 --- /dev/null +++ b/content/en/onboarding.md @@ -0,0 +1,230 @@ +# OpenMS Contributor Onboarding + +Welcome! This section provides an overview of how the OpenMS project is organized and how new contributors can get involved. + +OpenMS is an open-source project focused on developing software for mass spectrometry data analysis and management. The project brings together researchers, developers, and users from across academia and industry. + +This onboarding guide helps new contributors understand: + +- how the project is organized +- where discussions happen +- how development works +- how to begin contributing + +--- + +# Start Here + +If you are new to the project, the following steps are a good way to get started. + +1. Learn about the **project structure and governance** +2. Join the **communication channels** +3. Explore the **development workflow** +4. Find a **good first contribution** + +You do not need to understand the entire codebase before contributing—many contributors begin with documentation improvements, bug reports, or small fixes. + +--- + +# Project Structure + +OpenMS is organized as both an **open-source software project** and a **nonprofit organization** that supports its development. + +The governance of the project is described in the following documents: + +- [Governance](./governance.md) +- [Executive Committee](./exec_committee.md) +- [Core Developers](./core_developers.md) + +In general: + +- **Core developers** maintain the project and participate in governance. +- The **Executive Committee** guides the direction of the project. +- **Contributors** submit improvements, fixes, and new features. + +Anyone is welcome (and encouraged!) to contribute to OpenMS. + +--- + +# Communication + +Most project discussions take place through the OpenMS GitHub organization and the OpenMS Discord server. + +These platforms serve different purposes within the community. + +### GitHub Issues + +Used for more **formal discussions** related to the project, including: + +- bug reports +- feature requests +- development discussions +- tracking work on specific issues + +If you encounter a problem with OpenMS or want to propose an improvement, opening a GitHub issue is usually the best place to start. + +### GitHub Pull Requests + +Used for: + +- proposing code changes +- reviewing contributions +- discussing implementation details + +Pull requests are the primary mechanism for contributing changes to the project. + +### Discord + +For **informal discussions and quick questions**, the OpenMS community also maintains a Discord server: + +https://discord.gg/v9tv5BxPch + +Discord is useful for: + +- asking quick questions +- discussing ideas before opening an issue +- connecting with other contributors +- general community interaction + +While Discord is helpful for informal communication, important technical discussions and decisions should generally be recorded on GitHub so they remain searchable and accessible to the wider community. + +### Project Meetings + +Governance discussions also take place during meetings of the Executive Committee. Minutes from these meetings are recorded and made publicly available. + +--- + +# Development Workflow + +OpenMS development follows a collaborative workflow typical of many open-source projects. + +For detailed developer guidelines, see the +[OpenMS Developer Guide](https://openms.readthedocs.io/en/latest/manual/develop.html). + +### Reporting Issues + +If you encounter a bug or have an idea for an improvement, open a GitHub issue describing: + +- what problem you encountered +- steps to reproduce it (if applicable) +- possible ideas for improvement + +### Submitting Changes + +Contributions are typically submitted through pull requests. + +The typical process is: + +1. Fork the repository +2. Create a new branch +3. Implement your changes +4. Open a pull request + +Core developers will review the proposed changes and provide feedback. + +### Code Review + +All significant changes are reviewed before being merged into the project. Code review helps maintain code quality and ensures that changes fit well within the overall architecture of OpenMS. + +--- + +# Infrastructure Overview + +The OpenMS project consists of several repositories and supporting infrastructure that together make up the OpenMS ecosystem. + +Key components include: + +- the main OpenMS C++ codebase +- pyOpenMS Python bindings +- documentation hosted on ReadTheDocs +- continuous integration systems that automatically test contributions + +## Main Repositories + +The most important repositories in the OpenMS GitHub organization are: + +- **OpenMS** + The main codebase containing algorithms, tools, and core libraries. As well as python bindings for PyOpenMS + https://github.com/OpenMS/OpenMS/ + +- **OpenMS-docs** + Documentation sources for the OpenMS ReadTheDocs site. + https://github.com/OpenMS/OpenMS-docs + +- **pyopenms-docs** + Documentation sources for the pyOpenMS Python interface. + https://github.com/OpenMS/pyopenms-docs + +- **streamlit-template** + A template for building lightweight web applications around OpenMS tools. + https://github.com/OpenMS/streamlit-template + +- **OpenMS-website** + Source repository for the OpenMS project website. + https://github.com/OpenMS/OpenMS-website + +There are additional repositories for tutorials, experimental features, and supporting infrastructure. + +--- + +# Finding Something to Work On + +If you would like to contribute but are unsure where to start, there are many possible ways to get involved. + +Examples include: + +- improving documentation +- fixing bugs +- adding tests +- improving build infrastructure +- implementing new algorithms + +Issues labeled **"good first issue"** are often a good place for new contributors to begin. + +If you are unsure where to start, feel free to ask for suggestions in the issue tracker. + +--- + +# Contributor Path + +Many contributors start by reporting issues or submitting small fixes. Over time, contributors may become more involved in the development of the project. + +A typical progression in open-source projects looks like this: + + +User +→ Contributor +→ Frequent contributor +→ Core developer + + +Core developers are trusted maintainers who help guide the project and participate in governance. + +More information about this role is available on the [Core Developers](./core_developers.md) page. + +--- + +# Where to Ask for Help + +If you have questions about contributing, the best place to ask is the OpenMS GitHub repository. + +You can: + +- open an issue with your question +- comment on an existing issue +- ask for clarification during pull request discussions + +The OpenMS community welcomes new contributors and is happy to help you get started. + +--- + +# Next Steps + +To continue exploring the project, you may want to: + +- read the developer documentation +- explore the OpenMS repositories +- review open issues +- submit your first pull request + +We are glad you are interested in contributing to OpenMS! \ No newline at end of file From 719bf0bc40f0f529d8ab5b05f3249ef310eb52cd Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Fri, 6 Mar 2026 16:48:10 +0100 Subject: [PATCH 8/8] fix coderabbit suggestions --- config.yaml | 2 +- content/en/exec_committee.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.yaml b/config.yaml index 08df42f..410218f 100644 --- a/config.yaml +++ b/config.yaml @@ -155,7 +155,7 @@ languages: - text: Contribute link: /contribute - text: Core Developers - link: /core-developers + link: /core_developers column3: links: - text: OpenMS Inc. diff --git a/content/en/exec_committee.md b/content/en/exec_committee.md index ee10818..bf1e0ee 100644 --- a/content/en/exec_committee.md +++ b/content/en/exec_committee.md @@ -46,7 +46,7 @@ New core developers may be added by a **simple majority vote of a quorum of the ### Removal of Core Developers -Core developers may be removed due to inactivity or violation of the Code of Conduct by a **two-thirds majority vote of a quorum of the Executive Committee**, or by request of the member themself. +Core developers may be removed due to inactivity or violation of the Code of Conduct by a **two-thirds majority vote of a quorum of the Executive Committee**, or by request of the member. ---