Skip to content

Document strategy to support experimental methods on stable interfaces #5882

Open
@dashpole

Description

Forked from #5768, and related to open-telemetry/opentelemetry-specification#4257.

Problem Statement

We should document our policy for how we support for experimental things in the specification. It doesn't mean we will always accept such features, but should describe how it would work. This includes:

  • Experimental behavior with no API artifacts (e.g. exemplar collection, service.instance.id auto-generation).
    • Today, we do this through /internal/x directories, and OTEL_GO_X_FOO environment variables.
  • Experimental methods on SDK-only interfaces (e.g. span processor).
  • Experimental methods on API (and SDK) interfaces.
    • This will be done using forks or long-lived branches on the repository.
  • Experimental parameters (i.e. new option) for API functions.
  • Experimental parameters (i.e. new option) for SDK functions.
  • Experimental fields for API structs.
  • Experimental fields for SDK structs.

This excludes:

  • Experimental signals. It is assumed that these will be created as new, unstable modules while they are under development.

Proposed Solution

Decide and document how we are going to handle the above.

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions