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 specification compliance #2968

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bd7c465
clarify specification compliance
reyang Nov 18, 2022
6e41c00
update changelog
reyang Nov 18, 2022
b74377c
wording
reyang Nov 18, 2022
27c7e03
Merge branch 'main' into reyang/clarify-compliance
reyang Nov 21, 2022
5073355
taking Armin's suggestion
reyang Nov 21, 2022
09fe2f7
Merge branch 'main' into reyang/clarify-compliance
reyang Nov 22, 2022
3817dc8
Merge branch 'main' into reyang/clarify-compliance
reyang Nov 28, 2022
b5db125
address Carlos' comment
reyang Nov 28, 2022
ac77cc4
Update specification/README.md
reyang Nov 28, 2022
708703f
Merge branch 'main' into reyang/clarify-compliance
arminru Dec 16, 2022
342f2eb
Merge branch 'main' into reyang/clarify-compliance
reyang Jan 26, 2023
66174fb
be conservative about the API spec, be flexible about the SDK spec
reyang Jan 26, 2023
2e976f6
Merge branch 'main' into reyang/clarify-compliance
reyang Feb 7, 2023
e01ac6d
Merge branch 'main' into reyang/clarify-compliance
arminru Feb 7, 2023
0c129e0
Merge branch 'main' into reyang/clarify-compliance
reyang Feb 22, 2023
d578c9e
fix changelog
reyang Feb 22, 2023
6ee51a4
Update specification/README.md
reyang Feb 22, 2023
eacf845
Merge branch 'main' into reyang/clarify-compliance
reyang Feb 22, 2023
eb3443f
Merge branch 'main' into reyang/clarify-compliance
reyang Feb 24, 2023
8c42e39
Merge branch 'main' into reyang/clarify-compliance
arminru Apr 5, 2023
977e547
Merge branch 'main' into reyang/clarify-compliance
arminru Apr 5, 2023
f0d0af7
Merge branch 'main' into reyang/clarify-compliance
arminru Apr 6, 2023
f36a8f9
Merge branch 'main' into reyang/clarify-compliance
arminru Apr 11, 2023
e5d5d08
Merge branch 'main' into reyang/clarify-compliance
reyang Apr 15, 2023
5567970
Merge branch 'main' into reyang/clarify-compliance
reyang Apr 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Expand Up @@ -41,6 +41,10 @@ release.

### Common

- Clarify compliance requirement by restricting implementations from providing
features/functionalities that are not covered by the specification.
([#2968](https://github.com/open-telemetry/opentelemetry-specification/pull/2968))

## v1.18.0 (2023-02-09)

### Context
Expand Down
22 changes: 16 additions & 6 deletions specification/README.md
Expand Up @@ -50,12 +50,22 @@ The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
[[RFC8174](https://tools.ietf.org/html/rfc8174)] when, and only when, they
appear in all capitals, as shown here.

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][].
An implementation of the [specification][] is compliant if and only if it meets
all the following conditions:

* It MUST satisfy all the "MUST", "MUST NOT", "REQUIRED", "SHALL", and "SHALL
NOT" requirements defined in the [specification][].
* For an implementation of the API Specification (note that this restriction
does not apply to an SDK implementation), it MUST NOT provide additional
features or functionalities that are not covered by the [specification][],
except for any of the following situations:
* Such feature/functionality is very specific to a programming language,
runtime or framework, and not expected to interfere or overlap with any
feature that might (likely) be added to the cross-language specification in
future.
reyang marked this conversation as resolved.
Show resolved Hide resolved
* Anything that is retrospective, for example, a feature/functionality which
has been released as a stable/GA offering before this compliance rule was
formalized (release 1.19.0).

## Project Naming

Expand Down