Re: I'm struggling with 2219 language again
Hector Santos <hsantos@isdg.net> Sat, 05 January 2013 03:24 UTC
Return-Path: <hsantos@isdg.net>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCF3221F86BC for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 19:24:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PT9oCTZLRJOc for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 19:24:52 -0800 (PST)
Received: from secure.winserver.com (secure.winserver.com [208.247.131.9]) by ietfa.amsl.com (Postfix) with ESMTP id A87CF21F86C2 for <ietf@ietf.org>; Fri, 4 Jan 2013 19:24:52 -0800 (PST)
DKIM-Signature: v=1; d=isdg.net; s=tms1; a=rsa-sha1; c=simple/relaxed; l=5497; t=1357356284; h=Received:Received: Received:Received:Message-ID:Date:From:Organization:To:Subject: List-ID; bh=Cqr67RPrdAXR6rOpV3Batt1D1U4=; b=YScUYzjaB/xV9H1R0vln yBLtH98tncMPXkNeoeDUVZuyoNlzFf1kc6BJ17PxAQyAuN+HyAvRDlhgnevtDkzJ T8ZKPfJo/PsdFWXHo5395sIM8fo1H6JBRWV8MgEpht11q5MF15u020PvEMNo4Cn2 vCbgiGun/+IbaRPHqSrjaHo=
Received: by winserver.com (Wildcat! SMTP Router v7.0.454.4) for ietf@ietf.org; Fri, 04 Jan 2013 22:24:44 -0500
Authentication-Results: dkim.winserver.com; dkim=pass header.d=beta.winserver.com header.s=tms1 header.i=beta.winserver.com; adsp=pass policy=all author.d=isdg.net asl.d=beta.winserver.com;
Received: from beta.winserver.com ([208.247.131.23]) by winserver.com (Wildcat! SMTP v7.0.454.4) with ESMTP id 493047445.3.5724; Fri, 04 Jan 2013 22:24:44 -0500
DKIM-Signature: v=1; d=beta.winserver.com; s=tms1; a=rsa-sha256; c=simple/relaxed; l=5497; t=1357356235; h=Received:Received: Message-ID:Date:From:Organization:To:Subject:List-ID; bh=w3M9ZvA d/FNyo6Et9gXectiXWld5zwEtTr9+R6dh6n4=; b=h6Bvp2C2XuegXBIgMn7sC3O eHB2eN4UPcJ/HQ6B34kXCK6KcMTkBcqCQ2JNZNka3LpgUrHxNnWGV+B0Ep8pUQ+J 6LVnvf+30XvM+hfTj7Hy9BYGhdwd+Vl0t33OJcbWrCYpADdWz5eVnjbX/9yoRfdG A/TgXCiL8Y0PYfsHIb8E=
Received: by beta.winserver.com (Wildcat! SMTP Router v7.0.454.4) for ietf@ietf.org; Fri, 04 Jan 2013 22:23:55 -0500
Received: from [192.168.1.101] ([99.3.147.93]) by beta.winserver.com (Wildcat! SMTP v7.0.454.4) with ESMTP id 1091751632.10.5072; Fri, 04 Jan 2013 22:23:55 -0500
Message-ID: <50E79D02.5030000@isdg.net>
Date: Fri, 04 Jan 2013 22:24:50 -0500
From: Hector Santos <hsantos@isdg.net>
Organization: Santronics Software, Inc.
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: Scott Brim <swb@internet2.edu>
Subject: Re: I'm struggling with 2219 language again
References: <7ED55FF1-3E1A-4DF7-918E-07790517B848@softarmor.com> <50E719DA.1040709@internet2.edu>
In-Reply-To: <50E719DA.1040709@internet2.edu>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: ietf@ietf.org, Dean Willis <dean.willis@softarmor.com>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Jan 2013 03:24:53 -0000
Scott Brim wrote: > It's a communication problem. If you want your audience to understand > exactly what you're saying, and implement along very specific lines, you > need to tell them in a way they understand. +1 > Personally I prefer a quieter approach, but I've been told that > these days one MUST use MUST or implementors just won't get it. > "Huh, that's a requirement? But you didn't say MUST." I believe in the technical writing style of "Being specific is Terrific!" >I suggest > turning this thread into a survey, and > finding out how people who actually write code look for in order to know > what's required. +1 We have implemented numerous protocols since the 80s. I have a specific method of approaching a new protocol implementation which allows for fastest implementation, testing proof of concept and above all minimum cost. Why bother with the costly complexities of implementing SHOULDs and MAYs, if the minimum is not something you want in the end anyway? A good data point is that for IP/Legal reasons, we do not use other people's code if we can help it and in the early days, open source was not as wide spread or even acceptable at the corporate level. In other words, it was all done in-house, purchased or nothing. I also believe using other people's code has a high cost as well since you don't have an in-house expert understanding the inner workings of the externally developed software. o Step 1 for Protocol Implementation: Look for all the MUST protocol features. This includes the explicit ones and watchful of semantics where its obviously required or things will break, perhaps it fell thru the crack. An important consideration for a MUST is that operators are not given the opportunity to disable these protocol required features. So from a coding standpoint, this is one area you don't have to worry about designing configuration tools, the UI, nor including operation guidelines and documentation for these inherent protocol required features. This is the minimum coding framework to allow for all inteop testing with other software and systems. The better RFC spec is the one that has documented a checklist, a minimum requirement summary table, etc. Good example is RFC 1113 for the various internet hosting protocols. I considered RFC 1123 the "bible!" Technical writing tip: Please stay away from verbosity especially of subjective concepts and please stop writing as if everyone is stupid. I always viewed the IETF RFC format as a blend of two steps of the SE process - functional and technical specifications. Functional specs tell us what we want and technical specs tell us how we do it. So unless a specific functional requirements RFC was written, maybe some verbosity is needed but it should be minimized. Generally, depending on the protocol, we can release code just on using MUST requirements - the bottom line framework for client/server communications. Only when this is completely successfully, can your implementation consider moving on at extending the protocol implementation with additional SHOULD, MAY features and its optional complexities. o Step 2 Look for the SHOULDs. This is the candies of the protocol. If the SHOULD is really simple to implement, it can be lumped in with step 1. I know many believe a SHOULD are really a MUST as an alternative method perhaps - different version of MUST to be done nonetheless. However, I believe these folks play down an important consideration for implementing SHOULD based protocol features: Developers need to offer these as options to deployment operators. In other words, if the operator can not turn it off then a SHOULD was incorrectly used for a MUST which is required with no operator option to disable. o Step 3 Look for the MAYs. Very similar to SHOULD, a good way to consider a SHOULD is as a default enabled (ON out of the box) option and a MAY as a default disabled (OFF out of the box) option. Summary: MUST - required, no operator option to disabled. Of course, its possible to have a hidden, undocumented switch for questionable stuff. SHOULD - good idea, recommended. if implemented, enabled it out of the box. MAY - similar to SHOULD, does not have to be enabled out of box. In both cases for SHOULD and MAY, the operator can turn these protocol features off/on. For a MUST, the operator can not turn the MUST feature. These SHOULD/MAY features are documented for operators and support. One last thing, I believe in a concept I call CoComp - Cooperative Competition, where all competitive implementators, including the protocol technology leader all share a common framework for a minimum protocol generic to all parties and the internet community. It is least required to solve the problem or provide a communication avenue. All else, the SHOULDs, the MAYs, is added value for competing implementators. It generally is what differentiate the various implementators software. I personally believe it is doable to write a new RFC that describe a guideline for protocol development that will minimize conflicts at many levels. Of course, a major part of that is good technical writing skills in principle and the ability to extract and describe what the protocol framework is, which brings it all back to the original issue using the proper communications verbiage to describe a protocol. -- HLS
- I'm struggling with 2219 language again Dean Willis
- Re: I'm struggling with 2219 language again Brian E Carpenter
- Re: I'm struggling with 2219 language again Dave Cridland
- Re: I'm struggling with 2219 language again Lou Berger
- Re: I'm struggling with 2219 language again Bob Braden
- Re: I'm struggling with 2219 language again Scott Brim
- Re: I'm struggling with 2219 language again Peter Saint-Andre
- Re: I'm struggling with 2219 language again Hector Santos
- Re: I'm struggling with 2219 language again Richard Barnes
- RE: I'm struggling with 2219 language again Adrian Farrel
- Re: I'm struggling with 2219 language again Ben Campbell
- Re: I'm struggling with 2219 language again Thomas Narten
- Re: I'm struggling with 2219 language again Mark Nottingham
- Re: I'm struggling with 2219 language again ned+ietf
- Re: I'm struggling with 2219 language again Hector Santos
- A proposal for a scientific approach to this ques… Marc Petit-Huguenin
- Re: I'm struggling with 2219 language again Pete Resnick
- Re: I'm struggling with 2219 language again ned+ietf
- Re: I'm struggling with 2219 language again Dean Willis
- Re: I'm struggling with 2219 language again Riccardo Bernardini
- Re: I'm struggling with 2219 language again Scott Brim
- Re: I'm struggling with 2219 language again Marc Petit-Huguenin
- Re: I'm struggling with 2219 language again C. M. Heard
- Compliance to a protocol description? (wasRE: I'm… Robin Uyeshiro
- Re: I'm struggling with 2219 language again John Levine
- Re: I'm struggling with 2219 language again John Day
- Re: A proposal for a scientific approach to this … John Day
- Re: A proposal for a scientific approach to this … Dick Franks
- Re: A proposal for a scientific approach to this … John Day
- Re: A proposal for a scientific approach to this … Donald Eastlake
- Re: A proposal for a scientific approach to this … Martin Rex
- Re: A proposal for a scientific approach to this … Marc Petit-Huguenin
- Re: A proposal for a scientific approach to this … John Day
- Re: A proposal for a scientific approach to this … Dick Franks
- Re: A proposal for a scientific approach to this … John Day
- Re: A proposal for a scientific approach to this … Martin Rex
- Re: A proposal for a scientific approach to this … Martin Rex
- Re: A proposal for a scientific approach to this … Hector Santos