diff --git a/.cspell.yaml b/.cspell.yaml index c00853515..921a2d513 100644 --- a/.cspell.yaml +++ b/.cspell.yaml @@ -18,7 +18,9 @@ ignoreRegExpList: words: - Collibra - DASD + - Docu - datadog + - devex - dynatrace - easycla - eiffel @@ -28,6 +30,23 @@ words: - gitter - grafana - Hostmetrics + - hostmetricsreceiver + - jemmic + - keptn + - kubecon + - liatrio + - lightstep + - logz + - maintainership + - observiq + - opentelemetry + - opentelemetrybot + - otel + - otep + - otlp + - passcodes + - proto + - pytest - isovalent - labs - Liudmila @@ -88,7 +107,14 @@ words: - frzifus - gbbr - gitter + - gitdm + - henrikrexed + - heptio + - hongalex + - horovits + - jackjia - jaglowski + - javaagent - jemmic - juraci - kaiyan-sheng diff --git a/.github/ISSUE_TEMPLATE/membership.md b/.github/ISSUE_TEMPLATE/membership.md index 7afdf9d45..2acb70543 100644 --- a/.github/ISSUE_TEMPLATE/membership.md +++ b/.github/ISSUE_TEMPLATE/membership.md @@ -16,7 +16,7 @@ e.g. (at)example_user ### Requirements -- [ ] I have reviewed the community membership guidelines (https://github.com/open-telemetry/community/blob/main/community-membership.md) +- [ ] I have reviewed the community membership guidelines (https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md) - [ ] I have enabled 2FA on my GitHub account. See https://github.com/settings/security - [ ] I have subscribed to the [Slack channel](https://cloud-native.slack.com/archives/CJFCJHG4Q) (use https://slack.cncf.io/ to get an invite) - [ ] I am actively contributing to 1 or more OpenTelemetry subprojects diff --git a/.github/repository-settings.md b/.github/repository-settings.md index 3e39362e1..f259eac5f 100644 --- a/.github/repository-settings.md +++ b/.github/repository-settings.md @@ -14,6 +14,10 @@ settings](../docs/how-to-configure-new-repository.md#repository-settings). * Required number of approvals before merging: `2` * Require conversation resolution before merging: :heavy_check_mark: +* Status checks that are required: + * EasyCLA + * spelling-check + * table-check ### `**/**` diff --git a/CODEOWNERS b/CODEOWNERS index dd859d0f9..999e82b9d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -5,7 +5,7 @@ ##################################################### # # Learn about membership in OpenTelemetry community: -# https://github.com/open-telemetry/community/blob/master/community-membership.md +# https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md # # # Learn about CODEOWNERS file format: diff --git a/README.md b/README.md index b40850bb1..93d35bfe0 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ as CNCF IP Policy [dictates](https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy). This [blog post](https://www.cncf.io/blog/2017/02/01/cncf-recommends-aslv2/) explains the reasoning behind choosing this license. -Refer to [CONTRIBUTING.md](https://github.com/open-telemetry/community/blob/master/CONTRIBUTING.md#code-attribution) +Refer to our [Contributor Guide](https://github.com/open-telemetry/community/tree/main/guides/contributor) for details on code attribution. ## Logos and Brand Guide @@ -124,65 +124,72 @@ practice to alternate morning/evening meetings once SIG has representatives from 3 largely distinct timezones. The best way to report it and suggest an alternative is to file an issue on this repository or discuss it in SIG-specific GitHub discussions. + +> [!NOTE] +> The meeting times in the tables below are given in 24-hour notation. +> All meeting hours between 2pm and 1am UTC are in Pacific Time (PT), with Daylight Saving Time. +> All meeting hours between 2am and 1pm UTC in UTC+8, without Daylight Saving Time. + ### Specification SIGs | Name | Meeting Time | Meeting Notes | Slack Channel | Meeting Invites Group | [Sponsors](./project-management.md#project-proposal) | [Governance Committee](./community-members.md#governance-committee) Liaison | |------|--------------|---------------|---------------|-----------------|--------------------------------|--------------------------------| -| Specification: General | Every Tuesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1pdvPeKjA8v8w_fGKAN68JjWBmVJtPCpqdi9IZrd6eEo) | [#otel-specification](https://cloud-native.slack.com/archives/C01N7PP1THC) | [calendar-spec-general](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-general) | | | -| Specification: Sampling | Every Thursday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1gASMhmxNt9qCa8czEMheGlUW2xpORiYoD7dBD7aNtbQ) | [#otel-sampling](https://cloud-native.slack.com/archives/C027DS6GZD3) | [calendar-spec-sampling](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-sampling) | [Josh MacDonald](https://github.com/jmacd) | [Daniel Dyla](https://github.com/dyladan) | -| Specification: Configuration | Every other Monday at 8:00 PT | [Google Doc](https://docs.google.com/document/d/1uNgWQLQZcSVfBLRXfW9XCVJmKa5NH9R15fSOXhmpGWw) | [#otel-config-file](https://cloud-native.slack.com/archives/C0476L7UJT1) | [calendar-spec-config](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-config) | [Carlos Alberto](https://github.com/carlosalberto),
[Jack Berg](https://github.com/jack-berg) | [Trask Stalnaker](https://github.com/trask) | -| Specification: Events | Every Friday at 10:00 AM PT | [Google Doc](https://docs.google.com/document/d/1BKjQWP32FXL9g1cGbyj7DMXV1Uq_RL8_78rWaMBhN0A) | [#otel-event](https://cloud-native.slack.com/archives/C062HUREGUV) | [calendar-spec-events](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-events) | [Ted Young](https://github.com/tedsuo),
[Trask Stalnaker](https://github.com/trask) | [Ted Young](https://github.com/tedsuo) | -| Semantic Conventions: General | Every Monday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/10xG7DNKWRhxNmFGt3yYd3980a9uwS8lMl2LvQL3VNK8) | [#otel-semantic-conventions-wg](https://cloud-native.slack.com/archives/C041APFBYQP) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Armin Ruech](https://github.com/arminru),
[Josh Suereth](https://github.com/jsuereth),
[Reiley Yang](https://github.com/reyang) | [Trask Stalnaker](https://github.com/trask) | -| Semantic Conventions: Tooling | Every Wednesday at 07:00 PT | [Google Doc](https://docs.google.com/document/d/1ygwXgOFRF01UfUOgMr_ElyL7fSDPchTKSrqfj-_HeyA) | [#otel-semantic-conventions-wg](https://cloud-native.slack.com/archives/C041APFBYQP) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth) | | -| Semantic Conventions: Messaging | Every Thursday at 8:00 PT | [Google Doc](https://docs.google.com/document/d/1dWHhyXnfVife-cQ2DW5-d5Ldp1Lq8Rre2UsHpyo8cEE) | [#otel-messaging](https://cloud-native.slack.com/archives/C02Q4AAHDSA) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Johannes Tax](https://github.com/pyohannes),
[Liudmila Molkova](https://github.com/lmolkova) | [Trask Stalnaker](https://github.com/trask) | -| Semantic Conventions: Database | Every Wednesday at 9:30 PT and Friday at 8:30 PT | [Google Doc](https://docs.google.com/document/d/1zTi_Z4WBisytPnXTpwtnGOK-4Gv5oSTuMHvIQ8--5hg) | [#otel-db-client-semconv-stability-wg](https://cloud-native.slack.com/archives/C06HH05KNMC) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Jack Berg](https://github.com/jack-berg),
[Liudmila Molkova](https://github.com/lmolkova) | [Trask Stalnaker](https://github.com/trask) | -| Semantic Conventions: System Metrics | Every Thursday at 07:30 PT | [Google Doc](https://docs.google.com/document/d/1p5TH57t43XpxA48onLzX4PIr3g6ydYKCtR_AUlsCnQk) | [#otel-system-metrics-wg](https://cloud-native.slack.com/archives/C05CTFE9U4A) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth) | [Severin Neumann](https://github.com/svrnm) | -| Semantic Conventions: LLM | Every Wednesday alternating between 10:00 and 16:00 PT | [Google Doc](https://docs.google.com/document/d/1EKIeDgBGXQPGehUigIRLwAUpRGa7-1kXB736EaYuJ2M) | [#otel-llm-semconv-wg](https://cloud-native.slack.com/archives/C06KR7ARS3X) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Alolita Sharma](https://github.com/alolita),
[Liudmila Molkova](https://github.com/lmolkova) | [Alolita Sharma](https://github.com/alolita) | +| Specification: General | Tuesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1pdvPeKjA8v8w_fGKAN68JjWBmVJtPCpqdi9IZrd6eEo) | [#otel-specification](https://cloud-native.slack.com/archives/C01N7PP1THC) | [calendar-spec-general](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-general) | | | +| Specification: Sampling | Thursday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1gASMhmxNt9qCa8czEMheGlUW2xpORiYoD7dBD7aNtbQ) | [#otel-sampling](https://cloud-native.slack.com/archives/C027DS6GZD3) | [calendar-spec-sampling](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-sampling) | [Josh MacDonald](https://github.com/jmacd) | [Daniel Dyla](https://github.com/dyladan) | +| Specification: Configuration | Every other Monday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1uNgWQLQZcSVfBLRXfW9XCVJmKa5NH9R15fSOXhmpGWw) | [#otel-config-file](https://cloud-native.slack.com/archives/C0476L7UJT1) | [calendar-spec-config](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-config) | [Carlos Alberto](https://github.com/carlosalberto),
[Jack Berg](https://github.com/jack-berg) | [Trask Stalnaker](https://github.com/trask) | +| Specification: Events | Friday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1BKjQWP32FXL9g1cGbyj7DMXV1Uq_RL8_78rWaMBhN0A) | [#otel-event](https://cloud-native.slack.com/archives/C062HUREGUV) | [calendar-spec-events](https://groups.google.com/a/opentelemetry.io/g/calendar-spec-events) | [Ted Young](https://github.com/tedsuo),
[Trask Stalnaker](https://github.com/trask) | [Ted Young](https://github.com/tedsuo) | +| Semantic Conventions: General | Monday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/10xG7DNKWRhxNmFGt3yYd3980a9uwS8lMl2LvQL3VNK8) | [#otel-semantic-conventions-wg](https://cloud-native.slack.com/archives/C041APFBYQP) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Armin Ruech](https://github.com/arminru),
[Josh Suereth](https://github.com/jsuereth),
[Reiley Yang](https://github.com/reyang) | [Trask Stalnaker](https://github.com/trask) | +| Semantic Conventions: Tooling | Wednesday at 07:00 PT | [Google Doc](https://docs.google.com/document/d/1ygwXgOFRF01UfUOgMr_ElyL7fSDPchTKSrqfj-_HeyA) | [#otel-semantic-conventions-wg](https://cloud-native.slack.com/archives/C041APFBYQP) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth) | | +| Semantic Conventions: Messaging | Thursday at 8:00 PT | [Google Doc](https://docs.google.com/document/d/1dWHhyXnfVife-cQ2DW5-d5Ldp1Lq8Rre2UsHpyo8cEE) | [#otel-messaging](https://cloud-native.slack.com/archives/C02Q4AAHDSA) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Johannes Tax](https://github.com/pyohannes),
[Liudmila Molkova](https://github.com/lmolkova) | [Trask Stalnaker](https://github.com/trask) | +| Semantic Conventions: Database | Wednesday at 9:30 PT and Friday at 8:30 PT | [Google Doc](https://docs.google.com/document/d/1zTi_Z4WBisytPnXTpwtnGOK-4Gv5oSTuMHvIQ8--5hg) | [#otel-db-client-semconv-stability-wg](https://cloud-native.slack.com/archives/C06HH05KNMC) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Jack Berg](https://github.com/jack-berg),
[Liudmila Molkova](https://github.com/lmolkova) | [Trask Stalnaker](https://github.com/trask) | +| Semantic Conventions: System Metrics | Thursday at 07:30 PT | [Google Doc](https://docs.google.com/document/d/1p5TH57t43XpxA48onLzX4PIr3g6ydYKCtR_AUlsCnQk) | [#otel-system-metrics-wg](https://cloud-native.slack.com/archives/C05CTFE9U4A) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth) | [Severin Neumann](https://github.com/svrnm) | +| Semantic Conventions: LLM | Alternating between every other Wednesday 10:00 PT and every other Thursday 14:00 UTC+8 | [Google Doc](https://docs.google.com/document/d/1EKIeDgBGXQPGehUigIRLwAUpRGa7-1kXB736EaYuJ2M) | [#otel-llm-semconv-wg](https://cloud-native.slack.com/archives/C06KR7ARS3X) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Alolita Sharma](https://github.com/alolita),
[Liudmila Molkova](https://github.com/lmolkova) | [Alolita Sharma](https://github.com/alolita) | | Semantic Conventions: CI/CD | Meets during Semantic Conventions: General | [Google Doc](https://docs.google.com/document/d/10xG7DNKWRhxNmFGt3yYd3980a9uwS8lMl2LvQL3VNK8) | [#otel-semconv-security](https://cloud-native.slack.com/archives/C0715DWUW7L) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth),
[Carlos Alberto](https://github.com/carlosalberto) | [Trask Stalnaker](https://github.com/trask) | | Semantic Conventions: Security | Meets during Semantic Conventions: General | [Google Doc](https://docs.google.com/document/d/10xG7DNKWRhxNmFGt3yYd3980a9uwS8lMl2LvQL3VNK8) | [#otel-semconv-security](https://cloud-native.slack.com/archives/C0715DWUW7L) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Josh Suereth](https://github.com/jsuereth) | [Trask Stalnaker](https://github.com/trask) | -| Semantic Conventions: Feature Flags | Every Second Monday at 7:30 PT | [Google Doc](https://docs.google.com/document/d/1x9hprUaUNlVCZMtFAqBcj6h50ukpT0hCAli7BzgWsTQ) | [#otel-ff-semconv](https://cloud-native.slack.com/archives/C07AES1JN56) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Daniel Dyla](https://github.com/dyladan),
[Alexander Wert](https://github.com/AlexanderWert) | [Daniel Dyla](https://github.com/dyladan) | -| Specification: Entities | Every other week on Thursday at 08:00 AM PT | [Google Doc](https://docs.google.com/document/d/15Yt9ss2_EhuFPqItPbk4vjfpeRDAQ5WCUVuY_kCeOAo) | [#otel-entities](https://cloud-native.slack.com/archives/C06QEG97W7L) | [calendar-entities](https://groups.google.com/a/opentelemetry.io/g/calendar-entities) | [Josh Suereth](https://github.com/jsuereth),
[Tigran Najaryan](https://github.com/tigrannajaryan) | [Daniel Dyla](https://github.com/dyladan) | -| Agent Management | Every other week on Tuesday at 11:00 PT | [Google Doc](https://docs.google.com/document/d/19WA5-ex8rNFIBIyVb5VqMXfWNmUQwppGhN8zBeNG0f4) | [#otel-agentmanwg](https://cloud-native.slack.com/archives/C02J58HR58R) | [calendar-agent-mgmt](https://groups.google.com/a/opentelemetry.io/g/calendar-agent-mgmt) | [Tigran Najaryan](https://github.com/tigrannajaryan) | [Ted Young](https://github.com/tedsuo) | -| Prometheus Interoperability | Every other week on Wednesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/19bnXziPn2MZ9wO6684UoI4D-LCjGL5bTJkGhux29bx8) | [#otel-prometheus-wg](https://cloud-native.slack.com/archives/C01LSCJBXDZ) | [calendar-prometheus](https://groups.google.com/a/opentelemetry.io/g/calendar-prometheus) | | [Alolita Sharma](https://github.com/alolita) | -| Functions as a Service (FAAS) | Every other Wednesday at 8:00 AM PT | [Google Doc](https://docs.google.com/document/d/187XYoQcXQ9JxS_5v2wvZ0NEysaJ02xoOYNXj08pT0zc) | [#otel-faas](https://cloud-native.slack.com/archives/C04HVBETC9Z) | [calendar-faas](https://groups.google.com/a/opentelemetry.io/g/calendar-faas) | | [Austin Parker](https://github.com/austinlparker) | -| Profiling | Every other week on Thursday at 08:00 AM PT | [Google Doc](https://docs.google.com/document/d/19UqPPPlGE83N37MhS93uRlxsP1_wGxQ33Qv6CDHaEp0) | [#otel-profiles](https://cloud-native.slack.com/archives/C03J794L0BV) | [calendar-profiling](https://groups.google.com/a/opentelemetry.io/g/calendar-profiling) | [Josh Suereth](https://github.com/jsuereth),
[Tigran Najaryan](https://github.com/tigrannajaryan) | [Morgan McLean](https://github.com/mtwo) | -| OpenTelemetry on Mainframes | Weekly on Tuesday at 10:00 AM PT | [Google Doc](https://docs.google.com/document/d/14p-bpofozTL4n3jy6HZH_TKjoOXvog18G1HBRqq6liE) | [#otel-mainframes](https://cloud-native.slack.com/archives/C05PXDFTCPJ) | [calendar-mainframe](https://groups.google.com/a/opentelemetry.io/g/calendar-mainframe) | [Alolita Sharma](https://github.com/alolita),
[Daniel Dyla](https://github.com/dyladan),
[Morgan McLean](https://github.com/mtwo) | [Morgan McLean](https://github.com/mtwo) | -| Client Instrumentation | Every Tuesday at 9:00 AM PT | [Google Doc](https://docs.google.com/document/d/16Vsdh-DM72AfMg_FIt9yT9ExEWF4A_vRbQ3jRNBe09w) | [#otel-client-side-telemetry](https://cloud-native.slack.com/archives/C0239SYARD2) | [calendar-client-side](https://groups.google.com/a/opentelemetry.io/g/calendar-client-side) | | [Daniel Gomez Blanco](https://github.com/danielgblanco) | +| Semantic Conventions: Feature Flags | Every other Monday at 07:30 PT | [Google Doc](https://docs.google.com/document/d/1x9hprUaUNlVCZMtFAqBcj6h50ukpT0hCAli7BzgWsTQ) | [#otel-ff-semconv](https://cloud-native.slack.com/archives/C07AES1JN56) | [calendar-semconv](https://groups.google.com/a/opentelemetry.io/g/calendar-semconv) | [Daniel Dyla](https://github.com/dyladan),
[Alexander Wert](https://github.com/AlexanderWert) | [Daniel Dyla](https://github.com/dyladan) | +| Specification: Entities | Every other Thursday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/15Yt9ss2_EhuFPqItPbk4vjfpeRDAQ5WCUVuY_kCeOAo) | [#otel-entities](https://cloud-native.slack.com/archives/C06QEG97W7L) | [calendar-entities](https://groups.google.com/a/opentelemetry.io/g/calendar-entities) | [Josh Suereth](https://github.com/jsuereth),
[Tigran Najaryan](https://github.com/tigrannajaryan) | [Daniel Dyla](https://github.com/dyladan) | +| Agent Management | Every other Tuesday at 11:00 PT | [Google Doc](https://docs.google.com/document/d/19WA5-ex8rNFIBIyVb5VqMXfWNmUQwppGhN8zBeNG0f4) | [#otel-agentmanwg](https://cloud-native.slack.com/archives/C02J58HR58R) | [calendar-agent-mgmt](https://groups.google.com/a/opentelemetry.io/g/calendar-agent-mgmt) | [Tigran Najaryan](https://github.com/tigrannajaryan) | [Ted Young](https://github.com/tedsuo) | +| Prometheus Interoperability | Every other Wednesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/19bnXziPn2MZ9wO6684UoI4D-LCjGL5bTJkGhux29bx8) | [#otel-prometheus-wg](https://cloud-native.slack.com/archives/C01LSCJBXDZ) | [calendar-prometheus](https://groups.google.com/a/opentelemetry.io/g/calendar-prometheus) | | [Alolita Sharma](https://github.com/alolita) | +| Functions as a Service (FAAS) | Every other Wednesday at 8:00 PT | [Google Doc](https://docs.google.com/document/d/187XYoQcXQ9JxS_5v2wvZ0NEysaJ02xoOYNXj08pT0zc) | [#otel-faas](https://cloud-native.slack.com/archives/C04HVBETC9Z) | [calendar-faas](https://groups.google.com/a/opentelemetry.io/g/calendar-faas) | | [Austin Parker](https://github.com/austinlparker) | +| Profiling | Every other Thursday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/19UqPPPlGE83N37MhS93uRlxsP1_wGxQ33Qv6CDHaEp0) | [#otel-profiles](https://cloud-native.slack.com/archives/C03J794L0BV) | [calendar-profiling](https://groups.google.com/a/opentelemetry.io/g/calendar-profiling) | [Josh Suereth](https://github.com/jsuereth),
[Tigran Najaryan](https://github.com/tigrannajaryan) | [Morgan McLean](https://github.com/mtwo) | +| OpenTelemetry on Mainframes | Tuesday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/14p-bpofozTL4n3jy6HZH_TKjoOXvog18G1HBRqq6liE) | [#otel-mainframes](https://cloud-native.slack.com/archives/C05PXDFTCPJ) | [calendar-mainframe](https://groups.google.com/a/opentelemetry.io/g/calendar-mainframe) | [Alolita Sharma](https://github.com/alolita),
[Daniel Dyla](https://github.com/dyladan),
[Morgan McLean](https://github.com/mtwo) | [Morgan McLean](https://github.com/mtwo) | +| Client Instrumentation | Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/16Vsdh-DM72AfMg_FIt9yT9ExEWF4A_vRbQ3jRNBe09w) | [#otel-client-side-telemetry](https://cloud-native.slack.com/archives/C0239SYARD2) | [calendar-client-side](https://groups.google.com/a/opentelemetry.io/g/calendar-client-side) | | [Daniel Gomez Blanco](https://github.com/danielgblanco) | ### Implementation SIGs | Name | Meeting Time | Meeting Notes | Slack Channel | Meeting Invites Group | [Governance Committee](./community-members.md#governance-committee) Liaison | |------|--------------|---------------|---------------|-----------------|--------------------------------| -| Android: SDK + Automatic Instrumentation | Every Tuesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1W72oElAJuYx3efM9wkH5l1iksdfwmTSkVl-H7KHTLnY) | [#otel-android](https://cloud-native.slack.com/archives/C05J0T9K27Q) | [calendar-android](https://groups.google.com/a/opentelemetry.io/g/calendar-android) | [Trask Stalnaker](https://github.com/trask) | -| Collector | Wednesdays, rotating between the following time slots: 00:00 UTC, 12:00 UTC, 16:00 UTC | [Google Doc](https://docs.google.com/document/d/1r2JC5MB7GupCE7N32EwGEXs9V_YIsPgoFiLP4VWVMkE) | [#otel-collector](https://cloud-native.slack.com/archives/C01N6P7KR6W) | [calendar-collector](https://groups.google.com/a/opentelemetry.io/g/calendar-collector) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | -| C++: SDK | Every week alternating between Monday at 13:00 PT and Wednesday at 9:00 PT | [Google Doc](https://docs.google.com/document/d/1i1E4-_y4uJ083lCutKGDhkpi3n4_e774SBLi9hPLocw) | [#otel-cpp](https://cloud-native.slack.com/archives/C01N3AT62SJ) | [calendar-cpp](https://groups.google.com/a/opentelemetry.io/g/calendar-cpp) | [Severin Neumann](https://github.com/svrnm) | -| .NET: Automatic Instrumentation | Every Wednesday at 9:00 PT | [Google Doc](https://docs.google.com/document/d/1dYdwRQVE3zu0vlp_lqGctNm0dCQUkDo2LfScUJzpuT8) | [#otel-dotnet-auto-instr](https://cloud-native.slack.com/archives/C01NR1YLSE7) | [calendar-dotnet](https://groups.google.com/a/opentelemetry.io/g/calendar-dotnet) | [Morgan McLean](https://github.com/mtwo) | -| .NET: SDK | Every Tuesday alternating between 9:00 and 16:00 PT | [Google Doc](https://docs.google.com/document/d/1yjjD6aBcLxlRazYrawukDgrhZMObwHARJbB9glWdHj8) | [#otel-dotnet](https://cloud-native.slack.com/archives/C01N3BC2W7Q) | [calendar-dotnet](https://groups.google.com/a/opentelemetry.io/g/calendar-dotnet) | [Morgan McLean](https://github.com/mtwo) | -| Erlang/Elixir: SDK | Every other Thursday at 9:00 PT | [Google Doc](https://docs.google.com/document/d/1EbBiRjBc_cBf0T_B5OtNRPhbD4jdBrVYJAy8euCDrUI) | [#otel-erlang-elixir](https://cloud-native.slack.com/archives/C01N75YMZCN) | [calendar-erlang](https://groups.google.com/a/opentelemetry.io/g/calendar-erlang) | [Austin Parker](https://github.com/austinlparker) | -| GoLang: SDK | Every Thursday alternating between 9:00 and 10:00 PDT | [Google Doc](https://docs.google.com/document/d/1E5e7Ld0NuU1iVvf-42tOBpu2VBBLYnh73GJuITGJTTU) | [#otel-go](https://cloud-native.slack.com/archives/C01NPAXACKT) | [calendar-go](https://groups.google.com/a/opentelemetry.io/g/calendar-go) | [Ted Young](https://github.com/tedsuo) | -| GoLang: Automatic Instrumentation | Every other week on Tuesday at 9:30 PT | [Google Doc](https://docs.google.com/document/d/1P6am_r_cxCX1HcpDQlznrTrTOvwN2whshL0f58lXSWI) | [#otel-go-instrumentation](https://cloud-native.slack.com/archives/C03S01YSAS0) | [calendar-go](https://groups.google.com/a/opentelemetry.io/g/calendar-go) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | -| Java: SDK + Automatic Instrumentation | Every Thursday at 09:00 PT with an additional meeting every other Thu at 09:00 UTC+8 | [Google Doc](https://docs.google.com/document/d/1WK9h4p55p8ZjPkxO75-ApI9m0wfea6ENZmMoFRvXSCw) | [#otel-java](https://cloud-native.slack.com/archives/C014L2KCTE3) | [calendar-java](https://groups.google.com/a/opentelemetry.io/g/calendar-java) | [Trask Stalnaker](https://github.com/trask) | -| JavaScript: SDK | Every Wednesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1tCyoQK49WVcE-x8oryZOTTToFm7sIeUhxFPm9g-qL1k) | [#otel-js](https://cloud-native.slack.com/archives/C01NL1GRPQR) and [GitHub Discussions](https://github.com/open-telemetry/opentelemetry-js/discussions) | [calendar-js](https://groups.google.com/a/opentelemetry.io/g/calendar-js) | [Daniel Dyla](https://github.com/dyladan) | -| PHP: SDK | Every Wednesday at 10:30 PT | [Google Doc](https://docs.google.com/document/d/1WLDZGLY24rk5fRudjdQAcx_u81ZQWCF3zxiNT-sz7DI) | [#otel-php](https://cloud-native.slack.com/archives/C01NFPCV44V) | [calendar-php](https://groups.google.com/a/opentelemetry.io/g/calendar-php) | [Severin Neumann](https://github.com/svrnm) | -| Python: SDK | Every Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1CIMGoIOZ-c3-igzbd6_Pnxx1SjAkjwqoYSUWxPY8XIs) | [#otel-python](https://cloud-native.slack.com/archives/C01PD4HUVBL) | [calendar-python](https://groups.google.com/a/opentelemetry.io/g/calendar-python) | [Daniel Gomez Blanco](https://github.com/danielgblanco) | -| Ruby: SDK | Every Tuesday at 09: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 | Every Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1tGKuCsSnyT2McDncVJrMgg74_z8V06riWZa0Sr79I_4) | [#otel-rust](https://cloud-native.slack.com/archives/C03GDP0H023) and [Gitter](https://gitter.im/open-telemetry/opentelemetry-rust) | [calendar-rust](https://groups.google.com/a/opentelemetry.io/g/calendar-rust) | [Ted Young](https://github.com/tedsuo) | -| Swift: SDK | Every 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) | -| eBPF | Every week on Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/13GK915hdDQ9sUYzUIWi4pOfJK68EE935ugutUgL3yOw) | [#otel-ebpf](https://cloud-native.slack.com/archives/C02AB15583A) | [calendar-ebpf](https://groups.google.com/a/opentelemetry.io/g/calendar-ebpf) | [Ted Young](https://github.com/tedsuo) | -| Kubernetes Operator | Every other week on Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1Unbs2qp_j5kp8FfL_lRH-ld7i5EOQpsq0I4djkOOSL4) | [#otel-operator](https://cloud-native.slack.com/archives/C033BJ8BASU) | [calendar-k8s-operator](https://groups.google.com/a/opentelemetry.io/g/calendar-k8s-operator) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | -| Community Demo Application | Every Wednesday at 8:00 PT | [Google Doc](https://docs.google.com/document/d/16f-JOjKzLgWxULRxY8TmpM_FjlI1sthvKurnqFz9x98) | [#otel-community-demo](https://cloud-native.slack.com/archives/C03B4CWV4DA) | [calendar-demo-app](https://groups.google.com/a/opentelemetry.io/g/calendar-demo-app) | [Austin Parker](https://github.com/austinlparker) | +| Android: SDK + Automatic Instrumentation | Tuesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1W72oElAJuYx3efM9wkH5l1iksdfwmTSkVl-H7KHTLnY) | [#otel-android](https://cloud-native.slack.com/archives/C05J0T9K27Q) | [calendar-android](https://groups.google.com/a/opentelemetry.io/g/calendar-android) | [Trask Stalnaker](https://github.com/trask) | +| Collector | Wednesday alternating between 09:00 PT, 05:00 PT, 17:00 PT | [Google Doc](https://docs.google.com/document/d/1r2JC5MB7GupCE7N32EwGEXs9V_YIsPgoFiLP4VWVMkE) | [#otel-collector](https://cloud-native.slack.com/archives/C01N6P7KR6W) | [calendar-collector](https://groups.google.com/a/opentelemetry.io/g/calendar-collector) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| C++: SDK | Alternating between Monday at 13:00 PT and Wednesday at 09:00 PT PT | [Google Doc](https://docs.google.com/document/d/1i1E4-_y4uJ083lCutKGDhkpi3n4_e774SBLi9hPLocw) | [#otel-cpp](https://cloud-native.slack.com/archives/C01N3AT62SJ) | [calendar-cpp](https://groups.google.com/a/opentelemetry.io/g/calendar-cpp) | [Severin Neumann](https://github.com/svrnm) | +| .NET: Automatic Instrumentation | Wednesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1dYdwRQVE3zu0vlp_lqGctNm0dCQUkDo2LfScUJzpuT8) | [#otel-dotnet-auto-instr](https://cloud-native.slack.com/archives/C01NR1YLSE7) | [calendar-dotnet](https://groups.google.com/a/opentelemetry.io/g/calendar-dotnet) | [Morgan McLean](https://github.com/mtwo) | +| .NET: SDK | Tuesday alternating between 09:00 PT and 16:00 PT | [Google Doc](https://docs.google.com/document/d/1yjjD6aBcLxlRazYrawukDgrhZMObwHARJbB9glWdHj8) | [#otel-dotnet](https://cloud-native.slack.com/archives/C01N3BC2W7Q) | [calendar-dotnet](https://groups.google.com/a/opentelemetry.io/g/calendar-dotnet) | [Morgan McLean](https://github.com/mtwo) | +| Erlang/Elixir: SDK | Every other Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1EbBiRjBc_cBf0T_B5OtNRPhbD4jdBrVYJAy8euCDrUI) | [#otel-erlang-elixir](https://cloud-native.slack.com/archives/C01N75YMZCN) | [calendar-erlang](https://groups.google.com/a/opentelemetry.io/g/calendar-erlang) | [Austin Parker](https://github.com/austinlparker) | +| GoLang: SDK | Thursday alternating between 09:00 PT and 10:00 PT | [Google Doc](https://docs.google.com/document/d/1E5e7Ld0NuU1iVvf-42tOBpu2VBBLYnh73GJuITGJTTU) | [#otel-go](https://cloud-native.slack.com/archives/C01NPAXACKT) | [calendar-go](https://groups.google.com/a/opentelemetry.io/g/calendar-go) | [Ted Young](https://github.com/tedsuo) | +| GoLang: Automatic Instrumentation | Every other Tuesday at 09:30 PT | [Google Doc](https://docs.google.com/document/d/1P6am_r_cxCX1HcpDQlznrTrTOvwN2whshL0f58lXSWI) | [#otel-go-instrumentation](https://cloud-native.slack.com/archives/C03S01YSAS0) | [calendar-go](https://groups.google.com/a/opentelemetry.io/g/calendar-go) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| Java: SDK + Automatic Instrumentation | Thursday at 09:00 PT, and every other Thursday at 09:00 UTC+8 | [Google Doc](https://docs.google.com/document/d/1WK9h4p55p8ZjPkxO75-ApI9m0wfea6ENZmMoFRvXSCw) | [#otel-java](https://cloud-native.slack.com/archives/C014L2KCTE3) | [calendar-java](https://groups.google.com/a/opentelemetry.io/g/calendar-java) | [Trask Stalnaker](https://github.com/trask) | +| JavaScript: SDK | Wednesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1tCyoQK49WVcE-x8oryZOTTToFm7sIeUhxFPm9g-qL1k) | [#otel-js](https://cloud-native.slack.com/archives/C01NL1GRPQR) and [GitHub Discussions](https://github.com/open-telemetry/opentelemetry-js/discussions) | [calendar-js](https://groups.google.com/a/opentelemetry.io/g/calendar-js) | [Daniel Dyla](https://github.com/dyladan) | +| PHP: SDK | Wednesday at 10:30 PT | [Google Doc](https://docs.google.com/document/d/1WLDZGLY24rk5fRudjdQAcx_u81ZQWCF3zxiNT-sz7DI) | [#otel-php](https://cloud-native.slack.com/archives/C01NFPCV44V) | [calendar-php](https://groups.google.com/a/opentelemetry.io/g/calendar-php) | [Severin Neumann](https://github.com/svrnm) | +| Python: SDK | Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1CIMGoIOZ-c3-igzbd6_Pnxx1SjAkjwqoYSUWxPY8XIs) | [#otel-python](https://cloud-native.slack.com/archives/C01PD4HUVBL) | [calendar-python](https://groups.google.com/a/opentelemetry.io/g/calendar-python) | [Daniel Gomez Blanco](https://github.com/danielgblanco) | +| Ruby: SDK | Tuesday at 09: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 | Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1tGKuCsSnyT2McDncVJrMgg74_z8V06riWZa0Sr79I_4) | [#otel-rust](https://cloud-native.slack.com/archives/C03GDP0H023) and [Gitter](https://gitter.im/open-telemetry/opentelemetry-rust) | [calendar-rust](https://groups.google.com/a/opentelemetry.io/g/calendar-rust) | [Ted Young](https://github.com/tedsuo) | +| Swift: SDK | 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) | +| eBPF | Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/13GK915hdDQ9sUYzUIWi4pOfJK68EE935ugutUgL3yOw) | [#otel-ebpf](https://cloud-native.slack.com/archives/C02AB15583A) | [calendar-ebpf](https://groups.google.com/a/opentelemetry.io/g/calendar-ebpf) | [Ted Young](https://github.com/tedsuo) | +| Kubernetes Operator | Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1Unbs2qp_j5kp8FfL_lRH-ld7i5EOQpsq0I4djkOOSL4) | [#otel-operator](https://cloud-native.slack.com/archives/C033BJ8BASU) | [calendar-k8s-operator](https://groups.google.com/a/opentelemetry.io/g/calendar-k8s-operator) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| Community Demo Application | Wednesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/16f-JOjKzLgWxULRxY8TmpM_FjlI1sthvKurnqFz9x98) | [#otel-community-demo](https://cloud-native.slack.com/archives/C03B4CWV4DA) | [calendar-demo-app](https://groups.google.com/a/opentelemetry.io/g/calendar-demo-app) | [Austin Parker](https://github.com/austinlparker) | ### Cross-Cutting SIGs | Name | Meeting Time | Meeting Notes | Slack Channel | Meeting Invites Group | [Governance Committee](./community-members.md#governance-committee) Liaison | |------|--------------|---------------|---------------|-----------------|--------------------------------| -| Maintainer Meeting | Every Monday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1_X2CTiDXmxk2JozBNwQ2uP8FfV1rxx9ISE5puHu0yIk) | [#otel-maintainers](https://cloud-native.slack.com/archives/C01NJ7V1KRC) | [calendar-maintainer-meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting) | [Morgan McLean](https://github.com/mtwo) | -| Communications (Website, [Documentation](https://opentelemetry.io/docs/), etc.) | Every other week on Monday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1wW0jLldwXN8Nptq2xmgETGbGn9eWP8fitvD5njM-xZY) | [#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) | [calendar-comms](https://groups.google.com/a/opentelemetry.io/g/calendar-comms) | [Severin Neumann](https://github.com/svrnm) | -| End-User SIG | Every other week on Thursday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1e-UNZA3Tuno9b53RQbe--whUcO0VIXF3P81oXsrBK6g) | [#otel-user-research](https://cloud-native.slack.com/archives/C01RT3MSWGZ) | [calendar-user-research](https://groups.google.com/a/opentelemetry.io/g/calendar-user-research) | [Daniel Gomez Blanco](https://github.com/danielgblanco) | -| Security | Bi-weekly on Wednesday at 14:00 UTC | [Google Doc](https://docs.google.com/document/d/1P2xejC7lEkOV_Z-8E0oZPXLK5HOnUPNuRqKP0ZQ5fpg) | [#otel-sig-security](https://cloud-native.slack.com/archives/C05A85QC281) | [calendar-sig-security](https://groups.google.com/a/opentelemetry.io/g/calendar-sig-security) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | -| Project Tooling and Infrastructure | Weekly on Wednesday at 08:00 AM PT | [Google Doc](https://docs.google.com/document/d/1_dTP2XIaZoFjNiipkeMaGJN10NrhS20FiBTTJoQJeVM) | [#otel-project-tooling](https://cloud-native.slack.com/archives/C07BPU981PV) | [calendar-project-tooling](https://groups.google.com/a/opentelemetry.io/g/calendar-project-tooling) | [Austin Parker](https://github.com/austinlparker) | -| Contributor Experience | Every Monday alternating between 9:00 and 17:00 UTC | [Google Doc](https://docs.google.com/document/d/1CTQI0p3QF8JP8reV8z_ggcs8KE5YVPpQGvAQknw4qP0) | [#otel-contributor-experience](https://cloud-native.slack.com/archives/C06TMJ2R0SK) | [calendar-contributor-experience](https://groups.google.com/a/opentelemetry.io/g/calendar-contributor-experience) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| Maintainer Meeting | Monday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1_X2CTiDXmxk2JozBNwQ2uP8FfV1rxx9ISE5puHu0yIk) | [#otel-maintainers](https://cloud-native.slack.com/archives/C01NJ7V1KRC) | [calendar-maintainer-meeting](https://groups.google.com/a/opentelemetry.io/g/calendar-maintainer-meeting) | [Morgan McLean](https://github.com/mtwo) | +| Communications (Website, [Documentation](https://opentelemetry.io/docs/), etc.) | Every other Monday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1wW0jLldwXN8Nptq2xmgETGbGn9eWP8fitvD5njM-xZY) | [#otel-comms](https://cloud-native.slack.com/archives/C02UN96HZH6) | [calendar-comms](https://groups.google.com/a/opentelemetry.io/g/calendar-comms) | [Severin Neumann](https://github.com/svrnm) | +| End-User SIG | Every other Thursday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1e-UNZA3Tuno9b53RQbe--whUcO0VIXF3P81oXsrBK6g) | [#otel-user-research](https://cloud-native.slack.com/archives/C01RT3MSWGZ) | [calendar-user-research](https://groups.google.com/a/opentelemetry.io/g/calendar-user-research) | [Daniel Gomez Blanco](https://github.com/danielgblanco) | +| Security | Every other Wednesday at 07:00 PT | [Google Doc](https://docs.google.com/document/d/1P2xejC7lEkOV_Z-8E0oZPXLK5HOnUPNuRqKP0ZQ5fpg) | [#otel-sig-security](https://cloud-native.slack.com/archives/C05A85QC281) | [calendar-sig-security](https://groups.google.com/a/opentelemetry.io/g/calendar-sig-security) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| Project Infrastructure | Wednesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1_dTP2XIaZoFjNiipkeMaGJN10NrhS20FiBTTJoQJeVM) | [#otel-project-infra](https://cloud-native.slack.com/archives/C07BPU981PV) | [calendar-project-infra](https://groups.google.com/a/opentelemetry.io/g/calendar-project-infra) | [Austin Parker](https://github.com/austinlparker) | +| Contributor Experience | Monday alternating between 10:00 PT and 17:00 UTC+8 | [Google Doc](https://docs.google.com/document/d/1CTQI0p3QF8JP8reV8z_ggcs8KE5YVPpQGvAQknw4qP0) | [#otel-contributor-experience](https://cloud-native.slack.com/archives/C06TMJ2R0SK) | [calendar-contributor-experience](https://groups.google.com/a/opentelemetry.io/g/calendar-contributor-experience) | [Juraci Paixão Kröhling](https://github.com/jpkrohling) | +| Developer Experience | Wednesday 11:00 PT and 17:00 UTC+8 | [Google Doc](https://docs.google.com/document/d/1QDZYAvGJbqgodJaTxRPmRZh-fEJjb6XstvPUst6h50w) | [#otel-devex](https://cloud-native.slack.com/archives/C01S42U83B2) | [calendar-developer-experience](https://groups.google.com/a/opentelemetry.io/g/calendar-developer-experience) | [Austin Parker](https://github.com/austinlparker) | ## Related groups diff --git a/assets.md b/assets.md index acb94a40d..b4b5ce90f 100644 --- a/assets.md +++ b/assets.md @@ -309,6 +309,16 @@ The OpenTelemetry Bot addresses two common issues: [Personal Access Token]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token +### Slack + +The slack user [`OpenTelemetry Admin`](https://cloud-native.slack.com/archives/D07EGBA9V6E) is community owned and can be +used for self-servicing slack (e.g. as Channel Manager to rename spaces). + +- Owners: [@open-telemetry/governance-committee](https://github.com/orgs/open-telemetry/teams/governance-committee) + (To login, go to , click Sign In With Google and login as . + Click `Cancel` when you are asked to open slack in the app, and wait for the link `use Slack in your browser` to be + available and use that.) + ## Security The SIG Security has access to the following tools, with GC and TC members welcome to request access to them as well. diff --git a/community-members.md b/community-members.md index d64b9ed3e..56204f9fc 100644 --- a/community-members.md +++ b/community-members.md @@ -46,7 +46,7 @@ Members of the Technical Committee are the maintainers of [Project specs](https://github.com/open-telemetry/opentelemetry-specification) and [Proto definitions](https://github.com/open-telemetry/opentelemetry-proto). -[Specification sponsors](./community-membership.md#specification-sponsor) are +[Specification sponsors](./guides/contributor/membership.md#specification-sponsor) are trusted collaborators of the Technical Committee on Project specs and related repositories: diff --git a/community-membership.md b/community-membership.md index bb7b2bafc..99fb82f54 100644 --- a/community-membership.md +++ b/community-membership.md @@ -1,371 +1,3 @@ -# Community membership +This document was moved here: -This doc outlines the various responsibilities of contributor roles in -OpenTelemetry. The OpenTelemetry project is subdivided into subprojects under -(predominantly, but not exclusively) language-focused SIGs (Special Interest -Group). Responsibilities for most roles are scoped to these subprojects (repos). - -The OpenTelemetry [Governance Committee][] owns this document and process until -delegated. They can be reached via e-mail . - -| **Role** | **Responsibilities** | **Requirements** | **Defined by** | -|-----------------------|-------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| -| member | active contributor in the community. reviewer of PRs | sponsored by 2 approvers or maintainers. multiple contributions to the project. | OpenTelemetry GitHub org member. | -| triager | assist with project management and backlog organization. | nominated by a maintainer. help with issues for one month. | CONTRIBUTING, CODEOWNERS, or the README. | -| approver | approve incoming contributions | highly experienced and active reviewer + contributor to a subproject | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) in GitHub | -| maintainer | set direction and priorities for a subproject | demonstrated responsibility and excellent technical judgement for the subproject | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners), GitHub Team and repo ownership in GitHub | -| emeritus | position of honor for former maintainers, approvers, and triagers | must have previously held a community role and not have been removed from that role for a [Code of Conduct](code-of-conduct.md) violation. | Listed as an emeritus maintainer/approver/triager in CONTRIBUTING, CODEOWNERS, or README | -| specification sponsor | trusted collaborators for the specification | nominated by [Technical Committee][] | Listed in [Community Members -> Specification and Protos](./community-members.md#specifications-and-proto) | - -## New contributors - -New contributors should be welcomed to the community by existing members, helped -with PR workflow, and directed to relevant documentation and communication -channels. - -## Established community members - -Established community members are expected to demonstrate their adherence to the -principles in this document, familiarity with project organization, roles, -policies, procedures, conventions, etc., and technical and/or writing ability. -Role-specific expectations, responsibilities, and requirements are enumerated -below. - -## Member - -Members are continuously active contributors in the community. They can have -issues and PRs assigned to them. Members are expected to participate in SIG or -SIGs and remain active contributors to the community. - -Members can vote in the [Governance Committee][] elections. - -Defined by: Member of the OpenTelemetry GitHub organization - -### Requirements - -- Enabled [two-factor - authentication](https://help.github.com/articles/about-two-factor-authentication) - on their GitHub account -- Have made multiple contributions to the project or community. Contributions - may include, but is not limited to: - - Authoring or reviewing PRs on GitHub - - Filing or commenting on issues on GitHub - - Organizing and running activities (e.g. events, surveys) within the OpenTelemetry community - - Contributing to SIGs, subprojects, or community discussions (e.g. meetings, - chat, email, and discussion forums) -- [Joined the Slack channel](https://cloud-native.slack.com/archives/CJFCJHG4Q) - - [Get an invite to join CNCF](https://slack.cncf.io/) -- Have read the [contributor - guide](https://github.com/open-telemetry/community/blob/main/CONTRIBUTING.md) -- Actively contributing to 1 or more subprojects. -- Sponsored by 2 approvers. Note the following requirements for sponsors: - - Sponsors must have close interactions with the prospective member - e.g. - code/design/proposal review, coordinating on issues, etc. - - Sponsors must be approvers or maintainers in at least 1 CODEOWNERS file - in any repo in the OpenTelemetry org. - - Sponsors must be from multiple member companies to demonstrate integration - across community. -- [Open an - issue](https://github.com/open-telemetry/community/issues/new?template=membership.md&title=REQUEST%3A%20New%20membership%20for%20%3Cyour-GH-handle%3E) - against the - [OpenTelemetry/community](https://github.com/open-telemetry/community) repo - - Ensure your sponsors are `@mentioned` on the issue - - Complete every item on the checklist ([preview the current version of the - template](https://github.com/open-telemetry/community/blob/main/.github/ISSUE_TEMPLATE/membership.md)) - - Make sure that the list of contributions included is representative of your - work on the project. -- Have your sponsoring reviewers reply confirmation of sponsorship: `I support` -- Once your sponsors have responded, your request will be reviewed by the - Technical Committee (TC). Any TC member can review the requirements and add - Members to the GitHub org. - -### Responsibilities and privileges - -- Responsive to issues and PRs assigned to them -- Active owner of code they have contributed (unless ownership is explicitly - transferred) - - Code is well tested - - Tests consistently pass - - Addresses bugs or issues discovered after code is accepted -- Can vote in the [Governance Committee][] elections (see [Members of Standing][]) -- Members can review and approve via the GitHub workflow. This review work is - not sufficient to merge a PR. There will still need to be a review by an - *approver*. -- Members can be assigned to issues and PRs, and people can ask members for - reviews with a `/cc @username`. - -Note: members who frequently contribute code are expected to proactively perform -code reviews and work towards becoming an *approver* for the subproject that -they are active in. Acceptance of code contributions requires at least one -approver in addition to the reviews by *members.* - -## Triager - -Triagers assist the maintainers and approvers with project management and -backlog organization. The specific workflows and triage requirements depend on -the project, and are set by the project maintainers. - -Defined by: [Triage permissions](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#repository-access-for-each-permission-level), -with the names of the current Triagers committed to git, either in CONTRIBUTING, -CODEOWNERS, or the bottom of the README. - -Triagers may be code contributors, but writing code is not a requirement for -becoming a triager. Triagers are encouraged to be active participants in project -meetings, chat rooms, and other discussion forums. - -### Requirements - -- Nominated by a maintainer, with no objections from other maintainers. -- Consistently interact with the community and help with issues for at least 1 month. - -### Responsibilities and privileges - -- Have an understanding of the goals and workflows defined by the maintainers. -- Respond to new PRs and Issues by asking clarifying questions. -- Organize the backlog by applying labels, milestones, assignees, and projects. - -## Approver - -Code approvers are able to both review and approve code contributions, as well -as help maintainers triage issues and do project management. - -While code review is focused on code quality and correctness, approval is -focused on holistic acceptance of a contribution including: backwards/forwards -compatibility, adhering to API and flag conventions, subtle performance and -correctness issues, interactions with other parts of the system, etc. - -Defined by: [CODEOWNERS -workflow](https://help.github.com/en/articles/about-code-owners). - -Approver status can be scoped to a part of the codebase. For example, critical -core components may have higher bar for becoming an approver. - -### Requirements - -The following apply to the part of the codebase for which one would be an -approver in the `CODEOWNERS` files. - -- Reviewer of the codebase for at least 1 month -- Reviewer for or author of at least 10 substantial PRs to the codebase, - with the definition of substantial subject to the maintainer's discretion - (e.g. refactors/adds new functionality rather than one-line pulls). -- Nominated by a maintainer - - With no objections from other maintainers - - Done through PR to update the `CODEOWNERS`. - -### Responsibilities and privileges - -The following apply to the part of the codebase for which one would be an -approver in the `CODEOWNERS` files. - -- Approver status may be a precondition to accepting large code contributions -- Demonstrate sound technical judgement (may be asked to step down by a maintainer if they lose confidence of the maintainers) -- Responsible for project quality control via code reviews - - Focus on holistic acceptance of contribution such as dependencies with other - features, backwards / forwards compatibility, API and flag definitions, etc -- Responsible for technical quality control of the [documentation](http://docs.opentelemetry.io/), related to their project -- Expected to be responsive to review requests (inactivity for more than 1 month may result in suspension until active again) -- Mentor contributors and reviewers -- May approve code contributions for acceptance - -## Maintainer - -Note: This is a generalized high-level description of the role, and the -specifics of the maintainer role's responsibilities and related processes *MUST* -be defined for individual SIGs or subprojects. - -Maintainers are the technical authority for a subproject in the OpenTelemetry -project. They *MUST* have demonstrated both good judgement and responsibility -towards the health of that subproject. Maintainers *MUST* set technical -direction and make or approve design decisions for their subproject - either -directly or through delegation of these responsibilities. - -Defined by: GitHub organization ownership, permissions and entry in `CODEOWNERS` -files. - -### Requirements - -Unlike the roles outlined above, the maintainers of a subproject are typically -limited to a relatively small group of decision makers and updated as fits -the needs of the subproject. - -The following apply to the subproject for which one would be a maintainer. - -- Deep understanding of the technical goals and direction of the subproject -- Deep understanding of the technical domain (specifically the language) of the - subproject -- Sustained contributions to design and direction by doing all of: - - Authoring and reviewing proposals - - Initiating, contributing and resolving discussions (emails, GitHub issues, - meetings) - - Identifying subtle or complex issues in designs and implementation PRs -- Directly contributed to the subproject through implementation and / or review -- Aligning with the overall project goals, specifications and design principles - defined by Technical Committee (TC). Bringing general questions and requests - to the discussions as part of specifications project. -- Scheduling SIG meetings using the [OpenTelemetry Public - Calendar](./docs/how-to-handle-public-calendar.md). - -### Responsibilities and privileges - -The following apply to the subproject for which one would be a maintainer. - -- Make and approve technical design decisions for the subproject. -- Set technical direction and priorities for the subproject. -- Define milestones and releases. - - Decides on when PRs are merged to control the release scope. -- Mentor and guide approvers, reviewers, and contributors to the subproject. -- Escalate *reviewer*, *approver*, *maintainer* and other workflow concerns - (i.e. responsiveness, availability, and general contributor community health) - to the TC. -- Ensure continued health of subproject: - - Adequate test coverage to confidently release - - Tests are passing reliably (i.e. not flaky) and are fixed when they fail - - Up-to-date and accurate [documentation](http://docs.opentelemetry.io/) -- Ensure a healthy process for discussion and decision making is in place. -- Work with other maintainers to maintain the project's overall health and - success holistically. - -### Becoming a Maintainer - -Unless stated otherwise in a SIG charter ratified by the Technical Committee, -a new maintainer is elected by vote of the existing maintainers of the SIG. -The vote is officially started when a pull request to add a new maintainer -is opened, and ends when the pull request is merged. The pull request may be -merged when the following conditions are met: - -- The person being nominated has accepted the nomination by approving the pull request -- All maintainers have approved the pull request OR a majority of maintainers - have approved the pull request and no maintainer has objected by requesting - changes on the pull request. In the case that all maintainers have not given - approval, the pull request should stay open for a minimum of 5 days before merging. - -The nominee is considered a maintainer after the pull request is merged. - -#### Self-nomination is encouraged - -If you feel like you meet the requirements above and are willing to take on the -additional responsibilities and privileges of being a maintainer, it is -recommended that you approach an existing maintainer about sponsoring your bid -to become a maintainer. After you and your sponsor have discussed the role -and its additional requirements and responsibilities, they may approach the other -maintainers about a vote to confirm you as a new maintainer. If the maintainer -does not believe you are ready for the role, or the subproject is not in need -of additional maintainers, they may suggest an alternate role or growth areas -in order to improve your chances to become a maintainer in the future. - -### Resolving technical conflicts within a SIG - -From time to time, the Maintainers for a given OpenTelemetry SIG may be unable -to reach consensus on a technical issue. While it's healthy and appropriate to -make a sincere attempt to understand all points of view and consider the -tradeoffs, it's also healthy to occasionally "disagree and commit." - -Within OpenTelemetry, SIG Maintainers are chosen specifically *because* they -are domain experts, so we would like to keep as much of the decision-making -authority with the SIG Maintainers rather than immediately "escalating" to the -overall OpenTelemetry-wide Technical Committee. As such, this is -OpenTelemetry's process for resolving technical issues where Maintainers cannot -reach consensus: - -1. The SIG Maintainers should succinctly document the options under -consideration as a GitHub issue within the SIG's respective repo (note that it -is *not* required to document the complete framing and pros/cons – just the -actual go-forward options themselves). -2. Each SIG Maintainer must formally vote for their choice by commenting on -that issue. -3. The option receiving the most votes wins. -4. If the vote is a tie, the OpenTelemetry TC should be brought into the -discussion, and the TC itself gets a (single) tiebreaking vote. - -While inevitably these sorts of decisions will be disappointing for somebody, -it's incredibly important for the project to maintain velocity and recognize -that we are all coming to these sorts of technical issues with the best of -intentions and remain aligned about the overall goals of the OpenTelemetry -project. - -## Emeritus Maintainer/Approver/Triager - -For any healthy open source project, it is inevitable that contributors may move -on, step down, or otherwise reduce their role in the project for some period of -time. These people may have expertise in one or more area of the project, but no -longer have time to actively contribute or approve contributions. They are -encouraged to reflect this by adding themselves to the `emeritus` section of the -CONTRIBUTING, CODEOWNERS, or README of the subproject they are stepping away -from. GitHub usernames listed under the `emeritus` section should be removed -from the approvers list, and will no longer have any official responsibilities -with the project. When a contributor returns to being more active, they may be -promoted back to their previous position at the discretion of the current -maintainers following the process defined above. - -## Specification Sponsor - -Specification sponsors are trusted collaborators of the technical committee, and -work to review, approve, and sponsor [opentelemetry-specification][] issues and -PRs. - -Members are defined -in [Community Members -> Specification and Protos](./community-members.md#specifications-and-proto) -and are members of the `spec-sponsors` team (TODO: add link to github team when -available). Specification sponsors SHOULD list -their [areas of interest](./areas-of-interest.md). - -### Requirements - -Specification sponsors are trusted to drive specification work which can be -complex and highly impactful to downstream language SIGs and to the -OpenTelemetry project as a whole. Approvals from specification sponsors count -towards the approvals required to merge specification PRs. Therefore, there is a -high bar to becoming a specification sponsor. - -- Contributor to OpenTelemetry project for at least 1 year -- Has been the reviewer or author (through the sponsorship of another - specification sponsor) of at least 10 substantial PRs to specification or - related repositories -- Demonstrated sound technical judgement, and a deep understanding of the - specification and the OpenTelemetry project -- Nominated by technical committee member ( - see [becoming a specification sponsor](#becoming-a-specification-sponsor)) - -### Responsibilities and privileges - -- Review, respond to, and approve issues / PRs when tagged or when within areas - of interest. -- Sponsor issues, taking responsibility to be point on requirement gathering, - developing solutions and prototypes, writing PRs, and responding to / - incorporating PR feedback. This can be done by the sponsor themselves, or by - another collaborator who is sponsored. If sponsoring another collaborator, the - sponsor should work with them to ensure the work is consistent with existing - specification. -- Demonstrate sound technical judgement. -- Frequently attend the specification SIG meeting where issues and PRs are - synchronously discussed. - -Sponsors who are unable to fulfill their responsibilities (e.g. no longer have -time available to commit) are expected to be moved -to [emeritus](#emeritus-maintainerapprovertriager) sponsors. The TC may also -vote to move a sponsor to emeritus. - -### Becoming a Specification Sponsor - -Technical committee members nominate specification sponsors by opening a PR to -the community repo to add the nominee to the specification sponsor list. The -vote is officially started when a pull request is opened, and ends when the pull -request is merged. The pull request may be merged when the following conditions -are met: - -- The person being nominated has accepted the nomination by approving the pull - request. -- All TC members have approved the pull request or a majority of TC members have - approved the pull request and no other TC member has objected by requesting - changes on the pull request. In the case that all TC members have not given - approval, the pull request should stay open for a minimum of 5 days before - merging. - -The nominee is considered a specification sponsor after the pull request is -merged. The merger should update the `spec-sponsors` team with the new member. - -[Governance Committee]: ./governance-charter.md -[Technical Committee]: ./tech-committee-charter.md -[opentelemetry-specification]: https://github.com/open-telemetry/opentelemetry-specification -[Members of Standing]: ./governance-charter.md#members-of-standing +https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md diff --git a/docs/how-to-handle-public-calendar.md b/docs/how-to-handle-public-calendar.md index c134e5a9d..140ae0907 100644 --- a/docs/how-to-handle-public-calendar.md +++ b/docs/how-to-handle-public-calendar.md @@ -22,9 +22,11 @@ This way anyone who wants to receive up-to-date invites can join one of those gr (see [Inviting attendees](#inviting-attendees) below). ## Steps + To create or edit a meeting, you need to have access to the Public OpenTelemetry calendar (a shared Google calendar) and you must add a Zoom meeting link. ### Gaining Calendar Permissions + All SIG maintainers can get access to edit the public OpenTelemetry calendar by submitting a request to join the google group [calendar-edit-permission@opentelemetry.io](https://groups.google.com/a/opentelemetry.io/g/calendar-edit-permission). @@ -35,12 +37,15 @@ Please keep the membership of this group up to date and accurate. ### Create the meeting -:warning: The meeting must initially be created by the admin@opentelemetry.io account, +:warning: The meeting must initially be created by the account, otherwise synchronization to external calendars via the `calendar-*@opentelemetry.io` groups may not work. The following details need to be set properly: + - Title -- Timeslot (make sure to use the correct time zone - Pacific Time - as the dates for switching DST differs between countries) +- Timeslot, with the right timezone set: + - All meeting hours between 2pm and 1am UTC are in Pacific Time (PT), with Daylight Saving Time. + - All meeting hours between 2am and 1pm UTC in UTC+8, without Daylight Saving Time. - Recurrence pattern (usually weekly or bi-weekly) - Location (see below for the Zoom links) - Description @@ -55,6 +60,7 @@ The following details need to be set properly: - See guest list: yes ### Adding a Zoom link to a meeting + Open an issue in the community repository, requesting a new Zoom link. By requesting a new Zoom link that is only associated with a single meeting series, the meeting recordings can be associated with a meeting name. @@ -64,6 +70,7 @@ You can see which Zoom account any potentially conflicting meetings are using in (Note: posting the URLs publicly on GitHub leads to Zoom bombing by random bots). #### Zoom link generation process + _This is the process that the person responding to Zoom link creation issues will follow. The instructions under this heading are for project admins (Governance Committee members) who have access to OpenTelemetry's Zoom account credentials._ 1. View the OpenTelemetry meeting calendar, and find your desired time slot, along with the meetings that occur immediately before, during, and after it. @@ -73,22 +80,25 @@ _This is the process that the person responding to Zoom link creation issues wil 5. Copy the newly generated unique Zoom link and paste it into the calendar event's description and location. ### Inviting attendees + All meetings should invite a publicly joinable google group `calendar-...@opentelemetry.io` which is specific to the meeting series. The google group should be set up as follows: -* Who can search for group: Anyone on the web -* Who can join group: Anyone can join -* Who can view conversations: Group members -* Who can post: Group members -* Who can view members: Group managers +- Who can search for group: Anyone on the web +- Who can join group: Anyone can join +- Who can view conversations: Group members +- Who can post: Group members +- Who can view members: Group managers This allows anyone to subscribe to this specific meeting series by joining that google group. Please open a community issue to request the creation of a `calendar-...@opentelemetry.io` google group. ### Update the meetings overview + All recurring meetings are listed in the [Community repo's README](../README.md#special-interest-groups), make sure to add/update the respective entry there. ## Zoom bombing prevention + All meetings are created by Zoom with randomized passcodes, which are embedded into the shared calendar links. -All members of opentelemetry-calendar-contributors@googlegroups.com have access to [this document](https://docs.google.com/document/d/1gt9ctxKGPrM_XTINqLgkSxYypdrczHkt2znjwgBU4UU/edit#) +All members of have access to [this document](https://docs.google.com/document/d/1gt9ctxKGPrM_XTINqLgkSxYypdrczHkt2znjwgBU4UU/edit#) listing the host keys for our meetings and explaining how to deal with inappropriate behavior in Zoom. diff --git a/docs/how-to-setup-new-slack-channel.md b/docs/how-to-setup-new-slack-channel.md new file mode 100644 index 000000000..8b360231f --- /dev/null +++ b/docs/how-to-setup-new-slack-channel.md @@ -0,0 +1,53 @@ +# How we setup new Slack channels + +## Naming + +Most channels have a name pattern like `#otel-*`. We recommend that pattern +for consistency. + +## Channel Settings + +The following channel settings help users to understand what a channel is +for and how to quickly access common resources. + +### Topic + +Describe in a few words what the purpose of this channel is. Assume that end users might not be aware that +`#otel-foo` is the channel of the OpenTelemetry Foo SIG, or what this SIG is doing. A few examples: + +- `Discussion of the Java implementation of OpenTelemetry, including the javaagent and instrumentation` +- `Discussion of the OpenTelemetry specification` +- `OpenTelemetry semantic conventions in the security domain` +- `OpenTelemetry Contributor Experience SIG: Improving the experience for those who contribute to OpenTelemetry` + +### Description + +If the topic field does not provide enough space to write out what your channel is about, you can provide +a more detailed description, otherwise leave it empty. + +### Channel Manager + +Make sure that all maintainers of your SIG are set as [Channel Managers](https://slack.com/help/articles/8328303095443-Understand-Channel-Managers-in-Slack). +The person who creates the channel, will be a Channel Manager by default and can invite the maintainers. + +Do also make the [`OpenTelemetry Admin`](https://cloud-native.slack.com/archives/D07EGBA9V6E) user a Channel Manager. +[The Governance Committee manages this shared account](../assets.md#slack). + +### Bookmarks + +If the channel is for a specific SIG add bookmarks for the following resources: + +- Meeting Notes (Google Docs, `https://docs.google.com/document/d/`) +- Project Board (GitHub, `https://github.com/orgs/open-telemetry/projects/`) +- Get Meeting Invites (Google group for calendar invites, `https://groups.google.com/a/opentelemetry.io/g/calendar-`) +- Issue Tracker (GitHub, `https://github.com/open-telemetry//issues`) + +Feel free to add any other link you think is helpful for users to interact with +your SIG, or links that help your triagers, approvers and maintainers for quick access. + +### Workflows + +You can add workflows to your channel, e.g. + +- A reminder for an upcoming SIG meeting +- A welcome message to new users diff --git a/elections/2021/governance-committee-candidates.md b/elections/2021/governance-committee-candidates.md index 4c1156b57..419fe005c 100644 --- a/elections/2021/governance-committee-candidates.md +++ b/elections/2021/governance-committee-candidates.md @@ -198,7 +198,7 @@ Ilan Rabinovitch leads the community and product teams at Datadog. He spends his - Github: [punya](https://github.com/punya) -I’ve participated in the OpenTelemetry community for the past year, especially the Go and Collector SIGs. In addition to writing code, I help clarify contentious designs and onboard new contributors. As a [triager](../../community-membership.md#triager) for the collector repository, I help our busy maintainers and contributors to use their time efficiently. +I’ve participated in the OpenTelemetry community for the past year, especially the Go and Collector SIGs. In addition to writing code, I help clarify contentious designs and onboard new contributors. As a [triager](../../guides/contributor/membership.md#triager) for the collector repository, I help our busy maintainers and contributors to use their time efficiently. Before getting involved in telemetry, I led teams at small-to-midsize companies that were shipping products and figuring out observability for the first time. I’d like to use the perspective I gained from that experience to advocate for simple designs that are easy for newcomers and small teams to adopt. diff --git a/guides/README.md b/guides/README.md new file mode 100644 index 000000000..13b18b381 --- /dev/null +++ b/guides/README.md @@ -0,0 +1,10 @@ +# OpenTelemetry Guidebooks + +This directory contains a collection of guides meant for contributors, +maintainers, and community members. These guides are meant to help you get +started, answer common questions, and provide best practices for being a part of +the OpenTelemetry community. These should be considered a living resource, and +everyone is welcome to contribute to them! + +- [Contributor Guide](./contributor/README.md) +- [Maintainer Guide](./maintainer/README.md) \ No newline at end of file diff --git a/guides/contributor/CLA.md b/guides/contributor/CLA.md new file mode 100644 index 000000000..599a6d8ad --- /dev/null +++ b/guides/contributor/CLA.md @@ -0,0 +1,88 @@ +# The Contributor License Agreement + +The [Cloud Native Computing Foundation](https://www.cncf.io) (CNCF) defines +the legal status of the contributed code in two different types of _Contributor License Agreements_ +(CLAs), [individual contributors](https://github.com/cncf/cla/blob/main/individual-cla.pdf) and [corporations](https://github.com/cncf/cla/blob/main/corporate-cla.pdf). + +OpenTelemetry can only accept original source code from CLA signatories. + +It is important to read and understand this legal agreement. + +## How do I sign? + +After creating your first Pull Request, the linux-foundation-easycla bot will respond with information regarding your CLA status along with a link to sign the CLA. + +EasyCLA bot + +#### 1. If you are signing up as a corporate contributor, ensure that you have linked your corporate email address to your GitHub profile (it doesn't have to be your primary email address for GitHub) or else it can lead to issues with the CLA system. + +For more information, please see [Adding an email address to your GitHub account](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account). + +#### 2. Authorize EasyCLA to read some of your GitHub information + +GitHub EasyCLA Authorization + +- Click on the **Please click here to be authorized** link to navigate to the GitHub Authorize Linux Foundation: EasyCLA page. +- Then click **Authorize LF-Engineering** to give the Linux Foundation read-only access to list the email addresses associated with your GitHub account. + +#### 3. Select from the two types of contributor + +EasyCLA + + +After authorizing EasyCLA, you will be redirected to a page to identify which type of contributor you are. +Select the most appropriate option: + * Individual Contributor: You are contributing as yourself, and not as part of another organization. + * Corporate Contributor: You are contributing on behalf of your employer or other organization. + +#### 4. Sign the CLA + +Once you select the type of contributor, proceed to Sign the CLA and follow the instructions to complete the signing process through DocuSign. + +After you have filled out the information, Click "Finish" and you will be redirected back to your Pull Request. + +#### 5. Look for an email indicating successful signup. + +> Hello, +> +> This is a notification email from EasyCLA regarding the project Cloud Native Computing > Foundation (CNCF). +> +> The CLA has now been signed. You can download the signed CLA as a PDF here. +> +> If you need help or have questions about EasyCLA, you can read the documentation or reach out to us for support. +> +> Thanks, +> EasyCLA Support Team + + + +#### 6. Validate your CLA + +Once you are redirected back to your GitHub Pull Request, reply with a comment `/easycla` to update the CLA status of your PR, +if the bot hasn't picked up the change automatically yet. + + +## Changing your Affiliation + +If you've changed employers and still contribute to OpenTelemetry, your affiliation +needs to be updated. The Cloud Native Computing Foundation uses [gitdm](https://github.com/cncf/gitdm) +to track who is contributing and from where. Create a pull request on the [gitdm](https://github.com/cncf/gitdm) +repository with a change to the corresponding developer affiliation text file. +Your entry should look similar to this: + +``` +Jorge O. Castro*: jorge!heptio.com, jorge!ubuntu.com, jorge.castro!gmail.com +Heptio +Canonical until 2017-03-31 +``` + +In addition, be sure to update your affiliation on [OpenProfile](https://openprofile.dev). + +## Troubleshooting + +If you encounter any problems signing the CLA and need further assistance, log a ticket by clicking on the link 'please submit a support request ticket' from the EasyCLA bot's response. Someone from the CNCF will respond to your ticket to help. + +Should you have any issues using the LF Support Site, send a message to the +backup email support address + +[Linux Foundation Support Site]: https://support.linuxfoundation.org/ \ No newline at end of file diff --git a/guides/contributor/README.md b/guides/contributor/README.md new file mode 100644 index 000000000..60719199c --- /dev/null +++ b/guides/contributor/README.md @@ -0,0 +1,67 @@ +# OpenTelemetry New Contributor Guide + +Welcome to OpenTelemetry! We're excited for you to join us. This guide will help +you get started by providing an overview of the project, how we work together, +and where to find helpful resources. + +## Table of Contents + +- [What is OpenTelemetry?](#what-is-opentelemetry) +- [Prerequisites](#prerequisites) + +## What is OpenTelemetry? + +OpenTelemetry is a framework for application telemetry data. If you've ever +checked how much memory a process is using on your computer, or looked at the +size of a file, you've already interacted with telemetry! Cloud native systems +create, emit, and process many millions of telemetry points every second as they +run. In addition, the developers of cloud native software need to describe what +their applications are doing in production in order to find bugs, optimize their +system performance, and understand their applications. OpenTelemetry provides a +single standard for creating and collecting this telemetry, transforming it as +needed, and exporting it to dozens of analysis tools. + +## Prerequisites + +Before you submit code to OpenTelemetry, you'll need to have a few things set +up: + +### Create a GitHub account + +Before getting started, you'll need to [sign up](http://github.com/signup) for a +GitHub account. + +### Sign the CLA + +Before we can accept your code, you'll need to sign the [Contributor License +Agreement](./CLA.md). This is a one-time process. + +### Code of Conduct + +Please make sure to read and follow our [Code of Conduct](../../code-of-conduct.md). + +### Making a contribution + +Please see [contribution processes](./processes.md) for more information on how +to make a contribution to an OpenTelemetry repository. + +### Community Expectations and Roles + +OpenTelemetry is a community-driven project. We welcome contributions from all +interested parties, regardless of affiliation. Our success is dependent on the +community to provide a professional, productive, friendly, and collaborative +environment. + +- Review the [Mission, Vision, and Values](../../mission-vision-values.md) to + understand the goals of the project. +- Read the [Community Membership](./membership.md) to understand + the roles and responsibilities of the community. +- As you gain experience, we encourage you to move up the ladder from member to + triager, approver, and maintainer! + +## Next Steps + +Now that you've read through this guide, you're ready to start contributing to +the project. + + \ No newline at end of file diff --git a/guides/contributor/donations.md b/guides/contributor/donations.md new file mode 100644 index 000000000..f0b656160 --- /dev/null +++ b/guides/contributor/donations.md @@ -0,0 +1,60 @@ +# Donations + +Donations of preexisting code fall into two broad categories: + +* **Small donations:** Some donations only amount to a single PR and should + usually just be contributed as such +* **Large or complex donations:** Other donations are much larger, require + ongoing maintenance of their own, and/or introduce nuanced licensing issues + +Large donations – or small donations that turn up complex issues during PR +review – should be referred to the Technical Committee (TC) by filing an issue +in this `community` repository and tagging +`@open-telemetry/technical-committee`. The TC will respond to donation +proposals **within two weeks** (that is, after having time to meet and discuss +live). If the TC has not responded to the donation request within that +interval, the donating party can and should point to this document and request +guidance at the TC's earliest convenience. + +All donated code requires a license compatible with the Apache Software License +2.0, and donated code will require a change of copyright to reflect the +OpenTelemetry Authors. The Governance Committee (GC) will also ask to review any +trademarks (like the names of components) the donation can carry and make a +decision to either remove those trademarks or transfer them to the CNCF. + +## Donation process + +Broadly, these are the steps the OpenTelemetry Governance and Technical +Committees follow to handle a prospective donation. + +1. Per the above, the donating organization creates a GitHub issue using + the "Donation Proposal" form in the `community` repository. +2. The GC will evaluate the proposal to ensure that + the donation is aligned with the overall OpenTelemetry project vision + and roadmap and has a balanced set of interested contributors and maintainers. + The GC is also responsible for driving awareness in the community about + the contribution and making sure all interested parties have a chance to + object and/or contribute. The GC should work with any appropriate Special Interest + Groups or Working Groups to evaluate the donation proposal, consider alternatives, + and ensure OpenTelemetry has the resources required to support the donation. When + considering alternatives, the GC should consider at least the CNCF ecosystem, + and may also consider other well-known open source projects or alternatives proposed + by the community. +3. If a donation proposal passes the initial GC screening, the TC + will conduct due diligence to determine if the proposed donation can be effectively + integrated into the OpenTelemetry project in a way that meets the quality, security, + and privacy standards of the project without violating stable specification or OpenTelemetry Enhancement Proposals (OTEPs). + The TC will summarize their findings, and make a recommendation to either + accept or reject the proposal, conditionally or unconditionally, in a report which will + be attached to the donation proposal issue. Writing the report may require meeting + and discussing alternative technologies with different vendors in the community and + can be a lengthy process. The TC member driving the report will post updates and time + estimates to the issue. +4. The GC will consider the report and make a final decision about the donation, + and document that decision on the donation proposal issue. +5. If accepted, the contributing organization – particularly if it's a + commercial entity – must formally acknowledge via the GitHub issue that its + respective sales and marketing departments have received, understood, and + accepted the terms of the [OpenTelemetry marketing guidelines](https://github.com/open-telemetry/community/blob/main/marketing-guidelines.md). +6. Given all of the above, the GitHub issue is closed and the donation moves + forward as agreed to by the TC and GC. \ No newline at end of file diff --git a/guides/contributor/membership.md b/guides/contributor/membership.md new file mode 100644 index 000000000..71f9912ed --- /dev/null +++ b/guides/contributor/membership.md @@ -0,0 +1,343 @@ +# Membership, Roles, and Responsibilities + +OpenTelemetry is a project by, and for, its community. This document outlines +the various roles and responsibilities of members, as well as the requirements +for achieving each role. We encourage you to consider becoming a long-term +contributor to the project, and moving up the ladder from member, all the way to +maintainer! + +## Membership Levels + +| **Role** | **Responsibilities** | **Requirements** | **Defined by** | +|-----------------------|-------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| +| member | active contributor in the community. reviewer of PRs | sponsored by 2 approvers or maintainers. multiple contributions to the project. | OpenTelemetry GitHub org member. | +| triager | assist with project management and backlog organization. | nominated by a maintainer. help with issues for one month. | CONTRIBUTING, CODEOWNERS, or the README. | +| approver | approve incoming contributions | highly experienced and active reviewer + contributor to a subproject | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) in GitHub | +| maintainer | set direction and priorities for a subproject | demonstrated responsibility and excellent technical judgement for the subproject | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners), GitHub Team and repo ownership in GitHub | +| emeritus | position of honor for former maintainers, approvers, and triagers | must have previously held a community role and not have been removed from that role for a [Code of Conduct](code-of-conduct.md) violation. | Listed as an emeritus maintainer/approver/triager in CONTRIBUTING, CODEOWNERS, or README | +| specification sponsor | trusted collaborators for the specification | nominated by [Technical Committee][] | Listed in [Community Members -> Specification and Protos](./community-members.md#specifications-and-proto) | + +## New contributors + +If you're a new contributor reading this guide -- welcome! We're excited you're +here. New contributors should be welcomed and encouraged to participate in the +project. Remember, contributions aren't limited to writing code, either -- +reporting bugs, writing documentation, working on the website, or being a part +of our community management are all valuable. + +## Established contributors + +Established community members are expected to demonstrate their adherence to the +principles in this document, familiarity with project organization, roles, +policies, procedures, conventions, etc., and technical and/or writing ability. +Role-specific expectations, responsibilities, and requirements are enumerated +below. + +## Member + +Members are continuously active contributors in the community. They can have +issues and PRs assigned to them. Members are expected to participate in SIG or +SIGs and remain active contributors to the community. + +Members can vote in the [Governance Committee][] elections. + +Defined by: Member of the OpenTelemetry GitHub organization + +### Requirements + +- Enabled [two-factor + authentication](https://help.github.com/articles/about-two-factor-authentication) + on their GitHub account +- Have made multiple contributions to the project or community. Contributions + may include, but is not limited to: + - Authoring or reviewing PRs on GitHub + - Filing or commenting on issues on GitHub + - Organizing and running activities (e.g. events, surveys) within the OpenTelemetry community + - Contributing to SIGs, subprojects, or community discussions (e.g. meetings, + chat, email, and discussion forums) +- [Joined the Slack channel](https://cloud-native.slack.com/archives/CJFCJHG4Q) + - [Get an invite to join CNCF](https://slack.cncf.io/) +- Have read the [contributor + guide](https://github.com/open-telemetry/community/blob/main/CONTRIBUTING.md) +- Actively contributing to 1 or more subprojects. +- Sponsored by 2 approvers. Note the following requirements for sponsors: + - Sponsors must have close interactions with the prospective member - e.g. + code/design/proposal review, coordinating on issues, etc. + - Sponsors must be approvers or maintainers in at least 1 CODEOWNERS file + in any repo in the OpenTelemetry org. + - Sponsors must be from multiple member companies to demonstrate integration + across community. +- [Open an + issue](https://github.com/open-telemetry/community/issues/new?template=membership.md&title=REQUEST%3A%20New%20membership%20for%20%3Cyour-GH-handle%3E) + against the + [OpenTelemetry/community](https://github.com/open-telemetry/community) repo + - Ensure your sponsors are `@mentioned` on the issue + - Complete every item on the checklist ([preview the current version of the + template](https://github.com/open-telemetry/community/blob/main/.github/ISSUE_TEMPLATE/membership.md)) + - Make sure that the list of contributions included is representative of your + work on the project. +- Have your sponsoring reviewers reply confirmation of sponsorship: `I support` +- Once your sponsors have responded, your request will be reviewed by the + Technical Committee (TC). Any TC member can review the requirements and add + Members to the GitHub org. + +### Responsibilities and privileges + +- Responsive to issues and PRs assigned to them +- Active owner of code they have contributed (unless ownership is explicitly + transferred) + - Code is well tested + - Tests consistently pass + - Addresses bugs or issues discovered after code is accepted +- Can vote in the [Governance Committee][] elections (see [Members of Standing][]) +- Members can review and approve via the GitHub workflow. This review work is + not sufficient to merge a PR. There will still need to be a review by an + *approver*. +- Members can be assigned to issues and PRs, and people can ask members for + reviews with a `/cc @username`. + +Note: members who frequently contribute code are expected to proactively perform +code reviews and work towards becoming an *approver* for the subproject that +they are active in. Acceptance of code contributions requires at least one +approver in addition to the reviews by *members.* + +## Triager + +Triagers assist the maintainers and approvers with project management and +backlog organization. The specific workflows and triage requirements depend on +the project, and are set by the project maintainers. + +Defined by: [Triage permissions](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#repository-access-for-each-permission-level), +with the names of the current Triagers committed to git, either in CONTRIBUTING, +CODEOWNERS, or the bottom of the README. + +Triagers may be code contributors, but writing code is not a requirement for +becoming a triager. Triagers are encouraged to be active participants in project +meetings, chat rooms, and other discussion forums. + +### Requirements + +- Nominated by a maintainer, with no objections from other maintainers. +- Consistently interact with the community and help with issues for at least 1 month. + +### Responsibilities and privileges + +- Have an understanding of the goals and workflows defined by the maintainers. +- Respond to new PRs and Issues by asking clarifying questions. +- Organize the backlog by applying labels, milestones, assignees, and projects. + +## Approver + +Code approvers are able to both review and approve code contributions, as well +as help maintainers triage issues and do project management. + +While code review is focused on code quality and correctness, approval is +focused on holistic acceptance of a contribution including: backwards/forwards +compatibility, adhering to API and flag conventions, subtle performance and +correctness issues, interactions with other parts of the system, etc. + +Defined by: [CODEOWNERS +workflow](https://help.github.com/en/articles/about-code-owners). + +Approver status can be scoped to a part of the codebase. For example, critical +core components may have higher bar for becoming an approver. + +### Requirements + +The following apply to the part of the codebase for which one would be an +approver in the `CODEOWNERS` files. + +- Reviewer of the codebase for at least 1 month +- Reviewer for or author of at least 10 substantial PRs to the codebase, + with the definition of substantial subject to the maintainer's discretion + (e.g. refactors/adds new functionality rather than one-line pulls). +- Nominated by a maintainer + - With no objections from other maintainers + - Done through PR to update the `CODEOWNERS`. + +### Responsibilities and privileges + +The following apply to the part of the codebase for which one would be an +approver in the `CODEOWNERS` files. + +- Approver status may be a precondition to accepting large code contributions +- Demonstrate sound technical judgement (may be asked to step down by a maintainer if they lose confidence of the maintainers) +- Responsible for project quality control via code reviews + - Focus on holistic acceptance of contribution such as dependencies with other + features, backwards / forwards compatibility, API and flag definitions, etc +- Responsible for technical quality control of the [documentation](http://docs.opentelemetry.io/), related to their project +- Expected to be responsive to review requests (inactivity for more than 1 month may result in suspension until active again) +- Mentor contributors and reviewers +- May approve code contributions for acceptance + +## Maintainer + +Note: This is a generalized high-level description of the role, and the +specifics of the maintainer role's responsibilities and related processes *MUST* +be defined for individual SIGs or subprojects. + +Maintainers are the technical authority for a subproject in the OpenTelemetry +project. They *MUST* have demonstrated both good judgement and responsibility +towards the health of that subproject. Maintainers *MUST* set technical +direction and make or approve design decisions for their subproject - either +directly or through delegation of these responsibilities. + +Defined by: GitHub organization ownership, permissions and entry in `CODEOWNERS` +files. + +### Requirements + +Unlike the roles outlined above, the maintainers of a subproject are typically +limited to a relatively small group of decision makers and updated as fits +the needs of the subproject. + +The following apply to the subproject for which one would be a maintainer. + +- Deep understanding of the technical goals and direction of the subproject +- Deep understanding of the technical domain (specifically the language) of the + subproject +- Sustained contributions to design and direction by doing all of: + - Authoring and reviewing proposals + - Initiating, contributing and resolving discussions (emails, GitHub issues, + meetings) + - Identifying subtle or complex issues in designs and implementation PRs +- Directly contributed to the subproject through implementation and / or review +- Aligning with the overall project goals, specifications and design principles + defined by Technical Committee (TC). Bringing general questions and requests + to the discussions as part of specifications project. +- Scheduling SIG meetings using the [OpenTelemetry Public + Calendar](./docs/how-to-handle-public-calendar.md). + +### Responsibilities and privileges + +The following apply to the subproject for which one would be a maintainer. + +- Make and approve technical design decisions for the subproject. +- Set technical direction and priorities for the subproject. +- Define milestones and releases. + - Decides on when PRs are merged to control the release scope. +- Mentor and guide approvers, reviewers, and contributors to the subproject. +- Escalate *reviewer*, *approver*, *maintainer* and other workflow concerns + (i.e. responsiveness, availability, and general contributor community health) + to the TC. +- Ensure continued health of subproject: + - Adequate test coverage to confidently release + - Tests are passing reliably (i.e. not flaky) and are fixed when they fail + - Up-to-date and accurate [documentation](http://docs.opentelemetry.io/) +- Ensure a healthy process for discussion and decision making is in place. +- Work with other maintainers to maintain the project's overall health and + success holistically. + +### Becoming a Maintainer + +Unless stated otherwise in a SIG charter ratified by the Technical Committee, +a new maintainer is elected by vote of the existing maintainers of the SIG. +The vote is officially started when a pull request to add a new maintainer +is opened, and ends when the pull request is merged. The pull request may be +merged when the following conditions are met: + +- The person being nominated has accepted the nomination by approving the pull request +- All maintainers have approved the pull request OR a majority of maintainers + have approved the pull request and no maintainer has objected by requesting + changes on the pull request. In the case that all maintainers have not given + approval, the pull request should stay open for a minimum of 5 days before merging. + +The nominee is considered a maintainer after the pull request is merged. + +#### Self-nomination is encouraged + +If you feel like you meet the requirements above and are willing to take on the +additional responsibilities and privileges of being a maintainer, it is +recommended that you approach an existing maintainer about sponsoring your bid +to become a maintainer. After you and your sponsor have discussed the role +and its additional requirements and responsibilities, they may approach the other +maintainers about a vote to confirm you as a new maintainer. If the maintainer +does not believe you are ready for the role, or the subproject is not in need +of additional maintainers, they may suggest an alternate role or growth areas +in order to improve your chances to become a maintainer in the future. + +## Emeritus Maintainer/Approver/Triager + +For any healthy open source project, it is inevitable that contributors may move +on, step down, or otherwise reduce their role in the project for some period of +time. These people may have expertise in one or more area of the project, but no +longer have time to actively contribute or approve contributions. They are +encouraged to reflect this by adding themselves to the `emeritus` section of the +CONTRIBUTING, CODEOWNERS, or README of the subproject they are stepping away +from. GitHub usernames listed under the `emeritus` section should be removed +from the approvers list, and will no longer have any official responsibilities +with the project. When a contributor returns to being more active, they may be +promoted back to their previous position at the discretion of the current +maintainers following the process defined above. + +## Specification Sponsor + +Specification sponsors are trusted collaborators of the technical committee, and +work to review, approve, and sponsor [opentelemetry-specification][] issues and +PRs. + +Members are defined +in [Community Members -> Specification and Protos](./community-members.md#specifications-and-proto) +and are members of the `spec-sponsors` team (TODO: add link to github team when +available). Specification sponsors SHOULD list +their [areas of interest](./areas-of-interest.md). + +### Requirements + +Specification sponsors are trusted to drive specification work which can be +complex and highly impactful to downstream language SIGs and to the +OpenTelemetry project as a whole. Approvals from specification sponsors count +towards the approvals required to merge specification PRs. Therefore, there is a +high bar to becoming a specification sponsor. + +- Contributor to OpenTelemetry project for at least 1 year +- Has been the reviewer or author (through the sponsorship of another + specification sponsor) of at least 10 substantial PRs to specification or + related repositories +- Demonstrated sound technical judgement, and a deep understanding of the + specification and the OpenTelemetry project +- Nominated by technical committee member ( + see [becoming a specification sponsor](#becoming-a-specification-sponsor)) + +### Responsibilities and privileges + +- Review, respond to, and approve issues / PRs when tagged or when within areas + of interest. +- Sponsor issues, taking responsibility to be point on requirement gathering, + developing solutions and prototypes, writing PRs, and responding to / + incorporating PR feedback. This can be done by the sponsor themselves, or by + another collaborator who is sponsored. If sponsoring another collaborator, the + sponsor should work with them to ensure the work is consistent with existing + specification. +- Demonstrate sound technical judgement. +- Frequently attend the specification SIG meeting where issues and PRs are + synchronously discussed. + +Sponsors who are unable to fulfill their responsibilities (e.g. no longer have +time available to commit) are expected to be moved +to [emeritus](#emeritus-maintainerapprovertriager) sponsors. The TC may also +vote to move a sponsor to emeritus. + +### Becoming a Specification Sponsor + +Technical committee members nominate specification sponsors by opening a PR to +the community repo to add the nominee to the specification sponsor list. The +vote is officially started when a pull request is opened, and ends when the pull +request is merged. The pull request may be merged when the following conditions +are met: + +- The person being nominated has accepted the nomination by approving the pull + request. +- All TC members have approved the pull request or a majority of TC members have + approved the pull request and no other TC member has objected by requesting + changes on the pull request. In the case that all TC members have not given + approval, the pull request should stay open for a minimum of 5 days before + merging. + +The nominee is considered a specification sponsor after the pull request is +merged. The merger should update the `spec-sponsors` team with the new member. + +[Governance Committee]: ./governance-charter.md +[Technical Committee]: ./tech-committee-charter.md +[opentelemetry-specification]: https://github.com/open-telemetry/opentelemetry-specification +[Members of Standing]: ./governance-charter.md#members-of-standing diff --git a/CONTRIBUTING.md b/guides/contributor/processes.md similarity index 59% rename from CONTRIBUTING.md rename to guides/contributor/processes.md index de6d3e07e..44abcd34b 100644 --- a/CONTRIBUTING.md +++ b/guides/contributor/processes.md @@ -1,61 +1,33 @@ -# OpenTelemetry Contributor Guide - -Welcome to OpenTelemetry! This document is the single source of truth for how to -contribute to the code base. Feel free to browse the [open -issues](https://github.com/open-telemetry/community/issues?q=is%3Aissue+is%3Aopen+label%3Aarea%2Fcontributor-guide) -and file new ones, all feedback welcome! - -# Before you get started - -## Sign the CLA - -Before you can contribute, you will need to sign the [Contributor License -Agreement](https://docs.linuxfoundation.org/lfx/easycla/contributors). - -## Code attribution - -[License information](README.md#License) should be included in all source files where applicable. -Either full or short version of the header should be used as described at [apache.org](https://www.apache.org/foundation/license-faq.html#Apply-My-Software). -It is OK to exclude the year from the copyright notice. For the details on how to apply the copyright, -see the next section. - -## Copyright Notices - -OpenTelemetry follows [CNCF recommendations](https://github.com/cncf/foundation/blob/master/copyright-notices.md) -for copyright notices. We use "Copyright The OpenTelemetry Authors" notice form. - -According to CNCF recommendations if you are contributing third-party code -you will need to [retain the original copyright notice](https://github.com/cncf/foundation/blob/master/copyright-notices.md#dont-change-someone-elses-notice-without-their-permission). - -Any contributed third-party code must originally be Apache 2.0-Licensed or must -carry a permissive software license that is compatible when combining with -Apache 2.0 License. At this moment, BSD and MIT are the only -[OSI-approved licenses](https://opensource.org/licenses/alphabetical) known to be compatible. - -If you make substantial changes to the third-party code, _prepend_ the contributed -third party file with OpenTelemetry's copyright notice. - -If the contributed code is not third-party code and you are the author we -strongly encourage to avoid including your name in the notice and use the -generic "Copyright The OpenTelemetry Authors" notice. See rationale for this -recommendation [here](https://github.com/cncf/foundation/blob/master/copyright-notices.md#why-not-list-every-copyright-holder). - -## Code of Conduct - -Please make sure to read and observe our [Code of -Conduct](https://github.com/open-telemetry/community/blob/master/code-of-conduct.md). - -## Community Expectations and Roles - -OpenTelemetry is a community project. Consequently, it is wholly dependent on -its community to provide a productive, friendly, and collaborative environment. - -- See [Community - Membership](https://github.com/open-telemetry/community/blob/master/community-membership.md) - for a list the various responsibilities of contributor roles. You are - encouraged to move up this contributor ladder as you gain experience. - -# Your First Contribution +# Contribution Lifecycle and Processes + +OpenTelemetry is a big project, and can be overwhelming at first glance. This +guide aims to help you understand how to find things to work on, how to find +help, and how changes are merged and released. + +## Table of Contents + +- [Contribution Lifecycle and Processes](#contribution-lifecycle-and-processes) + - [Table of Contents](#table-of-contents) + - [Your First Contribution](#your-first-contribution) + - [Finding something to work on](#finding-something-to-work-on) + - [Find a good first topic](#find-a-good-first-topic) + - [Issue Assignment in Github](#issue-assignment-in-github) + - [Special Interest Groups (SIGs)](#special-interest-groups-sigs) + - [SIG structure](#sig-structure) + - [SIG-specific contributing guidelines](#sig-specific-contributing-guidelines) + - [File an Issue](#file-an-issue) + - [Workflows](#workflows) + - [Communication](#communication) + - [GitHub workflow](#github-workflow) + - [Open a Pull Request](#open-a-pull-request) + - [Code Review](#code-review) + - [Code attribution and licensing](#code-attribution-and-licensing) + - [Copyright Notices](#copyright-notices) + - [Specification Changes](#specification-changes) + - [Creating specification issues](#creating-specification-issues) + - [Issue lifecycle](#issue-lifecycle) + +## Your First Contribution Would you like to help make robust, modern telemetry a built-in feature of modern software? We will help you understand the organization of the project and @@ -69,7 +41,7 @@ Channel](https://cloud-native.slack.com/archives/CJFCJHG4Q) ([Get an invite to j questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/open-telemetry). -## Find something to work on +### Finding something to work on Help is always welcome! For example, documentation (like the text you are reading now) can always use improvement. There's always code that can be @@ -104,7 +76,7 @@ Unfortunately, due to GitHub limitations we can only assign issues to org members or repo collaborators. Instead, please state in a comment that you intend to work on this issue and it will be assumed to be yours. -### Learn about SIGs +## Special Interest Groups (SIGs) #### SIG structure @@ -137,7 +109,7 @@ Make sure to adhere to the repository specific policies or issue templates to provide detailed information that will help prompt answer and resolution of an issue. -### Contributing +## Workflows OpenTelemetry is open source, but many of the people working on it do so as their day job. In order to avoid forcing people to be "at work" effectively @@ -218,82 +190,54 @@ nuances: Note: if your pull request isn't getting enough attention, you can explicitly mention approvers or maintainers of this repository. -# Community - -If you haven't noticed by now, we have a large, lively, and friendly open-source -community. We depend on new people becoming members and regular code -contributors, so we would like you to come join us! The [Community Membership -Document](https://github.com/open-telemetry/community/blob/master/community-membership.md) -covers membership processes and roles. - -## Donations - -Donations of preexisting code fall into two broad categories: -* **Small donations:** Some donations only amount to a single PR and should - usually just be contributed as such -* **Large or complex donations:** Other donations are much larger, require - ongoing maintenance of their own, and/or introduce nuanced licensing issues - -Large donations – or small donations that turn up complex issues during PR -review – should be referred to the Technical Committee (TC) by filing an issue -in this `community` repository and tagging -`@open-telemetry/technical-committee`. The TC will respond to donation -proposals **within two weeks** (that is, after having time to meet and discuss -live). If the TC has not responded to the donation request within that -interval, the donating party can and should point to this document and request -guidance at the TC's earliest convenience. - -All donated code requires a license compatible with the Apache Software License -2.0, and donated code will require a change of copyright to reflect the -OpenTelemetry Authors. The Governance Committee will also ask to review any -trademarks (like the names of components) the donation can carry and make a -decision to either remove those trademarks or transfer them to the CNCF. - -### Donation process - -Broadly, these are the steps the OpenTelemetry Governance and Technical -Committees follow to handle a prospective donation. - -1. Per the above, the donating organization creates a GitHub issue using - the "Donation Proposal" form in the `community` repository. -2. The Governance Committee (GC) will evaluate the proposal to ensure that - the donation is aligned with the overall OpenTelemetry project vision - and roadmap and has a balanced set of interested contributors and maintainers. - The GC is also responsible for driving awareness in the community about - the contribution and making sure all interested parties have a chance to - object and/or contribute. The GC should work with any appropriate Special Interest - Groups or Working Groups to evaluate the donation proposal, consider alternatives, - and ensure OTel has the resources required to support the donation. When - considering alternatives, the GC should consider at least the CNCF ecosystem, - and may also consider other well-known open source projects or alternatives proposed - by the community. -3. If a donation proposal passes the initial GC screening, the Technical Committee (TC) - will conduct due diligence to determine if the proposed donation can be effectively - integrated into the OpenTelemetry project in a way that meets the quality, security, - and privacy standards of the project without violating stable specification or OTEPs. - The TC will summarize their findings, and make a recommendation to either, - conditionally or unconditionally, accept or reject the proposal, in a report which will - be attached to the donation proposal issue. Writing the report may require meeting - and discussing alternative technologies with different vendors in the community and - can be a lengthy process. The TC member driving the report will post updates and time - estimates to the issue. -4. The GC will consider the report and make a final decision about the donation, - and document that decision on the donation proposal issue. -5. If accepted, the contributing organization – particularly if it's a - commercial entity – must formally acknowledge via the GitHub issue that its - respective sales and marketing departments have received, understood, and - accepted the terms of the [OpenTelemetry marketing guidelines](https://github.com/open-telemetry/community/blob/main/marketing-guidelines.md). -6. Given all of the above, the GitHub issue is closed and the donation moves - forward as agreed to by the TC and GC. - -## Communication - -- [General - Information](https://github.com/open-telemetry/community#Communication) - -## Events - -OpenTelemetry participates in KubeCon + CloudNativeCon, held three times per -year in China, Europe and in North America. Information about these and other -community events is available on the CNCF [events](https://www.cncf.io/events/) -pages. +## Code attribution and licensing + +[License information](README.md#License) should be included in all source files where applicable. +Either full or short version of the header should be used as described at [apache.org](https://www.apache.org/foundation/license-faq.html#Apply-My-Software). +It is OK to exclude the year from the copyright notice. For the details on how to apply the copyright, +see the next section. + +### Copyright Notices + +OpenTelemetry follows [CNCF recommendations](https://github.com/cncf/foundation/blob/master/copyright-notices.md) +for copyright notices. We use "Copyright The OpenTelemetry Authors" notice form. + +According to CNCF recommendations if you are contributing third-party code +you will need to [retain the original copyright notice](https://github.com/cncf/foundation/blob/master/copyright-notices.md#dont-change-someone-elses-notice-without-their-permission). + +Any contributed third-party code must originally be Apache 2.0-Licensed or must +carry a permissive software license that is compatible when combining with +Apache 2.0 License. At this moment, BSD and MIT are the only +[OSI-approved licenses](https://opensource.org/licenses/alphabetical) known to be compatible. + +If you make substantial changes to the third-party code, _prepend_ the contributed +third party file with OpenTelemetry's copyright notice. + +If the contributed code is not third-party code and you are the author we +strongly encourage to avoid including your name in the notice and use the +generic "Copyright The OpenTelemetry Authors" notice. See rationale for this +recommendation +[here](https://github.com/cncf/foundation/blob/master/copyright-notices.md#why-not-list-every-copyright-holder). + +## Specification Changes + +OpenTelemetry is driven by its +[specification](https://github.com/open-telemetry/opentelemetry-specification) +and [semantic conventions](https://github.com/open-telemetry/semantic-conventions). +Making cross-cutting changes to the project will start in one of these two +places. This section details how an idea becomes a specification change. + +### Creating specification issues + +A specification issue can be big, or small. A good specification issue, though, +will be clear, concise, and scoped to a single, well-defined problem. Be sure to +include specific examples of the problem you're trying to solve by opening a +specification issue, along with any prior art or other relevant documentation. + +### Issue lifecycle + +Specification issues are regularly triaged by the Governance Committee (GC). The GC may accept, +decline, or defer the issue until more details are added. Once an issue is +accepted, it may need a sponsor from the TC who will be responsible for driving the +issue to completion. Some issues may be small enough that they do not need a +sponsor -- these issues can be worked on as soon as they are accepted. diff --git a/guides/maintainer/README.md b/guides/maintainer/README.md new file mode 100644 index 000000000..9b05a8e61 --- /dev/null +++ b/guides/maintainer/README.md @@ -0,0 +1,13 @@ +# Maintainers Guide + +Welcome! This guidebook is designed to collect and share best practices, +processes, and other information on being a maintainer of an OpenTelemetry +project. + +## Table of Contents + +TODO + +## What is a Maintainer? + +See [Maintainer](../contributor/membership.md) for more information. diff --git a/guides/maintainer/conflict-resolution.md b/guides/maintainer/conflict-resolution.md new file mode 100644 index 000000000..eb169e293 --- /dev/null +++ b/guides/maintainer/conflict-resolution.md @@ -0,0 +1,29 @@ +# Resolving technical conflicts within a SIG + +From time to time, the Maintainers for a given OpenTelemetry SIG may be unable +to reach consensus on a technical issue. While it's healthy and appropriate to +make a sincere attempt to understand all points of view and consider the +tradeoffs, it's also healthy to occasionally "disagree and commit." + +Within OpenTelemetry, SIG Maintainers are chosen specifically *because* they +are domain experts, so we would like to keep as much of the decision-making +authority with the SIG Maintainers rather than immediately "escalating" to the +overall OpenTelemetry-wide Technical Committee (TC). As such, this is +OpenTelemetry's process for resolving technical issues where Maintainers cannot +reach consensus: + +1. The SIG Maintainers should succinctly document the options under +consideration as a GitHub issue within the SIG's respective repo (note that it +is *not* required to document the complete framing and pros/cons – just the +actual go-forward options themselves). +2. Each SIG Maintainer must formally vote for their choice by commenting on +that issue. +3. The option receiving the most votes wins. +4. If the vote is a tie, the OpenTelemetry TC should be brought into the +discussion, and the TC itself gets a (single) tiebreaking vote. + +While inevitably these sorts of decisions will be disappointing for somebody, +it's incredibly important for the project to maintain velocity and recognize +that we are all coming to these sorts of technical issues with the best of +intentions and remain aligned about the overall goals of the OpenTelemetry +project. diff --git a/project-template.md b/project-template.md index 33d2f7566..3241533b8 100644 --- a/project-template.md +++ b/project-template.md @@ -41,7 +41,7 @@ Issues should be properly labeled to indicate what parts of the specification it Once approved, a project should be managed using a GitHub project board (see [open projects](https://github.com/orgs/open-telemetry/projects?query=is%3Aopen)). This project board should be pre-populated with issues that cover all known deliverables, organized by timeline milestones. -Any [member](https://github.com/open-telemetry/community/blob/main/community-membership.md) associated with the project can create the board. Once created, the creator of the board should: +Any [member](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md) associated with the project can create the board. Once created, the creator of the board should: - Assign `Admin` privileges on the project to the relevant project members (using a new or existing GitHub team). - Change the visibility of the project to `Public` in order to share project status and priorities outside of the OpenTelemetry organization. diff --git a/projects/ci-cd.md b/projects/ci-cd.md index 5ae1b3064..86c88e520 100644 --- a/projects/ci-cd.md +++ b/projects/ci-cd.md @@ -1,5 +1,7 @@ # CI/CD Observability Semantic Conventions Working Group +[**CI/CD Project Board**](https://github.com/orgs/open-telemetry/projects/79) + ## Description The goal of this working group is define the semantic conventions for CI/CD Observability and outline @@ -87,7 +89,7 @@ The following is a list of prototypes, plugins, components, and CI/CD related to All stages will require a project lead, domain experts, and engineers at a minimum. * @horovits Project Lead (Logz.io) -* @adrielp (Liatrio) +* @adrielp Project Lead (Liatrio) * @thisthat (Dynatrace, Keptn) * @acramsay (Liatrio) * @krzko (ANZ Bank) @@ -124,17 +126,33 @@ This group will start meeting independently in the future as the project progres Estimated time-frame: 6-12 Months -* Q1 Focus - * Kickoff - * Strategy - * Research and discovery - * OTEP Approval -* Q2 Focus - * Semantic Conventions - * Specifications - * Prototype Developments -* Q3 TBD -* Q4 TBD +### 2024 + +- [x] Q1 Focus + - [x] Kickoff + - [x] Strategy + - [x] Research and discovery + - [ ] OTEP Approval +- [x] Q2 Focus + - [x] Semantic Conventions + - [x] Specifications + - [ ] Prototype Developments +- [ ] Q3 TBD + - [ ] (cont) Semantic Conventions + - [ ] More Registry Additions + - [ ] Signal specific conventions + - [ ] (cont) Prototype Development + - [ ] OTEP Environment Variable Specification Approval +- [ ] Q4 TBD + - [ ] (cont) Semantic Conventions + - [ ] Registry Stability Updates + - [ ] (cont) Signal specific conventions + - [ ] Environment Variable Specification Updated and Released + - [ ] Determine next steps for 2025 + +### 2025 + +- [ ] TBD > Note: The working groups intent is to be nimble and able to adjust quickly. diff --git a/projects/contributor-experience.md b/projects/contributor-experience.md index a71a6185c..30d4f078b 100644 --- a/projects/contributor-experience.md +++ b/projects/contributor-experience.md @@ -97,12 +97,13 @@ GC/TC sponsors: Maintainers, approvers, and contributors: -* [@svrnm](https://github.com/svrnm) +* [@JamieDanielson](https://github.com/JamieDanielson) * [@jpkrohling](https://github.com/jpkrohling) +* [@maryliag](https://github.com/maryliag) +* [@musingvirtual](https://github.com/musingvirtual) * [@mx-psi](https://github.com/mx-psi) +* [@svrnm](https://github.com/svrnm) * [@theletterf](https://github.com/theletterf) -* [@musingvirtual](https://github.com/musingvirtual) -* [@JamieDanielson](https://github.com/JamieDanielson) ## Meeting Times diff --git a/projects/developer_experience.md b/projects/developer_experience.md index 9ddcb021d..ed1ae63d7 100644 --- a/projects/developer_experience.md +++ b/projects/developer_experience.md @@ -79,7 +79,7 @@ to the specification. ## Meeting Times -Weekly meetings TBA. +Wednesday 11:00 PT and 17:00 UTC+8 ## Timeline @@ -100,4 +100,4 @@ TBA ## Project Board -TBA +https://github.com/orgs/open-telemetry/projects/105 diff --git a/projects/llm-semconv.md b/projects/llm-semconv.md index 2a83c3e15..7346fcef0 100644 --- a/projects/llm-semconv.md +++ b/projects/llm-semconv.md @@ -59,7 +59,7 @@ who will benefit from these semantic conventions. Alternating weekly meetings to accommodate different time zones: - Week 1: Wednesdays at 10 AM PST -- Week 2: Wednesdays at 4 PM PST +- Week 2: Wednesdays at 11 PM PST ### Meeting Links diff --git a/projects/project-tooling.md b/projects/project-infrastructure.md similarity index 95% rename from projects/project-tooling.md rename to projects/project-infrastructure.md index 806b59547..fb8ea0554 100644 --- a/projects/project-tooling.md +++ b/projects/project-infrastructure.md @@ -59,4 +59,4 @@ This time will be determined based on the availability of interested parties. ## Project Board -- [Project Tooling SIG](https://github.com/orgs/open-telemetry/projects/91/views/1) +- [Project Infrastructure SIG](https://github.com/orgs/open-telemetry/projects/91/views/1) diff --git a/sigs.yml b/sigs.yml index ffeed85af..89839af49 100644 --- a/sigs.yml +++ b/sigs.yml @@ -1,7 +1,7 @@ - name: Specification SIGs sigs: - name: 'Specification: General' - meeting: Every Tuesday at 08:00 PT + meeting: Tuesday at 08:00 PT notes: type: gDoc value: 1pdvPeKjA8v8w_fGKAN68JjWBmVJtPCpqdi9IZrd6eEo @@ -13,7 +13,7 @@ sponsors: [] gcLiaison: [] - name: 'Specification: Sampling' - meeting: Every Thursday at 08:00 PT + meeting: Thursday at 08:00 PT notes: type: gDoc value: 1gASMhmxNt9qCa8czEMheGlUW2xpORiYoD7dBD7aNtbQ @@ -29,7 +29,7 @@ - name: 'Daniel Dyla' github: dyladan - name: 'Specification: Configuration' - meeting: Every other Monday at 8:00 PT + meeting: Every other Monday at 08:00 PT notes: type: gDoc value: 1uNgWQLQZcSVfBLRXfW9XCVJmKa5NH9R15fSOXhmpGWw @@ -47,7 +47,7 @@ - name: Trask Stalnaker github: trask - name: 'Specification: Events' - meeting: Every Friday at 10:00 AM PT + meeting: Friday at 10:00 PT notes: type: gDoc value: 1BKjQWP32FXL9g1cGbyj7DMXV1Uq_RL8_78rWaMBhN0A @@ -65,7 +65,7 @@ - name: Ted Young github: tedsuo - name: 'Semantic Conventions: General' - meeting: Every Monday at 08:00 PT + meeting: Monday at 08:00 PT notes: type: gDoc value: 10xG7DNKWRhxNmFGt3yYd3980a9uwS8lMl2LvQL3VNK8 @@ -85,7 +85,7 @@ - name: Trask Stalnaker github: trask - name: 'Semantic Conventions: Tooling' - meeting: Every Wednesday at 07:00 PT + meeting: Wednesday at 07:00 PT notes: type: gDoc value: 1ygwXgOFRF01UfUOgMr_ElyL7fSDPchTKSrqfj-_HeyA @@ -98,7 +98,7 @@ - name: Josh Suereth github: jsuereth - name: 'Semantic Conventions: Messaging' - meeting: Every Thursday at 8:00 PT + meeting: Thursday at 8:00 PT notes: type: gDoc value: 1dWHhyXnfVife-cQ2DW5-d5Ldp1Lq8Rre2UsHpyo8cEE @@ -116,7 +116,7 @@ - name: Trask Stalnaker github: trask - name: 'Semantic Conventions: Database' - meeting: Every Wednesday at 9:30 PT and Friday at 8:30 PT + meeting: Wednesday at 9:30 PT and Friday at 8:30 PT notes: type: gDoc value: 1zTi_Z4WBisytPnXTpwtnGOK-4Gv5oSTuMHvIQ8--5hg @@ -134,7 +134,7 @@ - name: Trask Stalnaker github: trask - name: 'Semantic Conventions: System Metrics' - meeting: Every Thursday at 07:30 PT + meeting: Thursday at 07:30 PT notes: type: gDoc value: 1p5TH57t43XpxA48onLzX4PIr3g6ydYKCtR_AUlsCnQk @@ -150,7 +150,7 @@ - name: Severin Neumann github: svrnm - name: 'Semantic Conventions: LLM' - meeting: Every Wednesday alternating between 10:00 and 16:00 PT + meeting: Alternating between every other Wednesday 10:00 PT and every other Thursday 14:00 UTC+8 notes: type: gDoc value: 1EKIeDgBGXQPGehUigIRLwAUpRGa7-1kXB736EaYuJ2M @@ -202,7 +202,7 @@ - name: Trask Stalnaker github: trask - name: 'Semantic Conventions: Feature Flags' - meeting: Every Second Monday at 7:30 PT + meeting: Every other Monday at 07:30 PT notes: type: gDoc value: 1x9hprUaUNlVCZMtFAqBcj6h50ukpT0hCAli7BzgWsTQ @@ -220,7 +220,7 @@ - name: Daniel Dyla github: dyladan - name: 'Specification: Entities' - meeting: Every other week on Thursday at 08:00 AM PT + meeting: Every other Thursday at 08:00 PT notes: type: gDoc value: 15Yt9ss2_EhuFPqItPbk4vjfpeRDAQ5WCUVuY_kCeOAo @@ -238,7 +238,7 @@ - name: 'Daniel Dyla' github: dyladan - name: Agent Management - meeting: Every other week on Tuesday at 11:00 PT + meeting: Every other Tuesday at 11:00 PT notes: type: gDoc value: 19WA5-ex8rNFIBIyVb5VqMXfWNmUQwppGhN8zBeNG0f4 @@ -254,7 +254,7 @@ - name: Ted Young github: tedsuo - name: Prometheus Interoperability - meeting: Every other week on Wednesday at 08:00 PT + meeting: Every other Wednesday at 08:00 PT notes: type: gDoc value: 19bnXziPn2MZ9wO6684UoI4D-LCjGL5bTJkGhux29bx8 @@ -268,7 +268,7 @@ - name: Alolita Sharma github: alolita - name: Functions as a Service (FAAS) - meeting: Every other Wednesday at 8:00 AM PT + meeting: Every other Wednesday at 8:00 PT notes: type: gDoc value: 187XYoQcXQ9JxS_5v2wvZ0NEysaJ02xoOYNXj08pT0zc @@ -282,7 +282,7 @@ - name: 'Austin Parker' github: austinlparker - name: Profiling - meeting: Every other week on Thursday at 08:00 AM PT + meeting: Every other Thursday at 08:00 PT notes: type: gDoc value: 19UqPPPlGE83N37MhS93uRlxsP1_wGxQ33Qv6CDHaEp0 @@ -300,7 +300,7 @@ - name: Morgan McLean github: mtwo - name: OpenTelemetry on Mainframes - meeting: Weekly on Tuesday at 10:00 AM PT + meeting: Tuesday at 10:00 PT notes: type: gDoc value: 14p-bpofozTL4n3jy6HZH_TKjoOXvog18G1HBRqq6liE @@ -320,7 +320,7 @@ - name: Morgan McLean github: mtwo - name: Client Instrumentation - meeting: Every Tuesday at 9:00 AM PT + meeting: Tuesday at 09:00 PT notes: type: gDoc value: 16Vsdh-DM72AfMg_FIt9yT9ExEWF4A_vRbQ3jRNBe09w @@ -336,7 +336,7 @@ - name: Implementation SIGs sigs: - name: 'Android: SDK + Automatic Instrumentation' - meeting: Every Tuesday at 08:00 PT + meeting: Tuesday at 08:00 PT notes: type: gDoc value: 1W72oElAJuYx3efM9wkH5l1iksdfwmTSkVl-H7KHTLnY @@ -350,7 +350,7 @@ - name: Trask Stalnaker github: trask - name: Collector - meeting: "Wednesdays, rotating between the following time slots: 00:00 UTC, 12:00 UTC, 16:00 UTC" + meeting: Wednesday alternating between 09:00 PT, 05:00 PT, 17:00 PT notes: type: gDoc value: 1r2JC5MB7GupCE7N32EwGEXs9V_YIsPgoFiLP4VWVMkE @@ -364,7 +364,7 @@ - name: 'Juraci Paixão Kröhling' github: jpkrohling - name: 'C++: SDK' - meeting: Every week alternating between Monday at 13:00 PT and Wednesday at 9:00 + meeting: Alternating between Monday at 13:00 PT and Wednesday at 09:00 PT PT notes: type: gDoc @@ -379,7 +379,7 @@ - name: 'Severin Neumann' github: svrnm - name: '.NET: Automatic Instrumentation' - meeting: Every Wednesday at 9:00 PT + meeting: Wednesday at 09:00 PT notes: type: gDoc value: 1dYdwRQVE3zu0vlp_lqGctNm0dCQUkDo2LfScUJzpuT8 @@ -393,7 +393,7 @@ - name: Morgan McLean github: mtwo - name: '.NET: SDK' - meeting: Every Tuesday alternating between 9:00 and 16:00 PT + meeting: Tuesday alternating between 09:00 PT and 16:00 PT notes: type: gDoc value: 1yjjD6aBcLxlRazYrawukDgrhZMObwHARJbB9glWdHj8 @@ -407,7 +407,7 @@ - name: Morgan McLean github: mtwo - name: 'Erlang/Elixir: SDK' - meeting: Every other Thursday at 9:00 PT + meeting: Every other Thursday at 09:00 PT notes: type: gDoc value: 1EbBiRjBc_cBf0T_B5OtNRPhbD4jdBrVYJAy8euCDrUI @@ -421,7 +421,7 @@ - name: 'Austin Parker' github: austinlparker - name: 'GoLang: SDK' - meeting: Every Thursday alternating between 9:00 and 10:00 PDT + meeting: Thursday alternating between 09:00 PT and 10:00 PT notes: type: gDoc value: 1E5e7Ld0NuU1iVvf-42tOBpu2VBBLYnh73GJuITGJTTU @@ -435,7 +435,7 @@ - name: Ted Young github: tedsuo - name: 'GoLang: Automatic Instrumentation' - meeting: Every other week on Tuesday at 9:30 PT + meeting: Every other Tuesday at 09:30 PT notes: type: gDoc value: 1P6am_r_cxCX1HcpDQlznrTrTOvwN2whshL0f58lXSWI @@ -449,7 +449,7 @@ - name: 'Juraci Paixão Kröhling' github: jpkrohling - name: 'Java: SDK + Automatic Instrumentation' - meeting: Every Thursday at 09:00 PT with an additional meeting every other Thu at 09:00 UTC+8 + meeting: Thursday at 09:00 PT, and every other Thursday at 09:00 UTC+8 notes: type: gDoc value: 1WK9h4p55p8ZjPkxO75-ApI9m0wfea6ENZmMoFRvXSCw @@ -463,7 +463,7 @@ - name: Trask Stalnaker github: trask - name: 'JavaScript: SDK' - meeting: Every Wednesday at 09:00 PT + meeting: Wednesday at 09:00 PT notes: type: gDoc value: 1tCyoQK49WVcE-x8oryZOTTToFm7sIeUhxFPm9g-qL1k @@ -480,7 +480,7 @@ - name: 'Daniel Dyla' github: dyladan - name: 'PHP: SDK' - meeting: Every Wednesday at 10:30 PT + meeting: Wednesday at 10:30 PT notes: type: gDoc value: 1WLDZGLY24rk5fRudjdQAcx_u81ZQWCF3zxiNT-sz7DI @@ -494,7 +494,7 @@ - name: 'Severin Neumann' github: svrnm - name: 'Python: SDK' - meeting: Every Thursday at 09:00 PT + meeting: Thursday at 09:00 PT notes: type: gDoc value: 1CIMGoIOZ-c3-igzbd6_Pnxx1SjAkjwqoYSUWxPY8XIs @@ -508,7 +508,7 @@ - name: Daniel Gomez Blanco github: danielgblanco - name: 'Ruby: SDK' - meeting: Every Tuesday at 09:00 PT + meeting: Tuesday at 09:00 PT notes: type: gDoc value: 1EaIbfDE1elWTWt3bhilggki_OCRJZoFCSYZJXgc9KsM @@ -525,7 +525,7 @@ - name: Ted Young github: tedsuo - name: 'Rust: SDK' - meeting: Every Tuesday at 09:00 PT + meeting: Tuesday at 09:00 PT notes: type: gDoc value: 1tGKuCsSnyT2McDncVJrMgg74_z8V06riWZa0Sr79I_4 @@ -542,7 +542,7 @@ - name: Ted Young github: tedsuo - name: 'Swift: SDK' - meeting: Every Thursday at 09:00 PT + meeting: Thursday at 09:00 PT notes: type: gDoc value: 1LugL8r4bAkbTxZ1Gq_6j_8SDv1LuZaNeUdR-QLN4d48 @@ -556,7 +556,7 @@ - name: Alolita Sharma github: alolita - name: eBPF - meeting: Every week on Tuesday at 09:00 PT + meeting: Tuesday at 09:00 PT notes: type: gDoc value: 13GK915hdDQ9sUYzUIWi4pOfJK68EE935ugutUgL3yOw @@ -570,7 +570,7 @@ - name: Ted Young github: tedsuo - name: Kubernetes Operator - meeting: Every other week on Thursday at 09:00 PT + meeting: Thursday at 09:00 PT notes: type: gDoc value: 1Unbs2qp_j5kp8FfL_lRH-ld7i5EOQpsq0I4djkOOSL4 @@ -584,7 +584,7 @@ - name: 'Juraci Paixão Kröhling' github: jpkrohling - name: Community Demo Application - meeting: Every Wednesday at 8:00 PT + meeting: Wednesday at 08:00 PT notes: type: gDoc value: 16f-JOjKzLgWxULRxY8TmpM_FjlI1sthvKurnqFz9x98 @@ -600,7 +600,7 @@ - name: Cross-Cutting SIGs sigs: - name: Maintainer Meeting - meeting: Every Monday at 09:00 PT + meeting: Monday at 09:00 PT notes: type: gDoc value: 1_X2CTiDXmxk2JozBNwQ2uP8FfV1rxx9ISE5puHu0yIk @@ -615,7 +615,7 @@ github: mtwo - name: Communications (Website, [Documentation](https://opentelemetry.io/docs/), etc.) - meeting: Every other week on Monday at 10:00 PT + meeting: Every other Monday at 10:00 PT notes: type: gDoc value: 1wW0jLldwXN8Nptq2xmgETGbGn9eWP8fitvD5njM-xZY @@ -629,7 +629,7 @@ - name: 'Severin Neumann' github: svrnm - name: End-User SIG - meeting: Every other week on Thursday at 10:00 PT + meeting: Every other Thursday at 10:00 PT notes: type: gDoc value: 1e-UNZA3Tuno9b53RQbe--whUcO0VIXF3P81oXsrBK6g @@ -643,7 +643,7 @@ - name: Daniel Gomez Blanco github: danielgblanco - name: Security - meeting: Bi-weekly on Wednesday at 14:00 UTC + meeting: Every other Wednesday at 07:00 PT notes: type: gDoc value: 1P2xejC7lEkOV_Z-8E0oZPXLK5HOnUPNuRqKP0ZQ5fpg @@ -660,16 +660,16 @@ gcLiaison: - name: 'Juraci Paixão Kröhling' github: jpkrohling - - name: Project Tooling and Infrastructure - meeting: Weekly on Wednesday at 08:00 AM PT + - name: Project Infrastructure + meeting: Wednesday at 08:00 PT notes: type: gDoc value: 1_dTP2XIaZoFjNiipkeMaGJN10NrhS20FiBTTJoQJeVM chat: - type: slack - name: '#otel-project-tooling' + name: '#otel-project-infra' id: C07BPU981PV - invites: calendar-project-tooling + invites: calendar-project-infra sponsors: - name: 'Austin Parker' github: austinlparker @@ -679,7 +679,7 @@ - name: 'Austin Parker' github: austinlparker - name: Contributor Experience - meeting: Every Monday alternating between 9:00 and 17:00 UTC + meeting: Monday alternating between 10:00 PT and 17:00 UTC+8 notes: type: gDoc value: 1CTQI0p3QF8JP8reV8z_ggcs8KE5YVPpQGvAQknw4qP0 @@ -696,3 +696,23 @@ gcLiaison: - name: 'Juraci Paixão Kröhling' github: jpkrohling + - name: Developer Experience + meeting: Wednesday 11:00 PT and 17:00 UTC+8 + notes: + type: gDoc + value: 1QDZYAvGJbqgodJaTxRPmRZh-fEJjb6XstvPUst6h50w + chat: + - type: slack + name: '#otel-devex' + id: C01S42U83B2 + invites: calendar-developer-experience + sponsors: + - name: 'Austin Parker' + github: austinlparker + - name: 'Ted Young' + github: tedsuo + - name: 'Liudmila Molkova' + github: lmolkova + gcLiaison: + - name: 'Austin Parker' + github: austinlparker diff --git a/tech-committee-charter.md b/tech-committee-charter.md index e7adcf886..db31c218b 100644 --- a/tech-committee-charter.md +++ b/tech-committee-charter.md @@ -64,8 +64,7 @@ The TC and entire technical community will follow any processes as may be specif ### Code Donations From time to time, organizations may wish to donate existing code to -OpenTelemetry. The basic process for donating code is described [in -CONTRIBUTING.md](CONTRIBUTING.md#donations). Of note is the expectation that +OpenTelemetry. The basic process for donating code is described [in the contributor guide](guides/contributor/donations.md). Of note is the expectation that the TC respond to donation proposals **within two weeks.** ## Elections @@ -104,7 +103,7 @@ For all votes, a simple majority of a quorum of TC members for, or against, the ### Requesting a TC decision -When a project issue fails to reach consensus, OpenTelemetry [community members](./community-membership.md#member) may request that the TC make a decision. If the issue falls under a project with assigned [approvers](./community-membership.md#approver) and / or [maintainers](./community-membership.md#maintainer), at least two of those members should agree to and coordinate requesting a TC decision. +When a project issue fails to reach consensus, OpenTelemetry [community members](./guides/contributor/membership.md#member) may request that the TC make a decision. If the issue falls under a project with assigned [approvers](./community-membership.md#approver) and / or [maintainers](./community-membership.md#maintainer), at least two of those members should agree to and coordinate requesting a TC decision. The request for a TC decision must be made by a comment on a public issue. The comment must explicitly tag the TC team (@open-telemetry/technical-committee), and summarize the various options and their relative tradeoffs. A TC member should review the summary and may request additional details or other changes to more accurately frame the issue. The request will then be added to the TC agenda, and the TC will work towards a decision using the [TC voting process](#voting-on-project-issues). @@ -112,6 +111,6 @@ The request for a TC decision must be made by a comment on a public issue. The c The OpenTelemetry project git repository is maintained by the TC and additional Maintainers who are added by the TC on an ongoing basis. -Individuals making significant and valuable contributions, can move through the project to leadership roles as outlined in the [Community Membership](./community-membership.md) document. Modifications of the contents of the git repository are made on a collaborative basis as defined in the development process. +Individuals making significant and valuable contributions, can move through the project to leadership roles as outlined in the [Community Membership](./guides/contributor/membership.md) document. Modifications of the contents of the git repository are made on a collaborative basis as defined in the development process. Project Members may opt to elevate (via [mail list](./#tc-technical-committee)) significant or controversial modifications, or modifications that have not found consensus to the TC for discussion. The TC will serve as the final arbiter where required. The TC will additionally publish and maintain a development process guide for people looking to participate in the development effort.