
The Problem with Putting All the World’s Code in GitHub (2015) - aaron695
http://www.wired.com/2015/06/problem-putting-worlds-code-github/
======
__david__
I've seen this argument before. The problem is that it doesn't consider the
nature of git—every clone is a backup copy of the entire repository. Even if
github lost every single repo tomorrow, only a small percentage of projects
would actually be lost forever.

This is also the reason that GitHub is fundamentally different from source
forge. If GitHub were to turn evil tomorrow, everyone could just upload their
project to gitlab or bitbucket and carry on.

~~~
uxcn
Losing code wasn't really a risk with Sourceforge either. Submitting patches
on mailing lists or controlling access to using SSH will always be workable.
The benefit of Github is the directory and collaborative aspect.

It's much easier for people to contribute to projects now, and a lot of
projects might not have grown as quickly without it. The central directory
also makes it a lot easier for other people to find stuff which probably also
plays a role.

I doubt Github will go down the same path as Sourceforge.

~~~
__david__
> Losing code wasn't really a risk with Sourceforge either.

You might not lose the latest code, but you'd lose the history and the commit
comments. Those are significant.

With github you'd lose stuff like issues, but I find those not nearly as
useful as the commit history.

~~~
uxcn
Git's definitely an improvement over Subversion (CVS, etc...). Without the
commit history there's a lot you couldn't do (e.g. bisect stuff), but things
would still be workable. Distributed models are almost always more robust than
centralized ones though.

As I understand it, the main benefits are still risks though (e.g. central
directory). The code itself isn't really at risk, especially with signed
commits.

------
EvanPlaice
All aboard the hype train.

Seriously, tho. The code history is the important part and DVCS provides
plenty of redundant offline backups.

If people want issues saved offline, GitHub provides an API that makes it
relatively easy to pull down the issues.

It wouldn't take a monumental effort to create an offline client.

Maybe if GitHub added some metadata to their models/api, it would be possible
to diff the changes, cache data offline, and reduce requests.

Just don't version issues because recording all of the changes over time isn't
worth saving.

