Here's an idea: Protocols, languages and similar standards should have an implementation that is free for people to study, use, and experiment with. Proprietary implementations can be tested against it, and working code is the best way of communicating the ideas. The InternetEngineeringTaskForce requires this for submissions. RichardGabriel identifies this in PatternsOfSoftware as being important to the success of a new language. ''More proof that TheSourceCodeIsTheDesign.'' ---- This makes me think of the Testing chapter in KentsBook, where he describes the non-obvious (but important) benefits of embedding all the unit tests right there in the code. Every developer who gets the code and documentation can run the tests, establishing that it actually works. Every test that completes builds the confidence of the customer that he has a real, working solution. FreeReferenceImplementation does the same thing. (It also makes me think of FreeRangeChickens, a totally different subject altogether!)