Re: deprecating Postel's principle - considered harmful - relying on early implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The particular examples I am most familiar with were cases where the vendor had implemented silicon to handle the protocol. This is one of the differences between behaviors higher in the stack and some of the behaviors lower in the stack.
Yours,
Joel

On 5/11/19 11:22 PM, Eric Rescorla wrote:


On Sat, May 11, 2019 at 6:53 PM Joel M. Halpern <jmh@xxxxxxxxxxxxxxx <mailto:jmh@xxxxxxxxxxxxxxx>> wrote:

    Several folks have mentioned early implementations.  In general, they
    are a great thing that gives us lots of feedback.

    Having said that, I will note that if a major vendor invests too
    much in
    that early implementation, they get rather wedded to the version of the
    spec they implemented.  Which can create problems for the working group
    when it discovers that changes are needed.

    In particular, if that early implementation is very strict, it is
    harder
    for it to work with something different that the IETF determines is
    needed.


Certainly this is a risk, but my experience with both TLS and QUIC has been that this
has not really been the case, for two reasons:

1. The vast majority of the implementors in both cases have been very good about
changing their implementations.

2. Because we are indicating separate version numbers for each draft version, there is an opportunity to debug interop issues at the time you rev your version.

Of course, this may be a set of conditions which mostly apply to protocols like
those on the Web where many of the vendors are able to quickly roll out each
new version. YMMV.

-Ekr


    Yours,
    Joel

    On 5/11/19 6:59 PM, Michael Richardson wrote:
     >
     > Eric Rescorla <ekr@xxxxxxxx <mailto:ekr@xxxxxxxx>> wrote:
     >      > I think this graf does a good job of bringing out the key
    point which I take
     >      > Martin to be pushing on. As you say, it would be nice to
    have fewer bug "bug
     >      > compatibility switches".
     >
     > I really like how you wrote this.
     > The worse case is where one vendor plows ahead (or has some
    legacy system),
     > and then everyone else has to adjust to their bugs, and that
    never goes away.
     >
     >      > One way to achieve that is for the initial implementations
    to be very strict
     >      > about rejecting violations of the specification. Then,
    when new
     >      > implementations are introduced into the ecosystem, if they
    do not conform to
     >      > those aspects of the specification and are forced to
    implement the protocol
     >      > correctly. By contrast, if the early implementations are
    very loose in their
     >      > enforcement of protocol violations, then it is likely that
    some set of
     >      > implementations will also violate the specification in the
    data they
     >      > transmit, with the result that future implementations will
    have to implement
     >      > "bug compatibility switches" in order to be able to
    function correctly.
     >
     > I wonder how we could, without really giving up the Postel
    principle, capture
     > this sense into our Internet Standard step.
     >
     > Eric Rescorla <ekr@xxxxxxxx <mailto:ekr@xxxxxxxx>> wrote:
     >      > There seem to be two main equilibria:
     >
     >      > 1. There's a critical mass of very strict implementations;
    in this case it's
     >      > very hard for a non-conformant implementation to enter the
    ecosystem.
     >      > 2. There's a critical mass of non-conformant
    implementations; in this case
     >      > it's very hard for a strict implementation to enter the
    ecosystem.
     >
     >      > Once you're in one equilibrium or the other, it's very
    hard to get out.
     >
     > I am repeating what you said here, because I like the analysis of
    equilibria,
     > and maybe this is the clue to answering my question above.
     >
     >      > was pretty clear. Also, at least in QUIC/TLS, etc. the
    early adopters
     >      > coordinate pretty well, so they mostly agree on how to
    interpret the
     >      > protocol.
     >
     > And, if the running code is done early enough, then the rough
    consensus in
     > the document will reflect that majority view, and there won't be
     > compatibility bugs.  But, that requires multiple implementations,
    and it
     > requires implementing before RFC, and many vendors won't do that.
     >
     > (ps: EKR great write-up/blog about the firefox add-on fix last
    weekend. Sorry
     > that everyone lost their weekend to that...)
     >
     > --
     > Michael Richardson <mcr+IETF@xxxxxxxxxxxx
    <mailto:mcr%2BIETF@xxxxxxxxxxxx>>, Sandelman Software Works
     >   -= IPv6 IoT consulting =-
     >
     >
     >





[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux