Two key issues with a rule like that:
1. What forces me to comply with this rule?
2. What does "able to be implemented" mean? In theory, you can re-implement my entire codebase. In practice, you'll find it very difficult to maintain feature parity with me if I repeatedly extend the protocol faster than you can implement it. Especially if I don't publish my code or document the extension or if I simply have more resources available to me (either in terms of server-bandwidth or programmers).