91
Why GitHub? (lemm.ee)
submitted 1 year ago* (last edited 1 year ago) by james@lemm.ee to c/nostupidquestions@lemmy.world

I can't help but notice most (all I've seen anyway) of the federated projects are hosted on GitHub. GitLab is also not federated, but can be self hosted and has at least discussed it.

I am fully aware of my bias for GitLab over GitHub, but I still wonder why is those things? Is there a federated source hosting project?

you are viewing a single comment's thread
view the rest of the comments
[-] marsara9@lemmy.world 52 points 1 year ago

IMHO federation doesn't bring any real benefits to git and introduces a lot of risks.

The git protocol, if you will, already allows developers to backup and move their repositories as needed. And the primary concern with source control is having a stable and secure place to host it. GitHub already provides that, free of charge.

Introducing federation, how do you control who can and cannot make changes to your codebase? How do you ensure you maintain access if a server goes down?

So while it's nice that you can self host and federate git with GitLab, what value does that provide over the status quo? And how do those benefits outweigh the risks outlined above?

[-] james@lemm.ee 5 points 1 year ago* (last edited 1 year ago)

You bring up some good points. I agree on the risk, even though I'm a fan I find federated tools harder to get started with.

I agree git is decentralized, but services like GitHub are not. They're more than just hosting code. They're issues, wiki's, CI/CD, peer reviews, etc.

how do you control who can and cannot make changes to your codebase?

I'd image it's the same as now. Except now you could say @everyone@that-server is cool and can contribute, or @those-guys@over-there shouldn't even be allowed to see this code.

How do you ensure you maintain access if a server goes down?

How do you do this on GitHub?

what value does that provide over the status quo?

I feel like this is the root of fediverse problems. It's easy to send your first tweet, but that first toot takes some effort (I just learned they're called toots).

[-] marsara9@lemmy.world 3 points 1 year ago

Btw I appreciate the fediverse and decentralization as much as the next guy, heck I'm even writing software for the fediverse. But I feel like there's a handful of people out there that want to try and apply the fediverse concept to everything. Similar to what happened with Blockchain. Everyone and everything had to be implemented via Blockchain even if it didn't make sense in the end.

IMO though, GitHub is just one "instance" in an already decentralized system. Sure it may be the largest but it's already incredibly simple for me to move and host my code anywhere else. GitHub's instance just happens to provide the best set of tools and features available to me.

But back to my original concerns. Let's assume you have an ActivityPub based git hosting system. For the sake of argument let's assume that there's two instances in this federation today. Let's just call them Hub and Lab....

Say I create an account on Hub and upload my repository there. I then clone it and start working... It gets federated to Lab... But the admin on Lab just decides to push a commit to it directly because reasons... Hub can now do a few things:

  1. They could just de-federate but who knows what will happen to that repo now.
  2. Hub could reject the commit, but now we're in a similar boat, effectively the repo has been forked and you can't really reconcile the histories between the two. Anyone on Lab can't use that repo anymore.
  3. Accept the change. But now I'm stuck with a repo with unauthorized edits.

Similarly if Hub was to go down for whatever reason. Let's assume we have a system in place that effectively prevents the above scenario from happening... If I didn't create an account on Lab prior to Hub going down I now no longer have the authorization to make changes to that repository. I'm now forced to fork my own repository and continue my work from the fork. But all of my users may still be looking for updates to the original repository. Telling everyone about the new location becomes a headache.

There's also issues of how do you handle private repositories? This is something that the fediverse can't solve. So all repos in the fediverse would HAVE to be public.

And yes, if GitHub went down today, I'd have similar issues, but that's why you have backups. And git already has a solution for that outside the fediverse. Long story short, the solutions that the fediverse provides aren't problems that exist for git and it raises additional problems that now have to be solved. Trying to apply the fediverse to git is akin to "a solution in search of a problem", IMHO.

[-] Mubelotix@jlai.lu 1 points 1 year ago

I would like to add that git is a pretty good example of data people have backups for. I don't care if Github blows up tomorrow because I have repos on my disk. Even if my disk also dies, my friends have my repos cloned so I wouldn't lose much

this post was submitted on 12 Jul 2023
91 points (97.9% liked)

No Stupid Questions

35311 readers
897 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS