[Sip] On The Essentialness of Corrections
Dean Willis <dean.willis@softarmor.com> Fri, 14 December 2007 17:42 UTC
Return-path: <sip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1J3EYJ-0004jN-Im; Fri, 14 Dec 2007 12:42:23 -0500
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1J3EYI-0004i0-6H for sip-confirm+ok@megatron.ietf.org; Fri, 14 Dec 2007 12:42:22 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1J3EYH-0004hs-Ra for sip@ietf.org; Fri, 14 Dec 2007 12:42:21 -0500
Received: from nylon.softarmor.com ([66.135.38.164]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1J3EYH-0004A9-8J for sip@ietf.org; Fri, 14 Dec 2007 12:42:21 -0500
Received: from [192.168.2.100] (cpe-76-185-142-113.tx.res.rr.com [76.185.142.113]) (authenticated bits=0) by nylon.softarmor.com (8.13.8/8.13.8/Debian-3) with ESMTP id lBEHgJX6023939 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <sip@ietf.org>; Fri, 14 Dec 2007 11:42:20 -0600
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Transfer-Encoding: 7bit
Message-Id: <B765A23B-AB7F-4723-A957-4EEB48788FA4@softarmor.com>
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
To: IETF SIP List <sip@ietf.org>
From: Dean Willis <dean.willis@softarmor.com>
Date: Fri, 14 Dec 2007 11:42:13 -0600
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6cca30437e2d04f45110f2ff8dc1b1d5
Subject: [Sip] On The Essentialness of Corrections
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Errors-To: sip-bounces@ietf.org
Keith has been kind enough to define a process for rolling up all the updates/corrections/revisions to RFC 3261 we might process in a given year into a single document. This process is documented in draft- drage-sip-essential-correction-02. We hope to apply this same process to other RFCs in the core set. We've recently been having some discussion on what, if any, drafts should be steered into this process vs. conventional standards and BCP tracks. Let's revisit the rationale for the "essential corrections" process: the idea is to reduce the number of documents that an implementer will have to read in order to produce a correct implementation of our RFCs. Problems and their corrections belong not in a bug-tracking system, but need to be resolved in IETF-published documents. I believe that Jonathan sees draft-ietf-sip-hitchhikers-guide-04 as the place where all of the core RFCs, their extensions, and corrections thereto are put into a usable order and given the perspective needed to make them work. That's certainly one way to track the relationships between various documents, and I think we need it. But I think we need something else. There are two primal approaches to updating RFCs. In one, every change is an optional extension to the RFC that might or might not be used. Negotiation mechanisms like option tags are required for every extension, as is fallback behavior to operation without that extension. The nature of the core protocol remains unchanged -- perhaps certain modalities are never exercised, but they remain in the specifications as paths that need to be tested for when considering compliance against the specifications. The second approach is to issue revisions that actually change the specification, potentially eliminating or replacing entire blocks of functionality that need no longer be tested, and potentially inserting new behavior that becomes "the standard" against which implementations are judged. The most obvious way to make these sort of changes to an RFC is to issue a new RFC that replaces (and makes obsolete) an older one. IETF also allows new RFCs to "revise" older ones, essentially including them by reference into a new specification. The problem with this approach is that it might be possible for many such revisions to be made to a large spec such as RFC 3261, and it then becomes very difficult to effectively "merge" all these changes into a working specification against which one can implement (and test) correctly. Out "essential corrections" process is an attempt to manage the complexity of many revisions by collecting those revisions into periodic batches and issuing each batch as an RFC that revises a core specification. The question is: Which, if any, changes need to be processed as extensions and which as revisions? Here's a test I'd like to propose: If the change is such that if we were re-writing the affected RFC we'd include the new behavior as normative behavior, then we track it as a revision. This allows us to fully deprecate the behavior that it replaces, such that we no longer have to consider the old behavior when compliance testing. If we can't deprecate the replaced behavior, then we really do have an extension (not a revision), and we need an extension negotiation mechanism to know when it can be used or is being used. I'd actually like to see us go beyond the batching of "essential corrections" and start maintaining complete and fully-revised versions of the normative behaviors as internet drafts, perhaps occasionally publishing them as RFCs that replace the older versions. So for example with RFC 3261, we'd maintain a "draft-ietf-sip-rfc3261- bis" that would start as a copy of RFC 3261 (with current boilerplate, of course) and then be edited to reflect the changes documented in each "essential correction" we agree to. Then instead of telling implementors to go read RFC 3261 plus a dozen more potentially conflicting revision documents, we could just say "see draft-ietf-sip-rfc3261-bis-xx". -- Dean _______________________________________________ Sip mailing list https://www1.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use sip-implementors@cs.columbia.edu for questions on current sip Use sipping@ietf.org for new developments on the application of sip
- [Sip] On The Essentialness of Corrections Dean Willis
- [Sip] On The Essentialness of Corrections Juha Heinanen
- Re: [Sip] On The Essentialness of Corrections Vijay K. Gurbani
- Re: [Sip] On The Essentialness of Corrections Jonathan Rosenberg
- Re: [Sip] On The Essentialness of Corrections Dean Willis
- Re: [Sip] On The Essentialness of Corrections Dean Willis
- Re: [Sip] On The Essentialness of Corrections Juha Heinanen
- Re: [Sip] On The Essentialness of Corrections Dean Willis
- Re: [Sip] On The Essentialness of Corrections Frank W. Miller
- RE: [Sip] On The Essentialness of Corrections Elwell, John
- Re: [Sip] On The Essentialness of Corrections Vijay K. Gurbani
- Re: [Sip] On The Essentialness of Corrections Juha Heinanen
- Re: [Sip] On The Essentialness of Corrections Jonathan Rosenberg