Dave Crocker's & Marshall Rose's message

"Mark Day" <[email protected]> Thu, 3 Jul 2003 09:25:32 -0400
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
I and at least one other person did not receive this message via the IMPP
list, it had to be forwarded to me. I am (re)sending it to IMPP in case
others had likewise missed it.

--Mark

> > From: Dave Crocker [mailto:[email protected]]
> > Sent: Thursday, June 26, 2003 4:38 PM
> > To: [email protected]
> > Cc: [email protected]; ietf
> > Subject: Re: Last Call: A Model for Presence and Instant Messaging to
> > Proposed Standard
> >
> >
> >
> > Folks,
> >
> > This note cites substantive process and technical problems with the
> > candidate specifications being submitted from the Instant Messaging and
> > Presence (IMPP) working group. The group's charter specifies the scope
> > to be to "define protocols and data formats necessary to build an
> > Internet-scale end-user presence awareness, notification and instant
> > messaging system".
> >
> > IMPP discussions began January, 1997 -- 5 1/2 years ago. It took one
> > year to get chartered and another year to develop requirements, which
> > were finally issued on February, 2000 (RFCs 2778-9). There have been no
> > RFCs issued in the 3 1/2 years since then.
> >
> > Protocol development efforts were thwarted by the existence of several
> > different technical constituencies and much effort, but no progress, at
> > reconciling them. Two and a half years ago, the area directors
> > acknowledged that a single, homogeneous protocol was not going to be
> > developed, so they called for development of a "gatewaying"
> > specification -- CPIM. They hoped to permit interconnection among the
> > heterogeneous protocols being proposed, with the possibility of also
> > interconnecting the various and popular services already in use.
> > Unfortunately, this fundamental change in working group direction was
> > never formally documented or approved through a charter revision.
> >
> > The issues discussed below have previously been raised in the working
> > group, over the last year. The concerns raised were not resolved.
> >
> > The working group's output suffers from:
> >
> >      1.   PROCESS FAILURES
> >      1.1. Lack of participation and constituency
> >      1.2. Out of scope with charter
> >      1.3. Failure to resolve issues raised in the working group
> >
> >      2.   TECHNICAL FAILURES
> >      2.1. Confused and conflicting goals
> >      2.2. Incomplete and unclear specifications.
> >
> > IMPP has a long and erratic history. It has incurred multiple changes in
> > direction and multiple changes in its staff and oversight. The proffered
> > work reflects this.
> >
> >
> > Let's consider each of these points:
> >
> >
> >
> > 1.   PROCESS FAILURES
> >
> > 1.1. Lack of participation and constituency
> >
> > Who is the audience for this work and what is the basis for believing
> > the work will be used?  The documents claim a goal of interoperability
> > among heterogeneous IM and Presence services, but the normative content
> > of the work precludes that goal.
> >
> > In fact the normative work is for an end-to-end, homogeneous service.
> > Who will implement and use such work, and why?
> >
> > A strong indication that the work is not relevant to the Internet
> > technical and operations community has been a dramatic drop-off in
> > participation.
> >
> > The working group has been essentially inactive for the 6 months of
> > 2003, except for a post hoc exercise to write a "charter".
> >
> > During the 12 months before that, no more than 15 people made regular
> > contributions (using roughly one posting per month as the threshold.)
> > Only 10 of these participants posted 2 or more messages per month during
> > that time.
> >
> > In reality, for the last 18 months, the real working group activity has
> > been a dialogue among 4-5 people, with very few other participants.
> >
> > This does not bode well at all for industry interest in -- and use of --
> > this work product.
> >
> >
> > 1.2. Out of scope with charter
> >
> > For the last 2.5 years, the working group has been operating without a
> > meaningful charter. All of the work done during that time is out of
> > scope with the text of the original charter.
> >
> > The lack of a concrete, updated charter has allowed the WG to behave in
> > an arbitrary fashion with respect to its choice of technical goals and
> > the soundness of the engineering decisions it has made. This explains,
> > for example, why there is no rationale for honoring some IMPP
> > requirements, but not others.
> >
> > Recently, at the request of an Area Director, the co-chairs authored
> > draft-day-atkins-impp-defacto-00 as a "de facto" charter. Several
> > participants have objected to this contribution, but its authors have
> > not responded to the issues raised.
> >
> > Although proposing a "de facto" charter is one way of appearing to
> > legitimize the WG's behavior, the ADs would be well served by returning
> > to first principles and asking themselves whether the WG has adhered to
> > architectural and engineering principles that are sound, and whether
> > there is a reasonable basis for believing that this work will get
> > serious use on the Internet.
> >
> > Equally importantly, we either believe in the rules or we don't. The
> > rules say that work-product has to conform to charter. The rules do not
> > say "do some work, then write a charter to reflect the work-product".
> > Even if the proffered work was a marvel of architectural soundness and
> > engineering quality (which, as we'll discuss below, it clearly isn't),
> > this "ex post facto" approach would raise the hackles of anyone who
> > considers consistent IETF process to be a mandatory thing.
> >
> >
> > 1.3. Failure to resolve issues raised in the working group
> >
> > The issues listed in the Section 2 below (Technical Failures) were all
> > raised carefully during the working group process. They remain
> > unresolved and some received no response.
> >
> > The problem with the group's dichotomy between end-to-end vs. gateway
> > goals was discussed repeatedly.  Only towards the end of the working
> > group's effort did this appear to become resolved -- in the direction of
> > an end-to-end content standard.  However, even then it was
> clear that the
> > few remaining participants in the group continued to hold very different
> > understandings of the goal.  Consequently, the confusion in the working
> > group documents, on this point, is a regrettable, though accurate,
> > rendition of the unresolved problem within the group.
> >
> >
> >
> > 2.   TECHNICAL FAILURES
> >
> > 2.1. Confused and conflicting goals
> >
> > The nature and the detail of these specifications are incomplete and
> > often unclear. The work shows a split between the claimed goal of
> > interconnecting heterogeneous IM and Presence services, versus the
> > actual goal of specifying homogeneous, end-to-end IM and Presence
> > services.
> >
> > The specifications call for features that go beyond what is required for
> > a minimal functional core of interoperability. These added features
> > serve to severely reduce the likelihood that the specifications will be
> > used for interconnecting heterogeneous services.
> >
> > As noted in a curious discussion within the working group, recently, the
> > IMPP Requirements documents were used arbitrarily for justifying some
> > design decisions, but not others.  There is no basis for knowing why
> > those requirements sometimes applied to the IM and Presence "gatewaying"
> > work but at other times did not.
> >
> > Consider this fragment from Section 3.3 (Format of Instant Messages) of
> > draft-ietf-impp-im-03:
> >
> >      This specification defines an abstract interoperability
> mechanism for
> >      instant messaging protocols; the message content definition given
> >      here pertains to semantics rather than syntax.  However, some
> >      important properties for interoperability can only be provided if a
> >      common end-to-end format for instant messaging is employed by the
> >      interoperating instant messaging protocols, especially with respect
> >
> > In other words, this specifies (and requires implementation of support
> > for) an end-to-end syntax as well as semantics.
> >
> > It should be noted that the message format, defined by the working
> > group, is new and will require a new suite of parsers, generators, and
> > editors.  Although it purports to be a sub-set of RFC822, the format has
> > notable requirements -- such as Unicode -- that are not in RFC822. While
> > the desire to improve on existing practise is laudable, it defeats the
> > goal of gatewaying heterogeneous systems.
> >
> >
> > 2.2. Incomplete and unclear specifications.
> >
> > (Lest there be any misunderstanding about this title of this
> > sub-section, it is meant to cover the reasons that -- independent of
> > process and goal debates -- the specifications "won't work".)
> >
> > Simply put, the specification suffer key omissions and ambiguities which
> > make development of interoperable implementations highly unlikely.
> > Consider this fragment Section 3.1 (Overview of Instant Messaging
> > Service) of draft-ietf-impp-im-03:
> >
> >      its initial value is set by the originator.  The TransID
> is a unique
> >      identifier used to correlate message operations to response
> >
> > "Unique" is not specified in any of the documents.  The obvious
> > question is: unique with what scope?
> >
> > Ensuring uniqueness in transaction identifiers is a well-known
> > challenge, with well-known resolutions -- notably from the transport
> > arena. Yet the specification does not mention it.  This makes it likely
> > that some implementations will create ambiguous TransIDs.
> >
> >
> > Alternatively, consider this fragment from Section 3.4.1 (The Message
> > Operation) of draft-ietf-impp-im-03:
> >
> >      When an application wants to send an INSTANT MESSAGE, it
> invokes the
> >      message operation.
> >
> >      When an instant messaging service receives the message
> operation, it
> >      performs the following preliminary checks:
> >
> > Does this refer to the application/im-client interaction, the
> > im-client/im-server interaction, or what?
> >
> > Or consider this other fragment from draft-ietf-impp-im-03:
> >
> >      4.  Provided these checks are successful:
> >
> >      If the instant messaging service is able to successfully
> >      deliver the message, a response operation having status
> >      "success" is invoked.
> >
> >      If the service is unable to successfully deliver the message,
> >      a response operation having status "failure" is invoked.
> >
> >      If the service must delegate responsibility for delivery (i.e.
> >      if it is acting as a gateway or proxying the operation), and
> >      if the delegation will not result in a future authoritative
> >      indication to the service, a response operation having status
> >
> > This demonstrates a very serious effect from using the fuzzy term
> > 'service' rather than citing specific component-component interactions:
> > It appears to mean that there is an end-to-end, real-time dependency
> > chain for generating a response to a request. Each node along a relay
> > path must withhold generating a response until the next node gives it
> > the delivery -- i.e., the final -- status result.
> >
> > Note that this is fundamentally different from Email. In effect, it uses
> > the equivalent to the Email SMTP Delivery Status Notification as the
> > *sole* operations response mechanisms, with no intermediate (hop-by-hop)
> > relaying report.
> >
> >
> > Similarly, consider Section 3.1 (3.1 Overview of the Presence Service)
> > of draft-ietf-impp-pres-03:
> >
> >      The duration specifies the
> >      maximum number of seconds that the SUBSCRIPTION should be active
> >      (which may be zero, in which case this is a one-time request for
> >      presence information).
> >      ...
> >      If the duration parameter is non-zero, then for up to the specified
> >      duration, the service invokes the notify operation
> whenever there are
> >      any changes to the PRESENTITY's presence information.
> >
> > How can "duration" have any useful meaning when there is no baseline
> > reference for the starting point or ending point of the duration and
> > when Internet exchange latencies are completely unpredictable? In other
> > words, when a participant receives a duration value from another
> > participant, what does it mean? Duration relative to what point of time?
> > We do not know how many seconds it took for the service data to reach
> > the receiving participant.
> >
> > But wait! Here are three more examples:
> >
> > This fragment is from Section 3 (Address Resolution) of
> > draft-ietf-impp-srv-03:
> >
> >      A client determines the address of an appropriate system running a
> >      server, on behalf of the system referenced by the domain, by
> >      resolving the destination domain name that is part of the
> identifier
> >      to either an intermediate relay system or a final target system.
> >
> > This is the first, normative section in the document.  Yet it does not
> > define 'address' nor refer to URI or URLs. There is no sense of what
> > "appropriate' means, nor what "system referenced by the domain" means.
> >
> > Use of the term "identifier" suggests at least some confusion with the
> > otherwise-used term "address".
> >
> > Or consider this fragment from Section 5 (Processing SRV RRs), ibid:
> >
> >      ...
> >      The choice of IM transfer protocol is a local configuration option
> >      for each system.
> >
> > Besides not indicating *whose* choice is being cited, this text leaves
> > quite a bit unspecified.  The change that was previously suggested was
> > intended to make the roles and actions of participating parties
> > explicitly clear:
> >
> > "Receiving systems that are registered for this DNS-based SRV resolution
> > service list the transfer protocols by which they can be reached, either
> > directly or through a translating gateway. The transfer-time choice of
> > the IM transfer protocol to be used (and, therefore, to be resolved) is
> > a local configuration option for each sending system."
> >
> > Or consider this fine gem from from Section 5 (Processing SRV
> RRs), ibid:
> >
> >
> >      Using this mechanism, seamless routing of IM traffic is possible,
> >      regardless of whether a gateway is necessary for
> interoperation.  To
> >      achieve this transparency, a separate RR for a gateway must be
> >      present for each transfer protocol and domain pair that it serves.
> >
> > "domain <<pair>> that it serves"?
> >
> > I suspect that this should be "transfer protocol and target domain that
> > it serves".
> >
> > Let's face it: the proffered work has no realistic chance of meaningful
> > interoperable implementation.
> >
> >
> >
> > CONCLUSIONS:
> >
> > The proffered specifications represent many person-hours of
> > well-intentioned effort. However the documents suffer fatally from
> > delay, lack of focus, and lack of a clear charter. In their current
> > form, they represent a fundamental violation of IETF process; they have
> > no obvious user community to embrace them; and they would not work if
> > there were one.
> >
> >
> > /Dave
> > /Marshall




  [reminder: [email protected] for non-technical discussions, please]