The protocol spec doesn't tell people that use it how to use it, only what it can do. This is like giving a child lego blocks but with no instructions on what to build. Lots of different organizations have used those lego blocks to build things that don't work together or work very differently than other networks.