Skip to content

[chore] Add initiatives to workstreams.yaml#3411

Open
mx-psi wants to merge 4 commits into
open-telemetry:mainfrom
mx-psi:mx-psi/add-working-groups
Open

[chore] Add initiatives to workstreams.yaml#3411
mx-psi wants to merge 4 commits into
open-telemetry:mainfrom
mx-psi:mx-psi/add-working-groups

Conversation

@mx-psi
Copy link
Copy Markdown
Member

@mx-psi mx-psi commented May 4, 2026

Another subset of #3337.

This one adds initiative, which is the rename I went with from this discussion #3337 (comment), from the original PR.

The first commit tries to be as close as possible to the original content of #3337. The second commit

mx-psi and others added 2 commits May 4, 2026 19:14
@mx-psi mx-psi requested a review from jack-berg May 4, 2026 17:15
@mx-psi mx-psi marked this pull request as ready for review May 4, 2026 17:17
@mx-psi mx-psi changed the title [chore] Add subprojects to workstreams.yaml [chore] Add initiatives to workstreams.yaml May 4, 2026
@mx-psi mx-psi requested a review from danielgblanco May 4, 2026 17:19
Comment thread scripts/validate-workstreams.py Outdated

KIND_REQUIRED_ROLES = {
"sig": {"gcLiaison", "tcSponsor"},
"initiative": {"gcLiaison", "tcSponsor", "lead"},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose:

  • that we define all initiatives as children of existing SIGs
  • That the parent SIG is solely responsible for managing initiative lifecycle. I.e. accepting / rejecting initiatives, assigning leads, managing sponsorship and laying out their own sponsorship requirements.
  • Because initiative lifecycle is managed by parent SIG, there is no GC liaison or TC sponsor requirement. Those are inherited through the parent SIG.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with this. This was the intention of https://github.com/open-telemetry/community/blob/main/project-management.md#project-sponsorship

If a project proposal is led by an existing SIG, TC sponsor and GC liaison for that SIG are assumed to be the sponsor and liaison for the new project. However, before approving the project, TC sponsorship level must be reviewed by the current TC sponsor. This ensures that the existing SIG is sufficiently supported if its scope is extended.

I remember we discussed this at some point between GC and TC. I can see how a new initiative may require the TC sponsorship level to change, so before it's approved the GC/TC should ensure that it has the right level of support.

If the initiative is to create a new SIG (and have some short-term deliverables for that SIG) then a new SIG is created with that initiative as the only child.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, I modified it to satisfy those constraints. I am a bit skeptical about this since there may be initiatives that are cross-SIG, but maybe those should always be scoped to a cross-cutting SIG.

If the initiative is to create a new SIG (and have some short-term deliverables for that SIG) then a new SIG is created with that initiative as the only child.

I did this for the Zig SIG, could you take a look and see if that's what you had in mind? It feels a bit awkward to have the Zig SDK entry with no information

Comment thread workstreams.yml
name: '#otel-blueprints'
id: C0A844D6ZCH
- id: zig-sig-bootstrap
kind: initiative
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks weird because it should actually be just a regular SIG, not an initiative, I believe

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think your comment is missing something :)

I did it this way since the project is named "bootstrap Zig SIG", I could just put it as a SIG and remove this initiative, no strong opinion about it

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the project is misnamed. I don't see anything in the Zig project proposal that differentiates it from other languages implementation SIGs: https://github.com/open-telemetry/community/pull/3260/changes

I think it should just be "Zig: SDK"

TC sponsor Is @jmacd

If it is in fact a normal sig and not an initiative, then this problem goes away:

It feels a bit awkward to have the Zig SDK entry with no information

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC we ask folks to create a project/initiative proposal to create a new SIG, so GC can approve its creation and TC can agree level of sponsorship. Plus, it's a good way to advertise a new SIG creation and get the community to put their names down to contribute and be part of the SIG.

