Re: Call for volunteers for C/C++ API liaison manager

Joe Touch <touch@isi.edu> Thu, 01 May 2014 17:38 UTC

Return-Path: <touch@isi.edu>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAF001A6FCC; Thu, 1 May 2014 10:38:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.851
X-Spam-Level:
X-Spam-Status: No, score=-4.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ThxyDcE51Q7c; Thu, 1 May 2014 10:38:14 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by ietfa.amsl.com (Postfix) with ESMTP id D6E951A0919; Thu, 1 May 2014 10:38:14 -0700 (PDT)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id s41Hc5kC003062 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 1 May 2014 10:38:06 -0700 (PDT)
Message-ID: <5362867E.4090407@isi.edu>
Date: Thu, 01 May 2014 10:38:06 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Thomas Nadeau <tnadeau@lucidvision.com>
Subject: Re: Call for volunteers for C/C++ API liaison manager
References: <EB423B81-41F2-480D-B1EE-80E1753E1CDB@iab.org> <53618BDD.1080900@isi.edu> <368E668C-E60A-4D65-B3C6-F3CFCB66EBA7@lucidvision.com> <536261F0.1070004@isi.edu> <F12396FD-1035-4530-948C-FBD02DF741D6@lucidvision.com> <53627B10.1080906@isi.edu> <C1014F9B-B387-4251-8E65-99DDB560BB16@lucidvision.com>
In-Reply-To: <C1014F9B-B387-4251-8E65-99DDB560BB16@lucidvision.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: http://mailarchive.ietf.org/arch/msg/ietf/83BvbgnyWxtV31INgZ5KZOZ981c
Cc: IAB <iab@iab.org>, IETF <ietf@ietf.org>, IETF Announce <ietf-announce@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 01 May 2014 17:38:15 -0000

On 5/1/2014 10:33 AM, Thomas Nadeau wrote:
>
> On May 1, 2014:12:49 PM, at 12:49 PM, Joe Touch <touch@isi.edu> wrote:
>
>>
>>
>> On 5/1/2014 8:26 AM, Thomas Nadeau wrote:
>>>
>>> On May 1, 2014:11:02 AM, at 11:02 AM, Joe Touch <touch@isi.edu> wrote:
>>>
>>>>
>>>> On 5/1/2014 5:12 AM, Thomas Nadeau wrote:
>>>>>
>>>>> 	APIs are not that useful unless there is code behind them.
>>>>
>>>> Ultimately, yes. But the code represents an instance of the API.
>>>
>>> That depends on your perspective. These days the code IS the API, in
>>> particular open source code. Standards bodies do not need to define the
>>> APIs; implementation communities do that already. The IETF should
>>> probably stick to on-the-wire protocols.
>>
>> A protocol is defined by:
>>
>> 	- internal state
>> 	- message "on the wire" formats
>> 	- upper layer events
>> 	- lower layer events (message arrivals/departures)
>> 	- time events
>>
>> Leave any of the 6 above out and you have an incomplete spec.
>>
>> The "on the wire" part is only a fraction of what's needed. If you don't believe that, then write a TCP implementation from the header format alone, and let's see how well it works.
>
> 	Why do any of those things need a standards-based API to program to?

The API is the upper-layer events. Without that, you can't define the 
semantics of the interaction with the upper layer.

FWIW, I'm talking about IETF standard API, not Unix-standard or 
C-standard. The latter are required to ensure implementation 
compatibility, but can't be defined without the former.

Joe