this post was submitted on 29 Apr 2025
248 points (98.4% liked)

Technology

69449 readers
4156 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Whirling_Cloudburst@lemmy.world 71 points 1 day ago* (last edited 1 day ago) (34 children)

There needs to be a widespread p2p solution for opensource projects before its too late. I have lost count of all the amazing stuff that has been gravity bombed from orbit.

There also needs to be a way for authors to submit things anonymously too and maybe sign their things with cryptographic keys to ID it. How many times has a company had a court order someone to cease and desist or simply acquire somebody's work?

[–] solrize@lemmy.world 70 points 1 day ago (23 children)

p2p solution for opensource projects

That's called Git and it's been around longer than GitHub. There is also Usenet which by now is mostly dead. People fell for centralized alternatives. Oops :)

[–] OsrsNeedsF2P@lemmy.ml 28 points 1 day ago* (last edited 1 day ago) (18 children)

Right? Git is literally decentralized. If you choose to use GitHub as a centralized Git service, that's on you.

(I will caveat this by saying we moved 2009scape off GitHub and the number of new contributors probably got cut in half. Mainstream services have a lot more eyes)

[–] Appoxo@lemmy.dbzer0.com 1 points 1 day ago* (last edited 21 hours ago) (3 children)

How come Git is decentralized?
Doesnt it need a central component so I can pull your changes?

Edit: Thanks to all that explained it to me :)

[–] kuberoot@discuss.tchncs.de 4 points 23 hours ago (1 children)

Fundamentally, the repository you have on GitHub is the same thing as the repository you have on your computer when you clone it. Pulling and pushing are shorthands for synchronizing commits between the two repositories, but you could also synchronize them directly with somebody else who cloned the repository. As somebody mentioned, you can also just host the same repository on two servers, and push to both of them.

The issue is that git doesn't include convenient features like issues, pull requests, CI, wikis, etc., and by extensions, those aren't included in your local repository, so if GitHub takes them down, you don't have a copy.

An extra fun fact is that git can be considered a blockchain. It's a distributed ledger of immutable commits, each one representing a change in state relative to the previous one. Everybody who clones a repository gets a copy of its entire history and fast forwards through the changes to calculate the current state.

[–] Appoxo@lemmy.dbzer0.com 1 points 21 hours ago (2 children)

But to push/pull you'd in theory need to port forward your git server/workstation, right?

[–] kuberoot@discuss.tchncs.de 1 points 9 hours ago

Git exposes a lot of internals through odd commands, so I suspect you could manage synchronization by sending changes over email or something.

Bonus fun fact: there's a git bundle command that "dumps" the repository into a single file, that can be interacted with as a remote. So if you're ever working with a local repository and want to put it on a server over ssh or something like that, you can just create a bundle, scp it over, and clone from that on the server.

[–] thevoidzero@lemmy.world 4 points 19 hours ago

Git works through ssh. So you need the same system as sshing into your machine. You just make a user group git and then let git and ssh handle things. And if you don't need people to push to your repo, then it's a lot easier as it's now similar to hosting a website/file server.

You can have arbitrarily many git "remotes": GitHub, gitlab, your own custom forge, etc...

Git a cmd tool only. Your can remote wherever you like.

[–] expr@programming.dev 5 points 1 day ago (2 children)

Changes can come from anywhere. The Linux kernel itself doesn't use any central repository like Github, it's instead done via emailing patches that are eventually merged into the mainline kernel repository managed by Linus.

It is 100% decentralized.

[–] ExtantHuman@lemm.ee 1 points 14 hours ago (1 children)

Sounds like it's centralized around Linus...

[–] expr@programming.dev 1 points 5 hours ago

It's just for the "last mile" where code gets packaged up into releases. There's still thousands of developers that have all of the code on their machines as well, it's just that their local repos aren't the ones that end up in the hands of end users.

[–] lka1988@lemmy.dbzer0.com 2 points 19 hours ago (2 children)

mainline kernel repository managed by Linus.

It is 100% decentralized.

But... How does that work? The code has to be stored somewhere...

[–] bollybing@lemmynsfw.com 1 points 10 hours ago

Linus memorises it.

[–] who@feddit.org 3 points 16 hours ago* (last edited 16 hours ago) (1 children)

How does that work? The code has to be stored somewhere…

The code is replicated by everyone who works on it, and on various public and private servers, so you might say it's stored everywhere.

load more comments (14 replies)
load more comments (18 replies)
load more comments (28 replies)