Right now the specification shares many common traits with OpenTracing, yet it has many differences which I think are unnecessary.
This is problematic for a few reasons:
I would like to propose making 2 changes to the specification to allow better interoperability with OpenTracing:
With these small changes, I believe it would be possible for OpenTelemetry to basically be an implementation of OpenTracing, which will result in easier adoption and migration.
Same arguments can be made for OpenCensus. Not feasible to make the OpenTelemetry inherit or implement OpenTracing.
As mentioned above, it is feasible at the very least in JavaScript, so it could be done as a best effort. The same argument cannot be made for OpenCensus since it never gained any traction in the community and most of its use came from Istio. I would also like to point out that in some cases, both OpenTracing and OpenCensus used the same terminology, which reinforces the argument that it should not be changed.
First of all the user for OpenCensus did not come from Istio, and it had a lot of traction especially with some of the big tech companies.
If there is a specific case where you have a problem with the terminology please file an issue or describe that specific problem.
For "extending" or getting any dependency on OpenTracing that is not possible in this project, as well as it is not possible to depend on OpenCensus.
@rochdev it's unclear whether you're advocating for something Javascript-specific or making a broader push across all languages...
If Javascript-specific: we should strive for consistent OpenTel terminology across languages (per terminology.md)... especially since a software bridge can easily handle redirecting one naming convention to the other.
If across all languages: I don't see why OpenTracing should get a leg up in terms of influencing the OpenTelemetry API. As has been written in many other places, we do want a programmatic adapter/bridge between OpenTelemetry and both OpenTracing and OpenTelemetry, but literally building off / extending of OpenTracing does not seem like the right long-term strategy given the expressed goals for OpenTelemetry.
I'm writing this in a hurry, so apologies if I'm being vague/unclear... happy to try to elaborate.
To add to what Ben said:
but literally building off / extending of OpenTracing does not seem like the right long-term strategy given the expressed goals for OpenTelemetry.
I was not proposing to actually extend OpenTracing but simply to have the same interface. In many languages, interfaces that match are considered equal.
complete backwards compatibility with OpenTracing API is not the goal of the project, mainly because it's simply not possible given that context propagation is pulled into a lower layer on which tracing, metrics, etc. are dependent.
Makes sense. I didn't consider metrics and other telemetry when I attempted to make it work directly with the OpenTracing API. As long as it's compatible in the end, at least it will be easier for users to migrate.
Thanks all for the clarifications!
Most helpful comment
To add to what Ben said: