[As a contributor]

Although, I can see how increasing the number from the starting version makes 
more logical sense, I think that it is better to conform to the semver rules.

Hence, I would suggest that the process to update the version string could look 
something like this:

Starting with RFC 6991 version 1.0.0.

Bis version with backwards compatible change: “1.1.0-6991bis-01”

If the next bis version has NBC changes, then it would be : “2.0.0-6991bis-02”

Then the WG decide that an NBC change isn’t required, so the next draft version 
is: : “1.1.0-6991bis-03”

Once it gets to new RFC, then the version becomes “1.1.0”.

I think that this conforms to the Semver 2.0.0 rules, specifically paragraph 9 
at https://semver.org/

Regards,
Rob


From: netmod <netmod-boun...@ietf.org> On Behalf Of Andy Bierman
Sent: 02 April 2020 19:22
To: Martin Björklund <mbj+i...@4668.se>
Cc: NetMod WG <netmod@ietf.org>; Italo Busi <italo.b...@huawei.com>
Subject: Re: [netmod] versioning procedures (RFC vs. I-D)



On Thu, Apr 2, 2020 at 9:51 AM Martin Björklund 
<mbj+i...@4668.se<mailto:mbj%2bi...@4668.se>> wrote:
Andy Bierman <a...@yumaworks.com<mailto:a...@yumaworks.com>> wrote:
> Hi,
>
> I agree that a revision-label could be useful in an I-D but not to indicate
> NBC changes (because it doesn't).
> The rules need to be clear and simple with no exceptions.
>
>  1) Special version 0.x.y contains NO NBC information
>      Major version = 0 means the module has no published version
>
>  2) First published version is 1.0.0
>
>  3) The revision-label in an unpublished module has a special form which
> simply identifies
>       the source of the development and the iteration of the
> work-in-progress.
>       You can't really pick the next published label until the module is
> ready.
>
> >From my example:
>
> draft-00:   0.1.0
>
> draft-01:   0.2.0
>
> draft-02:   0.3.0
>
> RFC-1:    1.0.0
>
> bis-draft-00:   1.0.0+1

If this was normal semver, it would be:

bis-draft-00:   2.0.0-1
bis-draft-01:   2.0.0-2

etc.  ("+" and "-" have special meaning in semver)..

One problem though is that when the -bis work starts, it might not be
clear if the end result (published RFC) will be NBC or BC.  And this
might change back and forth during development of the I-D.

What happens if there are multiple release trains in progress?
Seems more useful to base the label on the known starting point
instead of the possible ending point.


I think it quite clear that such a label should not be used in I-Ds.


Agreed


/martin


Andy


