Skip to content

Commit

Permalink
feat: Guilds of Meltano (#405)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ken Payne authored Apr 25, 2023
1 parent ee8badf commit d512b8c
Show file tree
Hide file tree
Showing 6 changed files with 137 additions and 4 deletions.
5 changes: 1 addition & 4 deletions _layouts/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,7 @@
{% endfor %}

<li>
<a href="{{ index_url }}">
<span class="icon"><i class="fa-regular fa-folder-open"></i></span>
{{ subcategory }}
</a>
<a href="{{ index_url }}">{{ subcategory }}</a>
<ul>
{% for item in items %}
{% unless item.url == index_url %}
Expand Down
18 changes: 18 additions & 0 deletions src/_engineering/guilds/cloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
layout: page
title: Cloud
weight: 2
subcategory: Guilds
---

## Responsibilities

- The Meltano cloud codebase in the `meltano/infra` repository along with any related bug reports, feature requests, technical debt, or customer support, with the exception of any code in the `services/cloud-ui` directory.
- Those portions of the Meltano Core codebase which relate to the Meltano Cloud CLI.
- Those portions of the Meltano Core release process which are specific to the Meltano Cloud CLI
- CI/CD workflows and code standards for Meltano Cloud, except those which are specific to the Meltano Cloud UI
- Meltano Cloud deployment processes, except those which are specific to the Meltano Cloud UI.
- The content of the Meltano Cloud docs as found in the `docs/src/_cloud` directory within the `meltano/meltano` repository.
- Provisioning, monitoring, maintenance, and any other processes related to infrastructure where Meltano Cloud code runs, excepting any Cloud UI-specific infrastructure.
- Application-level monitoring and alerting for Meltano Cloud services running on the above infrastructure.
- On-call rotations, incident response, escalation, and any other processes related to supporting the infrastructure and services described above.
14 changes: 14 additions & 0 deletions src/_engineering/guilds/core.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: page
title: Core
weight: 2
subcategory: Guilds
---

## Responsibilities

- The Meltano core codebase in the `meltano/meltano` repository along with any related bug reports, feature requests, technical debt, or community or community support needs, with the exception of code specific to `meltano cloud` subcommands.
- CI/CD workflows and code standards for Meltano core.
- The Meltano core release process, excepting specific release processes for the Meltano Cloud CLI.
- The content of the Meltano docs, along with frameworks, code, and processes used to generate and publish them, with the exception of any Cloud-specific docs found under the `cloud/` directory or CLI reference docs specific to the Meltano Cloud CLI.
- Hosting of Meltano core docs at docs.meltano.com along with associated monitoring and alerting.
56 changes: 56 additions & 0 deletions src/_engineering/guilds/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
layout: page
title: Guilds
weight: 1
subcategory: Guilds
---

## Responsibilities

In line with our <a href="/company/values">value</a> <a href="/company/values#together-we-thrive">"Together we thrive"</a>, organization of key areas of the Meltano ecosystem are stewarded by Guilds.
Guilds are made up of members of the Meltano staff and contributers from the community.
Rather than owning the work items of a given area, Guilds perform an administration and coordination role.
Primary responsibilities are:

- Ownership, curation and dissemination of a roadmap (with guidance and support from Product, Data, Leadership, the Community, other Guilds etc.), especially for major version updates
- Ownership of community engagement (especially the publishing/tagging of "Good First Issues" and participation in company events such as Taptoberfest)
- Ownership of key maintenance (releases, Dependabot pull requests, CI/CD workflows, PyPI publishing, etc.)
- Ownership of Slack, issue and pull request triage (questions, bug reports, feature requests, community pull requests, etc.)
- Ownership of knowledge sharing and mentoring (promotion/improvement of Docs, Blog Posts, 'Best Practices', topics in Office Hours, Newsletters, etc.)
- Ownership and development of domain tooling (e.g. `hub-utils`) as needed

## Expected Commitment

For Guilds to be self-sustaining, each should have at least 2 permanent members.
Tenured engineers are encouraged to join a Guild and to work towards "subject matter expertise".
Newly hired engineers will likely be discouraged from Guild membership for a fixed period (say 6 months, TBD) so as not to specialize early or distract from onboarding.
Given the likely time commitment, engineers should be discouraged from joining multiple Guilds at our current company stage.
This can likely be relaxed as we grow 🚀

Each Guild might require different commitments of time and effort, but an 80/20 to 70/30 split is not unreasonable (with the majority chunk devoted to normal, non-Guild engineering responsibilities).

## Processes

Each Guild will be responsible for their own rituals, but some general expectations are set below:

- A 30 min recurring meeting in the "Team Meetings" Google Calendar.
- Should be cancelled if all would-be attendees agree that everything that would be done already has done, or will soon be done async
- GitHub project board that can be managed / updated async
- A set of GitHub labels to tag issues with. Use the label sync config and workflow in the [`meltano/.github`](https://github.com/meltano/.github) repository to sync labels across repositories
- An ongoing Google Docs agenda that is updated before, during, and after each meeting as necessary
- Fireflies AI in every meeting
- Landing pages in the Handbook detailing membership, areas of concern and links to associated repos/resources
- A `guild-*` Slack channel
- An email alias (for contact references in the Handbook and elsewhere)

Some more fun and fanciful ideas (for the future) are:

- Guild-themed GitHub badges to award to contributors
- Matching Guild-themed stickers

## Current Guilds

- [Cloud]({% link _engineering/guilds/cloud.md %})
- [Core]({% link _engineering/guilds/core.md %})
- [Singer Ecosystem]({% link _engineering/guilds/singer-ecosystem.md %})
- [UI]({% link _engineering/guilds/ui.md %})
27 changes: 27 additions & 0 deletions src/_engineering/guilds/singer-ecosystem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
layout: page
title: Singer Ecosystem
weight: 2
subcategory: Guilds
---

## Responsibilities


### SDK

- The Meltano SDK codebase in the [`meltano/sdk`](https://github.com/meltano/sdk) repository, along with any related bug reports, feature requests, technical debt, and community support needs.
- CI/CD workflows and code standards for the Meltano SDK.
- The Meltano SDK release process.
- The content of the Meltano SDK docs, along with frameworks, code, and processes used to generate and publish them.
- Hosting of Meltano SDK docs at [sdk.meltano.com](https://sdk.meltano.com), along with associated monitoring and alerting.

### Hub

- The Meltano Hub codebase in the [`meltano/hub`](https://github.com/meltano/hub) repository, along with any related bug reports, feature requests, technical debt, and community support needs.
- The content of Meltano Hub, along with frameworks, code, and processes used to generate and publish it.
- The hosting of the Hub API along with associated infrastructure, deployment, monitoring, and alerting.

### Meltano Labs

- Overseeing the MeltanoLabs organization. Including management of processes, permissions, quality standards, defining maintainers, transferring ownership, migrating external connectors, release processes, and Singer Most Wanted prioritization.
21 changes: 21 additions & 0 deletions src/_engineering/guilds/ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
layout: page
title: UI
weight: 2
subcategory: Guilds
---

## Responsibilities

### Cloud UI

- The Meltano Cloud UI codebase within the `meltano/infra` repository, along with any related bug reports, feature requests, technical debt, and customer support.
- Those CI/CD workflows and code standards which are specific to the Meltano Cloud UI.
- Those deployment processes which are specific to the Meltano Cloud UI.
- Provisioning, monitoring, maintenance, and any other processes related to infrastructure where Cloud UI code runs.
- Application-level monitoring and alerting for Meltano Cloud UI services running on the above infrastructure.
- On-call rotations, incident response, escalation, and any other processes related to supporting the infrastructure and services described above.

### Hub UI

- Hosting of Meltano Hub at [hub.meltano.com](https://hub.meltano.com) along with associated monitoring and alerting.

0 comments on commit d512b8c

Please sign in to comment.