Understood. 'Reference' implementation has a narrower meaning in ISO
and other organizations I've worked with. The term 'sample' implementation
is preferred there. The issue is normative binding of the implementation
to the specification. One should not have to read the code to determine
how one must implement it. One can review code if available to see a way
and that gets into the value of open source. On the other hand, binding
the specification to any source could mean that only that source can
be used. Reference implementations (in the narrower sense) are sometimes
applied to situations in which there is only one way to implement the
spec and achieve its operational goals. They are rarely necessary.
Sample implementations are always useful.
The IP problems are numerous but separable.
Thanks for the clarification.
len