To amplify Rich's point, there are two very common definitions of
"reference implementation" which while similar are not the same:
1) The best known implementation, often used to test interoperability.
2) An implementation whose operation is considered to be the definition
of the system it implements.
For example, in OpenFlow, the implementation done in conjunction with
the ONF was the reference implementation. In case of a conflict between
the specification and the code, as I understood it, the code was
considered correct and the document would be fixed.
In contrast, for any protocol defined by the IETF, the RFC is the
definition. It may be found to have errors (anything can), in which
case there are various ways to fix it. Implementations are
extraordinarily useful, but do not define the behavior.
Yours,
Joel
On 6/3/2023 10:18 AM, Salz, Rich wrote:
Recently, a colleague made a statement about a software distribution
being "the reference implementation" for a protocol.
Those people are bragging. :)
As this phrase is regularly used to refer to protocol implementations,
is there a normative definition published somewhere in the RFCs about
what constitutes a reference implementation?
No. It's a term of art, widely used in the software business, that has various shades of meaning.
You might look at RFC 7942.