- From: Larry Masinter <masinter@adobe.com>
- Date: Tue, 30 Dec 2008 09:31:57 -0800
- To: "Ray Denenberg, Library of Congress" <rden@loc.gov>, Ian Hickson <ian@hixie.ch>, Anne van Kesteren <annevk@opera.com>
- CC: "www-tag@w3.org" <www-tag@w3.org>, "stpeter@jabber.org" <stpeter@jabber.org>
> By the way, where it says "There must be at least two interoperable > implementations...." I think the intent is to say "There must be at least > two conforming implementations ...", not "There must be at least two > uniform(?) implementations ..." > In any case "interoperable" is not the proper term to use. I argued this for > several years and eventually gave up. But I have to back Larry up on this. > His definition is the traditional one in standards. The criterion given in http://www.w3.org/TR/CSS21/#crec "There must be at least two interoperable implementations for every feature." which was adapted from the W3C process document: http://www.w3.org/2005/10/Process-20051014/tr.html " Shown that each feature of the technical report has been implemented. Preferably, the Working Group should be able to demonstrate two interoperable implementations of each feature." which used the term "interoperable" without definition or reference. The phrase itself was taken from (and the process somewhat in reaction to) the IETF process, described in RFC 2026 (http://too ls.ietf.org/html/bcp9) without the rest of the context: In general, an Internet Standard is a specification that is stable and well-understood, is technically competent, has multiple, independent, and interoperable implementations with substantial operational experience, enjoys significant public support, and is recognizably useful in some or all parts of the Internet. and o These procedures are explicitly aimed at recognizing and adopting generally-accepted practices. Thus, a candidate specification must be implemented and tested for correct operation and interoperability by multiple independent parties and utilized in increasingly demanding environments, before it can be adopted as an Internet Standard. and A specification from which at least two independent and interoperable implementations from different code bases have been developed, and for which sufficient successful operational experience has been obtained, may be elevated to the "Draft Standard" level. For the purposes of this section, "interoperable" means to be functionally equivalent or interchangeable components of the system or process in which they are used. If patented or otherwise controlled technology is required for implementation, the separate implementations must also have resulted from separate exercise of the licensing process. Elevation to Draft Standard is a major advance in status, indicating a strong belief that the specification is mature and will be useful. The requirement for at least two independent and interoperable implementations applies to all of the options and features of the specification. In cases in which one or more options or features have not been demonstrated in at least two interoperable implementations, the specification may advance to the Draft Standard level only if those options or features are removed. The W3C process was developed somewhat in reaction to the cumbersome requirements of the IETF, recognizing that in "Internet speed", most specifications were well-deployed well before they met the IETF's stringent qualifications for "Internet standard", but the IETF terminology and requirements were the basis for the discussions. The phrase "two independent interoperable implementations of every feature" was used as a shorthand for the IETF Draft Standards requirement, but the shorthand was widely misinterpreted, in the sense that "interoperable" was taken to apply to the part (the feature) rather than the whole. Apparently that happened with the CSS committee, which apparently wound up defining "feature" and "interoperable" without any W3C guidance to the source of those terms. Based on experience with HTTP and WebDAV interoperability events, I drafted a proposed IETF process document: http://tools.ietf.org/html/draft-ietf-newtrk-interop-reports-00 with the suggestion that someone attempt to make such a report before going further, which resulted in: http://tools.ietf.org/html/draft-saintandre-xmpp-interop-report-00 I'm not sure if this is too formal, but it at least captures a definition of "implementation", "interoperable" and "feature". Larry -- http://larry.masinter.net
Received on Tuesday, 30 December 2008 17:32:58 UTC