Version Control Architectures

Linus’ main idea in favor of distributed version control is that, as humans, we are naturally social beings and we deal with trust and respect in a social way: one way is to create a gate and select who comes in and out (the centralized, walled garden, grant-commit-access way of doing things), another is to let everybody have their own personal branch, where nobody is fixed in the center and anybody can pull from anybody else in the network (the center becomes really a centroid, the center of gravity of the network and can move more easily over time). I had dismissed such ideas as heretic in the past because I thought that centralization was the only mean that could maintain brand control and provide a consistent legal framework upon which to operate.

i used bitkeeper on an earlier open source project, and it definitely helped us scale better. i think apache.org would do well to move to git or another distributed scm.

Leave a comment