In conjunction with a specification (or documentation, if you prefer the more inclusive term), a reference implementation is a good thing. Without a specification, a reference implementation is an astonishingly efficient way of propagating bugs into third-party software.
The Second Life viewer is in the latter category, alas.