Git decentralized

Could a source versioning system like git work under a decentralized model?
As is, or with changes?

As I understand it, git is fundamentally decentralized--a `git clone` is in fact a fork, with some manual setup of upstreams to remote servers using the git protocol.

However the reason this hasn't taken off is partly because of the current trend and proclivity towards centralization, and partly because GitHub, GitLab, et al. make it far too easy to do a number of things:
1. identify contributors and the integrity of a codebase (GitHub can act as an authority as legal issues arise)
2. perform "pull requests" to upstream remotes
3. a slew of other minor yet critical productivity-oriented value-adds, such as comments everywhere, Kanban boards, and decorated commit logs, commit diffs, etc. to essentially make a GUI for git.

Ignoring that last issue, it sounds to me like the only thing really stopping us from using Git in a truly decentralized way is a method to validate the identity of contributors and contributions, and some kind of protocol between servers to allow for pull requests.

What do you think? Have I missed anything?

Attached: git-goodness.gif (1600x800, 18K)

Other urls found in this thread:

gitlab.com/gitlab-org/gitlab-ce/issues/4013
git-scm.com/docs/git-apply
git-scm.com/docs/git-format-patch
w3.org/TR/activitypub/
twitter.com/NSFWRedditImage

Doesn't Gitlab do federation already?

gitlab.com/gitlab-org/gitlab-ce/issues/4013
Doesn't seem to be the case, but they understand the need yet don't seem to have a solution.

Whens the ICO?

Well, unless you're actually making a fork don't you eventually have to push your changes onto some centralized branch?

I mean: I don't see how you can have one master branch without any centralization, but maybe I'm missing something?

Linux foundation only use git + mail list and still get CoCED

it's not a hard problem, most people just don't want it

Git, per definition, can resolve the legal stuff because you can always tell when someone authentically made a change since changes are stored in a blockchain (before it was cool) with a timestamp. Same for authors etc. The main issue with decentralisation is convenience. Sure you could host your project on your own server and give people access to it, but chances are they won't see it in the first place because it's not on gitlab/-hub

OP just HTML5 it into a blockchain so we can move onto adding AI to git inside my ray tracing minecraft virtual reality.

I've thought about the idea a bit, but the main problem is, as usual, money.

Technically you can already make a smart contract that holds your current commit hash (or the hash of the whole repo that you could get through IPFS).
There is just no incentive to do that compared to hosting freely on Github.

Hell self hosting a Gitlab is easier.

I don't think there's anything stopping anyone from turning back the clock on their machine and redoing each commit with different contributors

ITT: people who think git is a cryptocurrency and people who think github/gitlab are git

epbp

git-scm.com/docs/git-apply
git-scm.com/docs/git-format-patch
any signature scheme ever invented

this thread is dumb.

>prepare patches for email submission
>email

What do you propose we use, smoke signals?

Rest assured that the glow-in-the-darkers are already planning to give git the CoC

seems they're making federation protocols, but I'll probably be a grandpa by the time these standardese working groups get off the ground
w3.org/TR/activitypub/

What the fuck are you on about OP?
Nothing stops git from being "decentralised". Git is a DVCS, the D stands for distributed. The contributor verification problem has been solved for a long time using email (and GPG if necessary).
And pull requests are overused. Email patches work better.
What more do you want?

I don't think it'd be that impossible to implement. It'd work somewhat similar to the BitTorrent protocol where you essentially have a tracker service for your "distributed cluster of git repos" which would keep track of which repo has which commits to determine which is the "latest" version. What would be the point, though? Instead of a pull or push going directly to/from whatever you have configured as your upstream branch, it'd first have to figure out who has the most "up to date" version, and pull from that repo instead. I don't really see the benefit.

nothing is stopping git from being distributed, but nobody uses it that way except for old projects.

People clearly want a GUI, but at its current stage, a GUI implies a centralized service.
If you could have "git plus federation", everyone could have a self-hosted GitLab and we wouldn't have to worry so much about authoritarian cunts breathing down our necks.

>but nobody uses it that way except for old projects.
You mean, nobody uses it that way except the projects for which git was written and people who know what they're doing?
>People clearly want a GUI
Fuck people, git doesn't work well when you do the things github or, even worse, gitlab do with it.
If you want git to work well, work with it, instead of against it.
You're just asking for extra complexity for the sake of a few mongs who are too scared to read a few man pages and use this old thing called email.
>If you could have "git plus federation", everyone could have a self-hosted GitLab and we wouldn't have to worry so much about authoritarian cunts breathing down our necks.
But gitlab is shit, it's just complete garbage.
It's literally worse than github.
Parts of its interface break when you do certain things git (and github) supports.
And you don't want federated git, you're asking for a federated repository viewer and pull request thing.

Small team of 5 developers.
We just use git with the command line.
Only on windows laptops (mainly used for testing) we use Turtoise.

I assumed most small projects use it like this.
If we had more than a dozen developers then yeah, we'd probably want something with a better interface but as of now it works fine.

It would be incompatible with everybody else's though

if your primary goal is to stir shit up, there doesn't seem to be much a court of law could do to resolve that kind of mess.

How long have you been in the field?
Schools have really been pushing the "social coding" github thing in the past 5 years.
Hell, my company recently set up GitHub Enterprise and now it's general policy to prefer it over other methods.

Could imagine this shit if git designed bitcoin?

>go to the store
>try to pay with gitcoin
>sorry sir its declined
>it says "DETACHED HEAD"
>you are fucking starving because the grocery store says DETACHED HEAD when you try to buy food
>only solution is to whip your entire bank account and start over

fuck that shit

>How long have you been in the field?

About 15 years, but only last 10 years using git.

look up fossil