-
Notifications
You must be signed in to change notification settings - Fork 182
Decide on a naming scheme for "important" iterations on the OpenTracing specification #2
Comments
@yurishkuro @cwe1ss As @cwe1ss said, using the same version maybe not a good idea. But as a spec, OT can use a single number( not include dot in version number), like OT v1, OT v2, etc. OT spec won't have a bug or a reflection needs Fot the particular OT language API, they use their self define version num, or traditional version num, only to use the first version num as same as OT spec. such as: OpenTracing-java impl can use 1.x.x as a version number, which declares to support OT v1 spec. This is very easy to understand for all users. This type of version naming is something like JDK spec. And for |
We could also do roman numerals for the OT spec version... |
Roman num is very clear when it's less than 12. like Too large num may be not so pretty? |
I think the "Roman Numerals" idea is the first one I've actually felt excited about for more than 24 hours. @yurishkuro what do you think? |
I suppose I am not so worried about the exact naming/numbering as about what we intend to use it for. For example, how do the following changes affect the versioning?
When a tracer implementation says it is compatible with OT #X, and we do one of the above, does it still remain compatible with X, or do we need to bump X somehow? It feels to me that without clear definition of the versioning deciding on representation of the versioning is rather pointless. Having said that, I still prefer semver for the spec, because it kind of deals with all these questions already. |
@yurishkuro I was imagining that If tracer impls want to talk about compatibility, I would assume they would refer to their per-language OT API (as a semver). For me the versioning is more about setting project milestones than anything else. |
I ran a quick poll on the team:
|
@bensigelman , @bensigelman , whatever the type of version num be chosen, the version num of the spec should be very precise. Any version, be released, should NOT be changed in any way, including The |
I think the type of version num should be confirmed as soon as possible. And all new spec can follow it. |
If we went with ^^^, we would also need to do semver for the OT spec. Otherwise we'll end up with "OpenTracing v4257.0" which is not useful :) @yurishkuro re your straw poll: thanks for the info. I am still mulling over what I think about having semver for OpenTracing proper vs having semver for per-language OpenTracing repos. We clearly need the latter. Given that, it's not at all obvious to me that having a second semver for the former is adding value (rather than adding confusion). Perhaps I should get back on the task of creating a monthly VC/hangout meeting schedule for committers, as this is just the sort of thing I don't like resolving over Github Issues :) |
I don't have experience with specifications but roman numerals seem a bit strange to me. I'd prefer regular numbers as well. Since there's just the website and no formal versioned specification document, I'm wondering if we even need the patch version part? I think the specification could use "1.1", "1.2", "2.0" with the following rules:
I don't think there's a good/realistic way to keep the specification, all implementations, contrib packages and tracers in sync. I think it's more important that every package follows SemVer rules to make sure people don't see surprises when they update packages. However, maybe we should reference the targeted specification version in the package descriptions?! I guess the main reason for a version mismatch will be an outdated package (e.g. implementation already targets 2.0 but tracer still targets 1.0). As long as we keep all packages current, everybody should be able to target the most recent version of the specification. So preventing version mismatches between the several parts might be an organizational issue for us. |
@bensigelman , my meaning for Maybe this time, we come to an agreement only on the version of the spec.
Further more, if we decide to use any spec version, we need to keep all version spec in a release list. Some people will need to read old version spec for following reason:
|
@bensigelman , if you want a have a chat with all committers on google hangouts, you may can find me from If there is any problem, please let me known on github. Thank you for your understanding. |
The point of the roman numeral thing is to make sure people realize that it's not semver... i.e., it is "intentionally weird" :) But I can tell that nobody else likes this idea very much! So I think @cwe1ss's proposal is a sane way to at least avoid having a patch version for the spec. I am also thinking that this will be easier now that there's a github.com/opentracing/specification repository proper. I would like to create a |
@bensigelman agreed about |
@bensigelman , Major.Minor version rule should follow:
And @bensigelman , @yurishkuro , no matter what versioning rules are, should we to set the current version to 1.0? I used 1.0 in my translation-version, hoping it's as same as OT spec version. |
(See #20) |
opentracing/opentracing.io#178 brings things forward a bit. |
This has come up a few times, most recently here. Using semver for the OpenTracing spec itself would be excessively confusing... there would be (a) the semver for the OT spec, (b) the semver for the particular OT language API, and (c) the semver for the tracing implementation. Too many numbers!
I would rather come up with an ordered naming scheme for "important" (*) OpenTracing specification iterations... maybe alphabetical nouns in a given category. (C.f. Ubuntu's naming scheme or whatever)
(*): Not sure what "important" means... doesn't just have to be "breaking" changes to the spec.
The text was updated successfully, but these errors were encountered: