 Users may design and use variations that suit their needs, and contribute enhancements for potential incorporation into the next official version of the protocol.A free software reference implementation must be available.Free protocol are important for interoperability and choice of software.