ietf
[Top] [All Lists]

Re: IETF and APIs

2011-04-04 13:02:21
Hi -

From: "Tom Yu" <tlyu(_at_)MIT(_dot_)EDU>
To: "Sam Hartman" <hartmans-ietf(_at_)mit(_dot_)edu>
Cc: <iab(_at_)ietf(_dot_)org>; <ietf(_at_)ietf(_dot_)org>
Sent: Wednesday, March 30, 2011 2:40 PM
Subject: Re: IETF and APIs

Personal observation: "API" is a subclass of "interface".  "Network
protocol" is a subclass of "interface".  Interfaces (in the general
case) are valuable things to standardize.  An abstract interface
("abstract API"?) that gives guidance to implementors above and beyond
the bare specification of the network protocol is useful for achieving
conceptual alignment.

Do people agree?

Yes and no.  The experience with SNMPv3's ASIs (Abstract Service
Interfaces) might be instructive.

   (1) because implementations of the protocol (or something very
         similar to it) already existed, requiring conformance to the
         ASIs (beyond the externally-visible behaviour they described)
         found no support.

   (2) Despite (1), there are *still* people who think the ASIs will be 
reflected
         in implementations' APIs.  (They generally aren't.)

   (3) Even though there was already considerable experience with the
         implementation of the protocol when these Abstract Service
         Interfaces were defined, later work (especially in the isms WG)
         found that these definitions required some serious tweaks to
         handle cases that people were already thinking about when the
         interfaces were defined in the first place.

   (4) Some of the lengthy WG discussions and awkward hacks 
         resulting from (3) in subsequent RFCs  were only an artifact of
         the specification technique, and were not necessitated by
         actual protocol or implementation constraints, in my opinion.

Still, I think it can be very helpful to specify a C library API for things 
that are
actually intended to be used like libraries, but I also know that it can
be surprisingly difficult to get them "right" for all environments.

Randy

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf

<Prev in Thread] Current Thread [Next in Thread>