(Replying to PARENT post)

We centralized a decentralized version control system.
πŸ‘€nezza-_-πŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

$2 billion to the first person to draft a decentralised git coin WhitePaper
πŸ‘€shawabawa3πŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The issue is that the features we use along with git, many of which github provides, are not decentralized. The true but tired argument that git will continue to work when github goes down totally ignores this issue.

Yes, git still works. But we don't just rely on the features git provides.

πŸ‘€vuldinπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

You can still work with your colleagues by pushing and pulling your own repos without involving GitHub.

I think centralised CI is the real problem. I don't have the compute power in my home to run our full test suite, so I can't push with confidence without my CI cluster.

πŸ‘€chrisseatonπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

We centralized a decentralized communication system too. (eMail)

Decentralization just doesn't work too well in practice for whatever reason. Everyone is behind a NAT/firewall, everyone has low computing power, its hard to regulate, etc. This all leads to a centralized solution being easier.

I think the current best thing we have is centralized but open source and encrypted, which gets an "okay"/10 from me.

πŸ‘€ReverseColdπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

That's kind of missing the point, everyone's git local clones are still there, I can still work on the code. Git's decentralisation is meant to make sure work doesn't stop altogether when the remote is down.
πŸ‘€naiveaiπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The major feature of git is that it's distributed, not that it's decentralized.

Git's got two big features over SVN:

1. Automatic, private, per-user branching. Git's even nice enough to keep the private branches out of the main repository, and lets you pretend to be the authoritative repository without creating a branch if you really want to. This is what clone/push/pull actually does, and it's what a distributed VCS really brings to the table. It lets every dev pretend to be the project manager when they're writing their own code.

2. A much improved merging model. The graph model of git is just much better than the linear model of SVN.

The second one is what people thought they wanted when they started using git. The first one is what they didn't know they wanted before they started using git.

Git gets around the problem of "Well, if we do #1, how do we know which repository is authoritative then?" by saying, "We're not solving that problem. This is an exercise for the users that's easily solved by file permissions." So by refusing to solve that (rather hard) problem, the VCS becomes internally decentralized. That doesn't mean you can't or shouldn't centrally manage your repositories or have an authoritative repository. It's just that git itself doesn't care about knowing which repository is authoritative.

πŸ‘€da_chickenπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The concept of an "upstream" is inherently centralized.

The point of git is that everyone can keep working right now and can push later without things getting very messy.

πŸ‘€nickysielickiπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Welcome to the modern tech world. While you're waiting for the site to come back up, let me tell you all about my new startup, SquareWheel(TM).

edit: Oh jesus christ, there's a fucking tech company called Square Wheel. Kill me now.

πŸ‘€peterwwillisπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

So you’re saying that if I put up my own Git server (for a fee), it’s likely to have better uptime statistics than GitHub?

I can’t push changes to the decentralized Git protocol, only to a (centralized) server instance.

πŸ‘€runeksπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The VCS is still decentralized (you can share code with your neighbour or across the world), it's the administration (tickets, PRs, etc) that aren't.

I think it'd be fairly straightforward for github or a competitor to store those things in git as plain markdown files, either alongside the main source code, or (as it does with GH Pages) in a separate branch (that has nothing in common with the master branch but it's still in the same repo).

Similar (maybe) is ADR (http://thinkrelevance.com/blog/2011/11/15/documenting-archit...), storing architectural decisions into numbered files in git. See also: https://github.com/npryce/adr-tools

πŸ‘€Cthulhu_πŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

No way to build my npm dependencies. So the day github would really crash/lost some files, the package decency system thing is dead. That is a very exciting scenario... as exiting as if google would forget to renew google.com and would have no legal right to get it back.
πŸ‘€dehefπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Am I the only one who has project's mirror on Gitlab for exactly this purpose?
πŸ‘€golergkaπŸ•‘7yπŸ”Ό0πŸ—¨οΈ0