Reference implementation: Difference between revisions

Content deleted Content added
+base64
m
Line 10:
# Helps to clarify the intent of the specification in situations where [[Conformance testing|conformance tests]] are inadequate<ref>Curran, Patrick (2003). ''Conformance Testing: An Industry Perspective''. Sun Microsystems. [https://web.archive.org/web/20120303000051/http://vote.nist.gov/speeches/1%20-%20Specification%20Panel/6%20-%20Curran.pdf]</ref>}}
 
Reference implementations of algorithms, for instance [[cryptographic algorithm]]s, are often the result or the input of [[standardization]] processes. In this fucntionfunction they are often dedicated to the [[public ___domain]] aswith their [[publicsource ___domain softwarecode]] with theiras [[sourcepublic code___domain software]]. Examples are the first [[CERN HTTPd|CERN's httpd]]<ref>[http://web.archive.org/web/20140817185526/http://home.web.cern.ch/topics/birth-web/licensing-web The birth of the web Licensing the web] on cern.ch (2014)</ref> in 1993, [[Serpent (cipher)|Serpent]] cipher in 1999, and several [[base64]] variants<ref>[http://libb64.sourceforge.net/ libb64] on sourceforge</ref>. The [[Openwall Project]] maintains a list of several algorithms and their [[source code]] in the public ___domain.<ref>[http://openwall.info/wiki/people/solar/software/public-___domain-source-code Source code snippets and frameworks placed in the public ___domain] on [[Openwall Project|openwall.info]]</ref>
 
A reference implementation may or may not be production quality. For example, the [[Fraunhofer Society|Fraunhofer]] reference implementation of the [[MP3]] standard usually does not compare favorably to other common implementations, such as [[LAME]], in listening tests that determine sound quality.{{fact|date=January 2012}}