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

How to handle explicit deviations to the spec? #2097

Open
jpkrohling opened this issue Aug 24, 2023 · 8 comments
Open

How to handle explicit deviations to the spec? #2097

jpkrohling opened this issue Aug 24, 2023 · 8 comments
Assignees
Labels
triage:accepted This issue has been accepted and will be worked.

Comments

@jpkrohling
Copy link
Member

During the discussion of open-telemetry/oteps#232, a previous version of that proposal stated that language SIGs would only be considered stable once they implemented the stable parts of the API and SDK specs. The dotnet maintainers brought up the point that not everything in the spec makes sense for dotnet, and it shouldn't prevent the dotnet SDK/API from being called stable.

While the dotnet-specific parts are interesting, I think we have a more generic matter to discuss: if a SIG determines that a required part of the spec shouldn't be implemented, should the deliverable still be considered stable? Who should make this call? Should a TC waiver be provided?

@jpkrohling
Copy link
Member Author

More context: open-telemetry/oteps#232 (review)

@trask
Copy link
Member

trask commented Aug 24, 2023

My initial inclination would be to have these deviations documented somewhere in this repository, where they will get visibility and implicit sign-off from TC members via PR.

@MrAlias
Copy link
Contributor

MrAlias commented Aug 24, 2023

My understanding of this statement is pretty clear, the .NET implementation is not compliant if they do not satisfy all the requirements:

An implementation of the [specification][] is not compliant if it fails to
satisfy one or more of the "MUST", "MUST NOT", "REQUIRED", "SHALL", or "SHALL
NOT" requirements defined in the [specification][]. Conversely, an
implementation of the [specification][] is compliant if it satisfies all the
"MUST", "MUST NOT", "REQUIRED", "SHALL", and "SHALL NOT" requirements defined in
the [specification][].

If parts of the specification are not applicable or don't make sense for an implementation they need to work with the specification to modify it so they can comply with it. Otherwise, whats the point of having a specification?

@Oberon00
Copy link
Member

Oberon00 commented Aug 25, 2023

I also think that the .NET model of implementing most core things in the Microsoft-owned dotnet/runtime repository does not align well with OpenTelemetry procedures and governance. Instead of declaring it "stable" it is more like "N/A" and despite the name opentelemetry-dotnet is not really an OpenTelemetry implementation but a project that provides functionality very similar to OpenTelemetry for .NET. Definitely similar enough to warrant not re-implementing an OpenTelemetry client library for .NET, but it's not really a full OpenTelemetry either.

@atoulme
Copy link
Contributor

atoulme commented Sep 15, 2023

Bringing over my comment from the discussion on OTEP 232:

I think that given the large scope of the specification and SDKs, the specification should come with a set of functional tests covering portions of the specification, against which SDKs can test and declare themselves stable when they pass all tests.

@austinlparker austinlparker transferred this issue from open-telemetry/opentelemetry-specification May 7, 2024
@austinlparker
Copy link
Member

The GC is going to handle creating a policy around this

@jpkrohling
Copy link
Member Author

@austinlparker, do you remember if there was movement around this already?

@austinlparker
Copy link
Member

@austinlparker, do you remember if there was movement around this already?

I don't think it's made it to an agenda yet.

@trask trask added the triage:accepted This issue has been accepted and will be worked. label Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage:accepted This issue has been accepted and will be worked.
Projects
Status: Todo
Development

No branches or pull requests

8 participants