What we need is some sort of distributed version control system.
I’m not quite sure how it will work yet, but it would have the entire codebase and its history mirrored onto every developer's computer. Instead of requiring a central repository, developers could share their changes directly with each other.


