Re: Experimental (was: Re: homework, not an experiment, draft-crocker-email-deliveredto)

John C Klensin <[email protected]> Tue, 17 Aug 2021 13:19:16 -0400
Newsgroups gmane.ietf.smtp
Message-ID <8CB30893E2833E578CCD24C6@PSB>

--On Tuesday, August 17, 2021 09:32 -0700 "Murray S. Kucherawy"
<[email protected]> wrote:

> On Tue, Aug 17, 2021 at 7:10 AM John C Klensin
> <[email protected]> wrote:
> 
>> With one qualification, it seems to me that it would be a
>> legitimate experiment, well within the intent of BCP 9, to
>> create a definition this, or more, precise and then see
>> whether existing implementations that use this field or ones
>> that appear (at least superficially) similar to it evolve to
>> conform.  That seems consistent with several of the bullet
>> points in Section 8 of the document as well.    The
>> qualification is that, while it would be interesting to find
>> out if this were the exception, we have considerable
>> experience that, if a feature is implemented and used by
>> implementations with particular syntax and semantics, the
>> odds of those implementations making changes that might
>> disrupt existing uses and operations and introduce confusion
>> as to whether the "old" or "new" definitions were in use is
>> vanishingly small.   Nonetheless, it would be a real
>> experiment and it is not clear to me whether the document
>> needs additional work to explain that.
>> [...]
>> 
> 
> Fair enough.  I don't necessarily object to the use of
> Experimental, but I think it appropriate to explain its
> curious use in the context of a technique that has existed in
> some form for quite a while now.   I take the BCP 9 definition
> to mean "let's try this" more so than "let's write down this
> thing we've been 'trying' in some form or another since the
> '90s". Anyone reviewing this later (the ISE, the IESG during
> its conflict review, anyone the ISE asks to look at it, etc.)
> is also liable to trip over this, so a sentence or two
> explaining the dissonance would probably help to smooth its
> handling.

Murray,

I certainly agree that there is some apparent dissonance, that
the use is curious, and that more explanation would be desirable
and possibly a requirement.  
 
However, after thinking more about the comments from Victor
today and reviewing more of the comments on list, I think there
is another serious obstacle (or maybe just a choice).  IMO
(now), if it is an Experiment, it must either:

* carefully explain its relationship to existing implementations
that probably won't change, address the question of semantics
that Victor and others have raised (either what they are or why
they are unimportant), and make what it would mean to be
interoperable clear.  Probably that includes some hints about
how a particular MDA or other user of the field can distinguish
the new/Experimental version and definition from the historical
ones. The interoperability issue is no less important if
"private" is part of the story than if it is not although the
"private" description would probably be much shorter.

   --or--

* treat this a something new, with a new header field name, and
proceed to describe that new thing.  Presumably that should
include a discussion of why it is different and implementations
should provide it instead or in in addition to Delivered-to,
Envelope-to, Received...for, and anything else that is
considered particularly relevant, but we have traditionally cut
Experimental documents some slack and it would be, IMO, entirely
plausible for an Experimental description of a header field with
a new name to carefully describe figuring that out as part of
the experiment.  A new field name would bring a bonus: we could
consider whether a registered token at the beginning of the
field that identified the relevant MDA (or whatever) would be
helpful in efficiently eliminating any possible "is this really
mine" confusion.

Otherwise, it seems likely to me (and I gather certain to
Victor) that an "Experiment" would be generally ignored (in
which case, what would the point be) or that it would introduce
confusion with existing practice (in which case there should be
far stronger reasons to not publish than procedural definitions).

Where Victor (and others) and I may disagree is whether the
first of those options is even possible.  I think it probably
is, but I am not strongly convinced (and "probably possible"
does not translated to "necessarily a good idea").

best,
   john