>
> bis-draft-02:   1.0.0+3
>
> [repeat NBC step bis-draft-02 10 times]  1.0.0+4 .. 1.0.0+13
>
> RFC-2:  2.0.0   (in general: 1.0.1 or 1.1.0 or 2.0.0)
>
> The BC vs. NBC distinction is not relevant for a work-in-progress.
> We have seen many times in this WG where a NBC change was made
> and then later undone.  There is no value in tracking the module during
> development.
>
>
> Andy
>
>
> On Thu, Apr 2, 2020 at 7:46 AM Reshad Rahman (rrahman) 
> <rrah...@cisco.com<mailto:rrah...@cisco.com>>
> wrote:
>
> >
> >
> >
> >
> > *From: *'Andy Bierman' <a...@yumaworks.com<mailto:a...@yumaworks.com>>
> > *Date: *Thursday, April 2, 2020 at 10:26 AM
> > *To: *"Reshad Rahman (rrahman)" 
> > <rrah...@cisco.com<mailto:rrah...@cisco.com>>
> > *Cc: *Italo Busi <italo.b...@huawei.com<mailto:italo.b...@huawei.com>>, 
> > "Joe Clarke (jclarke)" <
> > jcla...@cisco.com<mailto:jcla...@cisco.com>>, NetMod WG 
> > <netmod@ietf.org<mailto:netmod@ietf.org>>
> > *Subject: *Re: [netmod] versioning procedures (RFC vs. I-D)
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Apr 2, 2020 at 4:11 AM Reshad Rahman (rrahman) 
> > <rrah...@cisco.com<mailto:rrah...@cisco.com>>
> > wrote:
> >
> > Hi,
> >
> >
> >
> > *From: *Italo Busi <italo.b...@huawei.com<mailto:italo.b...@huawei.com>>
> > *Date: *Thursday, April 2, 2020 at 5:06 AM
> > *To: *"Reshad Rahman (rrahman)" 
> > <rrah...@cisco.com<mailto:rrah...@cisco.com>>, 'Andy Bierman' <
> > a...@yumaworks.com<mailto:a...@yumaworks.com>>, "Joe Clarke (jclarke)" 
> > <jcla...@cisco.com<mailto:jcla...@cisco.com>>
> > *Cc: *NetMod WG <netmod@ietf.org<mailto:netmod@ietf.org>>
> > *Subject: *RE: [netmod] versioning procedures (RFC vs. I-D)
> >
> >
> >
> > Reshad,
> >
> >
> >
> > My doubt and, if I understand well also Andy’s question, is about the fact
> > that before publishing an RFC-bis with e.g., 1.1.0, we will have a set of
> > Internet-Drafts updating the RFC with 1.0.0
> >
> >
> >
> > What versions should be used in the YANG modules published in these
> > Internet-Drafts?
> >
> >
> >
> > Think about the following scenario: -00 version provide BC changes to the
> > RFC module but the -01 version provide NBC changes to what has been added
> > in the -00 module (thus the -01 version is BC with the RFC 1.0.0 module but
> > NBC with the -00 version module)
> >
> > <RR> So bis 00 would be 1.1.0 (BC with RFC module).
> >
> > Bis 01 should be updated according to its relationship to the RFC module
> > (bis 00 doesn’t matter anymore), when RFC bis is published it won’t have
> > the full history.
> >
> >
> >
> > Hope I correctly understood your question.
> >
> >
> >
> >
> >
> > This semver plan is not very intuitive and not sure it works.
> >
> >
> >
> > draft-00
> >
> >
> >
> >    container the-container;             version 0.1.0      OK
> >
> >
> >
> > draft-01:
> >
> >    container my-container;             version 0.2.0;   rules violated;
> > NBC should force 1.0.0
> >
> >
> >
> > draft-02:
> >
> >
> >
> >     container my-container {           version 0.3.0; should be 1.1.0
> >
> >         leaf my-leaf { type int32; }
> >
> >     }
> >
> >
> >
> > RFC-1:
> >
> >
> >
> >     container my-container {           version 1.0.0;  should be 2.0.0
> > according to NBC rules
> >
> >         leaf my-leaf { type uint32; }
> >
> >     }
> >
> >
> >
> > bis-draft-00:
> >
> >
> >
> >    container my-container {           version 1.1.0; OK
> >
> >         leaf my-leaf { type uint32; }
> >
> >         leaf another-leaf { type int32; }
> >
> >     }
> >
> >
> >
> > bis-draft-01:
> >
> >
> >
> >   container my-container {                  diff against RFC-1:  version
> > 1.1.0 but already used; use 1.2.0?
> >
> >         leaf my-leaf { type uint32; }
> >
> >         leaf another-leaf { type uint32; }
> >
> >     }
> >
> >
> >
> > bis-draft-02:
> >
> >
> >
> >   container example-my-container {                  diff against RFC-1:
> > version 2.0.0 but use 1.3.0 instead?
> >
> >         leaf my-leaf { type uint32; }
> >
> >         leaf another-leaf { type uint32; }
> >
> >     }
> >
> >
> >
> > [repeat NBC step bis-draft-02 10 times.... now up to version 12.0..0 or is
> > it 1.13.0? something else?
> >
> >
> >
> > RFC-2:   publish draft-12 as RFC-2: now change the label from 1.13.0 to
> > 2.0.0? or leave it 12.0.0?
> >
> >
> >
> > IMO it is very confusing that the stated rules are so inconsistent and
> > are violated so many ways.
> >
> > There should be no revision-label at all in Internet Drafts because these
> > documents are unpublished.
> >
> > They should only be added to the RFC version.
> >
> >
> >
> > The semver procedures are not intended to work for unpublished modules
> > that are only
> >
> > meant for review, not for implementation. The revision-label provides only
> > noise in Internet Drafts.
> >
> > <RR2> I think it’s useful to have a revision label in a draft because it
> > indicates nature of changes (BC v/s NBC) compared to the previous published
> > revision (RFC).
> >
> > But you are absolutely right that setting the version based on changes
> > with the previous draft revision is useless and confusing.
> >
> >
> >
> > Regards,
> >
> > Reshad.
> >
> >
> >
> >
> >
> > Regards,
> >
> > Reshad.
> >
> >
> >
> > Thanks, Italo
> >
> >
> >
> >
> >
> > Andy
> >
> >
> >
> >
> >
> > *Italo Busi*
> >
> > Principal Optical Transport Network Research Engineer
> >
> > Huawei Technologies Co., Ltd.
> >
> > Tel : +39 345 4721946
> >
> > Email : italo.b...@huawei.com<mailto:italo.b...@huawei.com>
> >
> >
> >
> > This e-mail and its attachments contain confidential information from
> > HUAWEI, which is intended only for the person or entity whose address is
> > listed above. Any use of the information contained herein in any way
> > (including, but not limited to, total or partial disclosure, reproduction,
> > or dissemination) by persons other than the intended recipient(s) is
> > prohibited. If you receive this e-mail in error, please notify the sender
> > by phone or email immediately and delete it!
> >
> >
> >
> > *From:* Reshad Rahman (rrahman) 
> > [mailto:rrah...@cisco.com<mailto:rrah...@cisco.com>]
> > *Sent:* mercoledì 1 aprile 2020 20:13
> > *To:* Andy Bierman <a...@yumaworks.com<mailto:a...@yumaworks.com>>; Joe 
> > Clarke (jclarke) <
> > jcla...@cisco.com<mailto:jcla...@cisco.com>>
> > *Cc:* NetMod WG <netmod@ietf.org<mailto:netmod@ietf.org>>
> > *Subject:* Re: [netmod] versioning procedures (RFC vs. I-D)
> >
> >
> >
> >
> >
> > *From: *netmod <netmod-boun...@ietf.org<mailto:netmod-boun...@ietf.org>> on 
> > behalf of 'Andy Bierman' <
> > a...@yumaworks.com<mailto:a...@yumaworks.com>>
> > *Date: *Wednesday, April 1, 2020 at 2:07 PM
> > *To: *"Joe Clarke (jclarke)" <jcla...@cisco.com<mailto:jcla...@cisco.com>>
> > *Cc: *NetMod WG <netmod@ietf.org<mailto:netmod@ietf.org>>
> > *Subject: *Re: [netmod] versioning procedures (RFC vs. I-D)
> >
> >
> >
> >
> >
> >
> >
> > On Wed, Apr 1, 2020 at 10:39 AM Joe Clarke (jclarke) 
> > <jcla...@cisco.com<mailto:jcla...@cisco.com>>
> > wrote:
> >
> >
> >
> > > On Apr 1, 2020, at 13:28, Andy Bierman 
> > > <a...@yumaworks.com<mailto:a...@yumaworks.com>> wrote:
> > >
> > > Hi,
> > >
> > > I just want to confirm that all the proposed documentation procedures
> > > using new extensions are limited in scope to published modules only,
> > > and not applied to unpublished modules (terms defined in RFC 8407).
> > >
> > > IMO it would be harmful to module usability to assign revision-labels or
> > > include revision-related extensions in unpublished modules (e.g.,
> > Internet Drafts).
> > > Consider how cluttered and confusing the client-server modules would be
> > > if the 50+ NBC changes and versions were tracked through all the I-Ds.
> > >
> > > For IETF modules, the first usage of the revision-label
> > > should be in the initial RFC, and be set to 1.0.0.
> > >
> > > If the RFC is ever republished then one can expect to find an updated
> > > revision-label and possibly extensions tracking NBC changes.
> >
> > The semver scheme allocates a major version of 0 for pre-releases where
> > the BC/NBC rules do not apply.  I agree that a first official RFC release
> > should be 1.0.0 (from a semver revision-label standpoint).  >From a design
> > team standpoint, I know we mentioned the 0 versioning early on, but I don’t
> > think we spent much time talking about modules under development overall.
> >
> >
> >
> >
> >
> > IMO it is confusing to ignore the semver rules for the special 0.x.y
> > releases.
> >
> > There are many NBC changes made at this point which are treated as minor
> > or patch changes.
> >
> > The procedure is really broken once you consider a WG developing any
> > RFC-bis module.
> >
> > Now the major version is not 0 and all updates look like real releases.
> >
> > <RR> I don’t think that’s needed. Initial module in RFC has 1.0.0, module
> > in (released) RFC-bis can go to 1.0.1, 1.1.0 or 2.0.0 depending on the
> > change.
> >
> >
> >
> > Regards,
> >
> > Reshad.
> >
> >
> >
> > My take would align to yours that we wouldn’t clutter a module with
> > development NBC tracking.
> >
> > Joe
> >
> >
> >
> > Andy
> >
> >
> >
> >
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to