Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify whether unreleased changes should be implemented or not #2728

Open
tigrannajaryan opened this issue Aug 16, 2022 · 4 comments
Open
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:miscellaneous For issues that don't match any other spec label

Comments

@tigrannajaryan
Copy link
Member

tigrannajaryan commented Aug 16, 2022

Otel spec is released monthly. Between the release we submit PRs and make changes to the spec repo, accumulating unreleased changes.

Occasionally changes are disputed after merging, with the possibility of reverting the changes before a release is made, see for example #2726

Question: should the unreleased changes considered to be official part of the spec or they only become part of the spec once the release is made?

@tigrannajaryan tigrannajaryan added the spec:miscellaneous For issues that don't match any other spec label label Aug 16, 2022
@tigrannajaryan
Copy link
Member Author

@open-telemetry/specs-approvers what do you think about this?

@Oberon00
Copy link
Member

Question: should the unreleased changes considered to be official part of the spec or they only become part of the spec once the release is made?

I think the process does not really suggest that releases are a potential point of re-discussion or even sign-off of changes?

@dyladan
Copy link
Member

dyladan commented Aug 16, 2022

In JS we commonly implement unreleased changes, especially when we have opened an issue and something is clarified in response to our issue. Waiting for the release may slow down a process that some already see as too slow. I would suggest this policy should only apply to stable released packages.

@tigrannajaryan tigrannajaryan changed the title Clarify that unreleased changes should not be implemented Clarify whether unreleased changes should be implemented or no Aug 16, 2022
@tigrannajaryan tigrannajaryan changed the title Clarify whether unreleased changes should be implemented or no Clarify whether unreleased changes should be implemented or not Aug 16, 2022
@rbailey7210 rbailey7210 added the [label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR label Aug 19, 2022
@tigrannajaryan
Copy link
Member Author

Here is what I would like to propose:

  • Changes to the stable parts of the spec are not considered binding until a release is made that incorporates these changes.
  • If a mistake is made in the spec and the erroneous change is discovered before the release it is acceptable to revert the change even if the change is in the stable part of the document.
  • Unstable implementations are free to do what they want. They can freely implement unreleased spec changes.
  • Stable implementations may begin implementing unreleased spec changes but the implementations must hold their release until the spec release which adds the change is made. In other words, stable implementations MUST NOT release changes before the spec is released that incorporates the specification of these changes.

I think this is a good tradeoff. We retain flexibility to fix mistakes, allow implementations to work faster, but still have mechanisms in place to catch spec mistakes and avoid making such mistakes part of stable implementation releases.

Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:miscellaneous For issues that don't match any other spec label
Projects
None yet
Development

No branches or pull requests

5 participants