Recently BitBucket announced they are stopping support Mercurial -- https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket -- which has a lot of devs in a minor panic to get their repos converted in time.
But what if distributed source control relied on a standard set of protocols and contracts rather than a specific implementation? This would allow numerous implementations that all adhere to the same contracts and protocols and allow for some creative freedom -- and productivity enhancements -- in individual implementations.
Competition brings about improvement; in world where it's Git or nothing then the state of tooling stagnates.