There is a published spec, I built a clean-room implementation from it. And mine makes at least two Python implementations. The protocol itself is solid, the spec just isn't marketed.
The full protocol spec is there, I built mine from this without even touching the reference implementation.