It is a centralized service that does not take any benefit from being a centralized service like other collaboration software. At the same time it is a bit decentralized but not really.
The way Git works have an impact on how you build things.
In private corporations. ACL is needed for compliance and so on and you end up with a lot repos. Then it propagates on to build pipelines and so on.
There is no proper way to control secrets.
There is no good built in way to separate users from service users like agents and so on.
I wonder what the large IT companies use. Surely it can't be Git as is.
Changing your remote is a one liner. If you can't be bothered to find the command, the config file is self explantory and easy to find.
Any clone of the repository can function as a remote; and every developer has a full clone.
If a clone is on a machine with an ssh server, it can be accessed through ssh. Doing so immidietly gives you all access control mechanisms present on said server. For simple setups, this is traditional user accounts with tradutional DAC, possibly with public key authentication uf SSH is so confifured. For more complex situations you can use arbitrary PAM modules. Otherwise any remote filesystem would work once you mount it. These are all concepts that any IT department fielding Linux systems will already need to deal with.
As a developer, I have taken advantage of the distributed nature of git without a second thought. No access to the main repository? No problem, there is a clone on our build server, point your remote to that.
The thing is that those repos will only be shared among the users, hence the most important repos does not benefit from distribution since only a fragment of users have access to the most important repos.
Most distributed systems use server and client agents. That would solve a lot of things.
I had a few issues for a few minutes but then it was fine.
Still better than bitbucket, they'd have issues for hours and no status update, at least github acknowledges issues straight away unlike bitbucket.
I guarantee, as usual someone posts something along the lines of "This is why you should self-host <insert github alternative here>." Followed by comments like "Yeah, if you have time to maintain it"
It's deeply ironic that git, a free distributed VCS, should be so completely pwned by a proprietary centralized service. (And beyond ironic that so many FOSS projects rely on it, especially after it was acquired by Microsoft. Blows my mind every time I think about it.)
I see nothing mind-blowing about the fact that 99% of the developers on the ground are not willing to take on the challenge of inventing and bootstrapping a completely decentralized network. And that they need to work today and not after 10 years, when such an effort maybe finally takes off.
Do you find these mind-blowing?
As for self-hosting GitHub, yes, that's much more viable and I believe more of us should be doing it (although I personally plan to still have GitHub as a central source of truth and just backup all my repos to several servers under my control). But GitHub is also very socially entrenched and provides a real value-add in terms of good PR interface, Wiki, issues, discussions and whatnot.
The mind-blowing thing is, first, that FOSS projects use a proprietary system (for DVCS and for "good PR interface, Wiki, issues, discussions and whatnot") at all and second that they didn't bail en mass when it was acquired by MS, the traditional bogeyman of FOSS philosophy.
People are busy. They need to get work done today. I'll migrate all my repos tomorrow -- and deprive myself of sleep if I have to -- if a solid GitHub competitor shows up.
(And I'm not counting GitLab, it's worse in almost every way. And is very slow.)
We're way past idealistic slogans. Be the change you want to see. Give example to the rest of us. Many will follow.
In the meantime, I want my free time mostly free of computers.
I feel ya friend. Part of the irony is that an unarguably superior FOSS competitor to GitHub hasn't shown up. (Can you imagine if Linux were worse than Windows? Egad!)
FWIW, I like (and pay for) sr.ht even though it doesn't have feature parity with GH.
> And I'm not counting GitLab, it's worse in almost every way. And is very slow.
Hate to be that person, but GitLab is better than GitHub at everything. UX is different in some places, and it's an entirely subjective question which one is better ( i prefer GitLab but to each their own), but in terms of features it isn't even close - GitLab absolutely blows GitHub out of the water, even with Microsoft's incredible investment and recent deluge of announcements. In terms of speed i think GitLab is slower while doing some things, but it's not ( at least for me) painful like Jira Cloud is.
You'd have a point if it was just git. Issue tracker, PR interface, wiki / documentation tools, actions/webhooks, etc. - that's where Github demonstrates its utility.
But if you can, maybe it's the right answer for you. Maybe the right answer for others is to learn to do it. For yet others, it's, "Use Dropbox." Why is, "This works for me, and might for you," not an acceptable answer?
Everyone likes to think they're the smart person laughing at the "Faster Horses" guy in that Henry Ford quote. And I don't think the moral of that quote means what most people think it means either. But anyway...
I'm with you. I was looking for a HN comment I saw once so I could link to it. A guy was explaining how his response to "why do you use linux?" is "it gives me more control" but his response to "what would Linux let me do that windows doesn't?" and his response would be "nothing". If that person didn't already know, then there's no valid answer that actually applies to that person.
But it's flashier to have a subscription product instead of a strong commons and self-sufficiency.
Sounds like you never used Dropbox. DB lets you share files or folders with anyone, with read-only or write access, without wasting any time whatsoever with AWS config; With Dropdox you just need a right click.
If you need backup, then use rsync, but Dropbox isn't just backup.
I unironically think GitLab is a better piece of software, but this type of situation arises way more regularly on self-hosted, so I fully agree with your point that this isn't really something to hold against GH