None of that are requirements for a version control system, let alone a distributed one.
What people are after is a decentralised GitHub. Which I think is a good idea. But git itself is already built from the ground up to work decentralised.
So if someone were to build a decentralised discovery service for git, then you could take any existing git repository, whether it’s local copies on your laptop or “centralised” versions in GitHub, and use them equally as a seed.
Without the decentralized discovery service; though, you have nothing; one might as well say that hard disk drives are a decentralized storage solution, as everyone who has a copy of a file by definition has a copy of the file... but, obviously, this is meaningless if there is no way for me to find who has a copy of the file to request the download.