That's why the initiative is "Bootstrap Zig SIG". I've not had a look at the proposal but ideally it has a list of short-term deliverables. After those are done the SIG would move to BAU (i.e. what's "done" is the bootstrap, not the SIG).

I personally think it's helpful to have both an initiative and a new SIG with the bootstrap initiative when new SIGs are created. It gives the SIG an initial purpose.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An example of this was the CI/CD SIG. The SIG was created with an initial set of deliverables. They completed them, moved on to a phase two but the rest of structures (e.g. GC liaison, TC sponsor, meetings, Slack, etc) remained the same. They just started a new initiative within that SIG.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the distinction between Zig and Kotlin? Both are new language implementations, with goals of developing API / SDK and reaching 1.0 stable release, but Zig is an initiative and Kotlin a SIG.

The Zig project's goals look an awful lot like BAU for a typical language implementation SIG: https://github.com/open-telemetry/community/blame/main/projects/zig-sig-bootstrap.md#L76-L89

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kotlin should've had an initiative created to bootstrap the SIG, IMO. The intention of having these "bootstrap" initiatives was to create a set of initial deliverables that ensure the SIG is set up for success.

Let's say I'm an end-user and I see that there's new Kotlin SIG. How do I know what they're aiming to achieve in the next few months after creation? Without something like that I guess I'd have to join a meeting and ask?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is squarely GC business so feel free to proceed however you see fit.

However, characterizing the early phase of a SIG as an initiative is in tension with the idea that all initiatves have a parent SIG because then you need to decide which SIG is the parent for it.

Seems simpler to just call it a SIG, since that's what it will become, and be clear in the project document about what activities are going to be worked on in the early phase.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we're probably referring to the same thing. What I'd propose is that, when a new SIG is proposed (as an initiative/project), a new SIG is created with a single initiative under it, which is the bootstrap one as approved by GC and TC.

This just avoids a new SIG being created with no initial initiative to work on.

Comment thread workstreams.yml
- lead: dmathieu
resources:
- meeting:
schedule: Every other Thursday at 10:00 PT (alternating with general End-User SIG meetings)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For an initiative, would meetings not be inherited from SIG meetings too? Just thinking in terms of presenting this information on the community README. Not sure what the plans are there.

Comment thread README.md
| Ruby: SDK&nbsp;<a id="sig-ruby" href="#sig-ruby"><sup>🔗</sup></a> | Tuesday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1EaIbfDE1elWTWt3bhilggki_OCRJZoFCSYZJXgc9KsM) | [#otel-ruby](https://cloud-native.slack.com/archives/C01NWKKMKMY) and [GitHub Discussions](https://github.com/open-telemetry/opentelemetry-ruby/discussions) | [calendar-ruby](https://groups.google.com/a/opentelemetry.io/g/calendar-ruby) | [Ted Young](https://github.com/tedsuo) |
| Rust: SDK&nbsp;<a id="sig-rust" href="#sig-rust"><sup>🔗</sup></a> | Alternating between Tuesday at 09:00 AM PT and Wednesday at 8:00 AM PT | [Google Doc](https://docs.google.com/document/d/12upOzNk8c3SFTjsL6IRohCWMgzLKoknSCOOdMakbWo4) | [#otel-rust](https://cloud-native.slack.com/archives/C03GDP0H023) | [calendar-rust](https://groups.google.com/a/opentelemetry.io/g/calendar-rust) | [Ted Young](https://github.com/tedsuo) |
| Swift: SDK&nbsp;<a id="sig-swift" href="#sig-swift"><sup>🔗</sup></a> | Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1LugL8r4bAkbTxZ1Gq_6j_8SDv1LuZaNeUdR-QLN4d48) | [#otel-swift](https://cloud-native.slack.com/archives/C01NCHR19SB) | [calendar-swift](https://groups.google.com/a/opentelemetry.io/g/calendar-swift) | [Alolita Sharma](https://github.com/alolita) |
| Zig: SDK | | | | | [Alolita Sharma](https://github.com/alolita) |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess here if we don't have meetings or notes created we could simply render it as TBD?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or have them as required fields in the schema, and set them as TBD in the workstreams file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants