From 8c111657eb12634cf92e7fde7c0dab805f9e64f8 Mon Sep 17 00:00:00 2001 From: Jack Berg Date: Thu, 24 Oct 2024 15:18:10 -0500 Subject: [PATCH 1/2] Define prototype for proposed features in development --- CONTRIBUTING.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dd7e8dea65b..576cd685a8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,6 +32,14 @@ Smaller changes can follow a shorter process: of the change, prototyping in multiple programming languages might be required by the [specification approvers](https://github.com/open-telemetry/community/blob/main/community-members.md#specifications-and-proto). + When proposing new features, we + encounter + a [chicken or the egg problem](https://en.wikipedia.org/wiki/Chicken_or_the_egg) + in that proposals require prototyping but language implementations require + features to be in the specification. For this reason, when adding new features + with Development maturity level, a prototype is defined as an unmerged PR to a + language implementation which has the support of the implementation's + maintainers. Trivial changes, such as clarifications, wording changes, spelling/grammar corrections, etc. can be made directly via pull requests and do not require an associated From 427d5c220ac0827900e196758061a195c9dd136d Mon Sep 17 00:00:00 2001 From: Jack Berg Date: Fri, 25 Oct 2024 16:38:42 -0500 Subject: [PATCH 2/2] Loosen requirements and clarify intent --- CONTRIBUTING.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 576cd685a8a..b58fa5cb0ca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,9 +37,11 @@ Smaller changes can follow a shorter process: a [chicken or the egg problem](https://en.wikipedia.org/wiki/Chicken_or_the_egg) in that proposals require prototyping but language implementations require features to be in the specification. For this reason, when adding new features - with Development maturity level, a prototype is defined as an unmerged PR to a - language implementation which has the support of the implementation's - maintainers. + with Development maturity level, a prototype is defined as a working + demonstration of the feature in a language implementation which has the + support of that language's maintainers. For example, this may be an unmerged + PR with an indication of maintainers' intent to merge in the event the + corresponding specification PR is merged. Trivial changes, such as clarifications, wording changes, spelling/grammar corrections, etc. can be made directly via pull requests and do not require an associated