4 ms·
What you're looking for is perhaps not a decentralized version control system.
by boomlinde 9y ago
What you're looking for is perhaps not a decentralized version control system.
- snowwrestler 9y agoWhile git is a decentralized version control system, I would argue that using Github is not really decentralized. Even when everyone has a full local copy to work on, the norm is for everyone to set the Github repo as the remote origin and push/pull from there, rather than from each other. This is in contrast to how the Linux kernel development works, for instance.
- boomlinde 9y agoDecentralized doesn't necessarily mean peer to peer. In the case of git, it simply means users work with a local repository that can easily be synchronized with another repository. A team contributing to the kernel could very well use github to do so, change their mind and switch their remote to bitbucket and continue the work there. If bitbucket exploded, they could set up their own remote, push any of the local copies and use that. If their internet connections exploded they could print patches and mail them to each other. Then when they're back online and done with their change, they can create a patch file and mail that to Torvalds. But that's all besides the point. The point is that if you don't want your code laying around where you have no control over it and don't trust your contract and the law to be enough of a deterrent, you shouldn't give people copies of it and probably reconsider what kind of contractor you're willing to work with, rather than loading the term "fork" with an additional meaning.
- diggan 9y agoI mean, you could even do git peer-to-peer via ssh. Each person sets up sshd and a bare git repository, add it to their remote and now they can push to each others "ssh" repositories and then fetch from it when wanted.
- boomlinde 9y agoSure, or with patches broadcasted on radio, scribbled on napkins etc. I don't think you intended to counter my argument but in case anyone is interested in elaboration: my point about centralized/decentralize is that using github doesn't necessarily centralize your work. It's only central in the sense that any other remote repository is: if you can't access it you can't. If github dies, copies of the repository may still exist on a million other computers and any of those can be used as a basis for further collaboration by a wide variety of means. From a peer to peer perspective, github is just a peer like any other.
- mlindner 9y agoEven if its not decentralized I can still clone all the code in the centralized version control system.