8 ms·
A non-federated decentralized social protocol based on Git
- jdthedisciple 4y agoHow do notifications work with this?
- uptown 4y agoI’ll let you know.
- jdthedisciple 4y agoBut will I get notified?
- uptown 4y agoSee! It’s already working!
- EntrePrescott 4y agomaybe by emailing pull request to all your contacts ;-)
- NoraCodes 4y agoUnless I misunderstand, this is federated - each instance stores data related to its user, and fetches from other instances the data it's interested in (from other users the user is following.) It also doesn't do much to address the reasons users in federated systems tend to congregate around large(r) servers, like discoverability and reliability. It's a neat PoC but I think the communication needs some work.
- mhluongo 4y agoWhen the federation is per-user, that's typically called "peer-to-peer" rather than federated...?
- teawrecks 4y agoAlso, git doesn't work p2p, it uses centralized servers. If i understand correctly, the only real difference between Twitter and this is that you have your data downloaded, so switching to a new platform is a matter of adding a new remote and pushing it there.
- jayd16 4y agoYou can certainly work with git in a p2p fashion.
- gtop3 4y agoMy understanding of this implementation is you can use arbitrary git urls to follow. That could point to any process serving data. P2P is 100% possible. It would be smart to use a personal domain for the git url you give your followers, so you can update the hosting location without causing any disruption.
- adastra22 4y agoGit was designed from the beginning to be used p2p. It’s how the Linux kernel development is done.
- astrobe_ 4y agoI'm pretty sure git-daemon does work p2p, but maybe that's a different p2p you have in mind.
- jayd16 4y agoIf its based on git then more than likely, copies can be made and shared separate from the user instance. Users own their signature so changes cannot be forged but valid data can be proxied and cached. User data is fully portable from one vendor to the next. Would you call git federated or decentralized?
- NoraCodes 4y agoSo far as I understand, Git is both federated and decentralized - but I could easily be misunderstanding the definition of "federated" in this context.
- gtop3 4y agoI am always highly skeptical of these applications that use git to store non-code data. Often many of the key features of git aren't applicable to other problem spaces and this makes everything less efficient. There is a big exception here. You sign commits, so each update comes with some proof of the identity of the author. I like how simple this is, and generally prefer it over the way Mastodon and other federated services handle identity.
- ClawsOnPaws 4y agoI'm sorry but I believe I'm missing something here. How does this solve any of the problems that people commonly have with decentralized, federated social networks? * You're still either hosting your own, or at the whim of whomever hosts your repository. Mastodon.social or GitHub. * Hosting your own Git is not particularly easier than hosting your own GoTo Social or Akkoma. * What if you end up with either a big following, or a big follower list? Aren't you going to be rate limited by GitHub? * Is signing up for GitHub easier than signing up for mastodon.social, especially if Mastodon et al already have good mobile clients? * What about moderation? * What about media? And I mean... Isn't Git federated by nature? Multiple machines store multiple copies of the data. That's defederation isn't it? But OK, let's put the federated social networks we do have aside for a moment. The site says: Every user stores their application state in a git repo they own and control. But you don't do that if you're on GitHub, right? Not really, anyway. What is the benefit from doing this over git? What if I want to delete something? What is the overhead of the git protocol? If it's just a toy, then that's totally cool with me. But it says that Microsoft Research is involved. I'm a bit confused. What is this?
- tedunangst 4y agoIt's a more difficult to use version of rss.
- ilyt 4y agoRSS really feels where the whole distributed thing peaked. I can subscribe to who I want where I want and if I want to see some new stuff either follow "what people I follow link to in their blogs" or get RSS channel of some topical federator. All it missed was similiar distributed way to conversate instead of just reading and maybe leaving a comment on a blog
- creshal 4y agoGit makes it easy to make copies, but its nature of having one designated "origin" remote per repository that serves as upstream source of truth (on platforms like github also across forks) makes it not really federated/decentralized the way Mastodon et al. are. And I don't reaaally see how this tool solves that problem. Or any of the other problems you mentioned. But that said, Mastodon/ActivityPub don't really feel like mature solutions yet. It's incredibly opaque how instances interact, and self-hosting is an exercise in frustration as you try to figure out why A sees your reactions but B does not and you can get notifications for C's reactions but not A's, but B's replies and not… I gave up after a while. It's more opaque than even email self-hosting, at least exim and postfix have fairly verbose error logging.
- csense 4y agoThe author is well-known for creating Kademlia [1], a distributed hash table used to resolve BitTorrent magnet links. [1] https://en.wikipedia.org/wiki/Kademlia https://en.wikipedia.org/wiki/Kademlia
- isoos 4y ago> Every user stores their application state in a git repo they own and control. No other infrastructure is necessary! As a long-time user (and writer) of static site generators, I welcome these ideas, as I think these would allow us to organize static sites into some kind of decentralized social networks. Think of this as a bulkier version of RSS, because - for most practical cases - it is relative cheap to just fetch everything from a source and present it in a consistent way. Even if people were using centralized git repositories, a separate naming service could allow easy (and cheap/free) redirects, so data migration wouldn't be an issue. Can this be done with mastadon? Of course. But it requires a database server and other moving parts that need occasional maintenance. Treating the social network as a network of static sites makes operations (and federation) so much easier. Would this be this specific project that wins us over? Maybe not, we shall see. But I think the concept could evolve into something useful.
- EGreg 4y agoI know Petar Maymoukov and met w him when we started designing Intercloud. I wanted to know the design decisions behind how Kademlia worked in detail. Glad to see this… wondering why we need it if we have Dat/Hypercore and beaker browser, which already uses Secure Kademlia DHT for swarming and follows up with SLEEP protocol instead of Git. It is encrypted and secure, to boot. But those saying this is federated are wrong. It is peer to peer, just like Git is. Email is federated (the domain part is even a centrally controlled database). Having said that, git can be hosted even on your own computer!
- cryptonector 4y agoAre we reinventing Usenet?
- msla 4y agoThat's what it seems like: Usenet built on Git instead of NNTP, which was, itself, a reinvention of Usenet built on UUCP.
- ape4 4y agoI still miss it
- Dalewyn 4y agoAny time I hear the word "federated" in tech contexts I am led to presume someone is attempting to reinvent the wheel, and badly at that.
- cryptonector 4y agoHow did Usenet ever work wItHoUt MoDeRaTiOn though? Well, I suppose Usenet is dead or close to it, so maybe that's the answer: it doesn't anymore, but maybe it's dead or dying for other reasons.
- ilyt 4y agoModerated groups were possible, although rare I'd imagine the offenders were laughed at, and if repeated people just filtered out messages from them. It died because pretty much new people went to blogs and social sites, not some obscure tech needing special client, same way many "desktop" apps were more and more often used in web form. But I'd imagine if it lived longer the spam would kill it. Lack of moderation and lack of any kind of algorithmic favouring works well in small focused communities, and not when there is relentless amount of spam and let's say "uncultured" users, as netiquette is essentially dead now
- not2b 4y agoNo, moderated groups weren't that rare; they were mostly unmoderated though. For a while, social pressure kept things under control, as well as killfiles (allowing users to block each other). It was the beginning of the end when a pair of asshole lawyers decided to spam every unmoderated Usenet group with ads to help people enter the US green card lottery (in April 1994). This didn't immediately kill Usenet but started the downhill slide. For a while, admins worked to cancel spam messages but in the long term this was a losing battle.
- jmount 4y agoSeems like it all gets wiped by one git force-push.
- petar 4y agoThe underlying software architecture and the motivation behind it are outlined in the whitepaper of the (more complex) gov4git project: https://github.com/gov4git/doc/blob/main/whitepaper/whitepaper.md https://github.com/gov4git/doc/blob/main/whitepaper/whitepap...
- superb-owl 4y agoThere are a few ideas that I really like here: - Managing data (push/pull/etc) in a common, widely-supported protocol (git) - which has a large, stable, and free-as-in-beer implementation (GitHub) - as well as some major competitors (Bitbucket/GitLab) - and is possible to self-host (gitea, OSS GitLab) What I'd love to see: - posts are currently in JSON format. Make it something more readable (like Markdown+YAML), at least optionally. That way people can interact _directly_ in GitHub, instead of using a janky client - The main problem with decentralized frameworks is always "search and discoverability". Someone needs to aggregate all the data in a centralized database and make it easy for others to pick through
- usr1106 4y agoI certainly support the idea that alternatives to what we currently have are needed. But I must admit even as a software developer I feel confused when looking at https://github.com/social4git/social4git/blob/main/doc/walkthrough.sh https://github.com/social4git/social4git/blob/main/doc/walkt... how this even works. Maybe some illustration would help to explain data and/or control flow? The number of pilot users would still deserve growing: https://github.com/social4git/social4git/blob/main/doc/directory.md https://github.com/social4git/social4git/blob/main/doc/direc...
- TimJRobinson 4y agoWhat's the advantage of this over a design like Scuttlebutt / Farcaster? They have the same properties (signed messages, Merkel trees to ensure data isn't changed) but are engineered for social media. Nostr is another one that is more lightweight without the Merkel tree but is seeing some traction.