A protocol is not a software, it is needed for interoperability.
Similar with header files. Issues arise if there is a "misuse" to derive actually not a compatible but competing solution.