7 ms·
ForgeFed
- vilunov 3y agoI'm looking forward to this. As of now, if you want to contain development of your software to your personal gitea instance, you are actually raising the complexity for new contributors, as they have to create a new account on your instance to create issues and pull requests. This is even worse if the instance is with closed registration and others are not supposed to create accounts there.
- codetrotter 3y agoSpeaking of Gitea, it is worth to point out that on the OP website they mention that Forgejo is working on implementing ForgeFed. Forgejo in turn, is a fork of Gitea. So anyone currently running their own instance of Gitea should consider keeping an eye on Forgejo. https://forgejo.org/ https://forgejo.org/
- ComputerGuru 3y agoHow split is the community over this? I had front row seats to the gogs vs gitea split and it was clear that gitea had the upper hand when it came to momentum there. Is there a similar consensus now?
- xena 3y agoIt's too early to know for sure yet.
- Macha 3y agoMy impression is that Forgejo is at this point mostly a "swap the names" fork, along with a few features that Gitea dropped the ball on like ForgeFed. At the same time, Gitea has developed some pretty big enhancements to CI in that time so there's definitely a lot more development going on in Gitea. The largest hosted instance, Codeberg has thrown in behind the Forgejo fork, which is the largest endorsement it has, but I think a lot of smaller instance operators are either continuing with Gitea or adopting a wait and see approach. I think the real test for Forgejo is how sustainable it will be once the codebases diverge to the extent that it can't just rebase on Gitea for the feature work Gitea does.
- Semaphor 3y ago> once the codebases diverge to the extent that it can't just rebase on Gitea for the feature work Gitea does. The plan is to stay close enough for that not to happen, at least that’s how I understand it.
- sangnoir 3y ago> The plan is to stay close enough for that not to happen, at least that’s how I understand it. That's a shame. I have no interest in CI and other "enterprise-y" features and was hoping to side-grade to Forgejo. I run my instance on an Raspberry Pi Zero and my non-latest version of Gitea is a memory-hog as it is. I'll be giving Gogs another look.
- Encrypt-Keeper 3y agoForgejo is just Gitea with extra features potentially extra bolted on top.
- vilunov 3y agoBefore I learned about that I usually dismissed Forgejo as an unimportant fork which will die off pretty quickly, but support of ForgeFed makes me seriously consider migrating from Gitea. I still believe that Gitea's org strategy is the right one in the long run, however.
- lolinder 3y agoNote that Forgejo is specifically planning on contributing ForgeFed upstream when they're done: > We're planning on merging federation into Forgejo first, then upstreaming it to Gitea. There are other reasons to switch to the fork, but I think you'll get ForgeFed either way, which is as it should be. The more participation in the protocol the better! https://codeberg.org/forgejo/forgejo/issues/59 https://codeberg.org/forgejo/forgejo/issues/59
- immibis 3y agoWe all used to create accounts all over the internet all the time for everything. What happened to that?
- vidarh 3y agoWhat happened is that it massively sucks.
- api 3y agoIt sucks less than it did back then since today we have password managers.
- lelanthran 3y ago> What happened is that it massively sucks. Until you say a naughty word on some forum, and Google bans your account and you cannot log in anywhere. Or you say a naughty word on some forum and Microsoft bans you, so your GH account gets closed, your xbox stops working and you have to wipe Windows and install Linux and hope like hell that you have a local copy of all your 365 docs. Far fetched? Maybe it is, but I feel less anxiety by having separate accounts everywhere.
- lolinder 3y agoThe premise of ForgeFed is that you'd have one account but that one account would not need to be under the control of a corporation, you could have a private instance that you used interact with all open source software projects.
- lelanthran 3y ago> The premise of ForgeFed is that you'd have one account but that one account would not need to be under the control of a corporation, you could have a private instance that you used interact with all open source software projects. Yes, but maintaining my own private instance sucks more than remembering a handful of account credentials.
- Klonoar 3y agoCan’t you just allow Github/etc OAuth?
- vilunov 3y agoI host a number of services for me and close friends and family, and I limit the access by manually creating accounts for them. I could enable OAuth via 3rd party service, but that would mean I'll have to pay much more attention to setup of ACLs, as these users will have a new account created for them with a link to their Github account. Besides, I want to stay more or less independent from 3rd party services, particularly I'm bothered by the need to explicitly register an OAuth client. AP has a much better flow in that regard, services can interoperate without a given permission to do so.
- lolinder 3y agoMost of the point of running your own Gitea instance is to help move FOSS away from GitHub's stranglehold. A proper federation protocol for the decentralized alternatives would be far more useful for that goal than enabling GitHub OAuth.
- Klonoar 3y agoLook, I'm aware of the point of Gitea/etc. I also don't really care. I want people to be able to easily contribute so they don't give up and just go back to GitHub. OAuth with a GitHub access level solves this, full stop. A proper federation protocol is correct and the right option long term but there is no need to knock what actually works right this moment. Doing the right option often takes far longer than is ideal.
- nine_k 3y agoFor people using GitHub, yes. The point is to allow people not using GitHub to contribute easily. OAuth and ForgeFed solve different, though related, problems.
- sneak 3y agoI am thrilled beyond belief for this. This is the ideal way forward. I'm bummed they chose ActivityPub for it, as it's not a great system. That aside, I'm just happy it exists.
- rkangel 3y agoActivityPub does have a big advantage over the other options - it's proven to work, at scale, for a variety of systems. It looks bad compared to some other options partly because it's had much more battletesting to find those weaknesses. Identities independent of account is an important concept, spearheaded by the At Protocol but their design is quite complicated and requires users to own a domain and I'm not convinced (yet) that it'll work in practice.
- immibis 3y agoIs it interoperable with Mastodon - like Kbin is? That's the biggest reason to use ActivityPub.
- Tijdreiziger 3y agoMastodon is just one application using ActivityPub, there is no imperative for other AP applications to specifically be compatible with it (although many are, whether on purpose or as a side effect).
- goku12 3y agoForgefed creates an extension to the ActivityStreams format. I don't know how Mastodon, Lemmy, KBin and others will handle those. However, they will be able to handle the vanilla parts. So perhaps, they can participate in notifications and discussions/reviews.
- jeroenhd 3y agoMastodon would need to add support for the necessary object types and protocol extensions. Things like comments on issues or merge requests may federate without special care, but the experience will be pretty bad out of the box unless Mastodon chooses to implement the extensions necessary for project tracking. Mastodon does nothing with many types of ActivityPub and ActivityStreams objects because they don't make sense for what Mastodon is. When you send a Create status for a Polygon or a Service object to Mastodon, there's very little Mastodon can do with all the data you provide it, because that type of object doesn't really make sense. There are uncommon types that could be rendered in a timeline, I suppose, but I hardly expect to see Mastodon render "Sally indicates that Mark is her brother-in-law".
- jchw 3y agoHAH! I had been thinking about this concept for a while. Apparently, I was not the only one. There's more types of applications that I think could potentially benefit from ActivityPub, too: maybe I'm not too late to find one to be first with. My main concern with ActivityPub right now is operators that are serious about keeping the lights on long-term. I think community-run servers are way better in terms of the ceiling of quality, atmosphere, etc. vs corporate servers and servers ran by VC-funded startups. Having a lot of people posting software on ActivityPub federated instances might not be so bad, though: at the very least, it does offer some natural replication across instances, so presumably anything popular enough would tend to travel around. I know there's a lot of fervor over whether Mastodon is good or Twitter is good or whatever. I think that right now, today, the "fediverse" as it is is still nascent and far from its full potential. The software is still clunky, there's a lot of inter-instance drama to sort out, etc. I strongly believe, for one thing, that instances and software need to get serious about the overall health of the federation: allowing users to communicate and interact with eachother are more important than instance-related squabbles, so I think discouraging full defederation is important for the fate of the federation long-term. (Importantly, having better tools to solve issues with a less heavy-handed approach would be preferred.) Even with all of these problems, though... There's just a little glimmer of hope that maybe, the modern web does not have to be so shit. Outside the influence of poorly moderated, massive, corporate-ran social media, there's an undercurrent of a different kind of web. Open networks, real moderation, and even the coveted "nuance" exists, in some small corners. Yes, there's a lot of stupidity too, but the thing about it is, stupidity on massive borderline-unmoderated networks is impossible to avoid. On federated services, it can in fact be compartmentalized to a degree, and if instances really are causing trouble and refusing to moderate themselves, the nuclear option always remains a viable one. A part of me does wonder if all of these defederated networks just want to be P2P networks but the technology and platform just isn't there today. The most advanced P2P technology I'm aware of is in the IPFS stack, but I'm unconvinced it would be a good foundation to build much on today. One must wonder, though...
- eternityforest 3y agoLast I checked IPFS has some real bandwidth problems, it uses enough at idle and everyone just accepts it, so it's mostly only usable through gateways for normal people, meanwhile BitTorrent has had full P2P for years with a very efficient DHT. Which is still really cool, but there's only a few free pinning services and they don't have a very good UI. I think what we really need is semi-P2P, everything still hosted on centralized servers, but you can choose more than one and your identity isn't tied to either, and with cache-ability through other servers. Then you can still pay with fiat money, you can still kick individuals off your server, you can still choose to use free youretheproductware, and most importantly you can use community servers without it just being madness to invest too much time. Either that, or we git-like fork-able and mergable forums with all content creative commons like Wikipedia. Old forums were amazing for community building.
- jrm4 3y agoIt is starkly funny that Git was designed to be decentralized, a lot like this, and statistically nobody uses it that way.
- deleted 3y ago[deleted]
- Deukhoofd 3y agoWell, Git is decentralized, and most people do use it as such. It's just that the entire infrastructure around it is not. Metadata such as creating, viewing, and managing issues and pull requests generally fall outside of Git itself.
- quectophoton 3y agoAs of today I can send you a pull request through HN, even. Hey, I fixed some typos, you can pull from `https://example.com/repo.git`, branch `typos`. Cheers! There, done. I just made a pull request. Now you can just: git pull https://example.com/repo.git typos Sure, a web-based interface for code review (like what GitHub has) is a nice addition on top of pull requests, especially for back and forth conversation[1]. The code review part doesn't necessarily need to be web stuff. It also doesn't need to be email patches, because just because it's not web doesn't mean it has to be email. Hopefully these ActivityPub initiatives make it more obvious that this is a false dichotomy, and that pull requests and code review are different things. Like, for example, maybe my repo is hosted in a cgit instance, but I can review (and respond to) your suggested changes from nvim, and you receive the comments through ActivityPub. Just because I don't publicly display code review comments on my website doesn't mean you can't use Forgejo on your side as usual. [1]: Though you can leave inline comments in your repo's branch, and I can read them with `git diff` on my side, fix them, do another push, and then you'll see the fixes when you do your next pull.
- LoganDark 3y agoYeah, "pull request" used to be the term for an actual, just, normal, request for someone to pull your changes into their branch. GitHub turned it into a marketing term.
- tomodachi94 3y agoLooks like GitLab is working on a compatible implementation!! https://writing.exchange/@erlend/110949168258462158 https://writing.exchange/@erlend/110949168258462158
- mananaysiempre 3y agoSadly, IIUC Drew DeVault actively refuses to consider one for mainline Sourcehut (even if somebody else makes one for them).
- vilunov 3y agohttps://drewdevault.com/2018/07/23/Git-is-already-distributed.html https://drewdevault.com/2018/07/23/Git-is-already-distribute... I understand his reasoning, but there needs not to be a single protocol for federalization. You can support both email and AP and let users choose what is best for them. "Email simply being a better choice" is a controversial opinion (as most of other statements there). Protocols can evolve and compete with each other, but only if software gives them space to do that.
- kelnos 3y agoI don't think his reasoning makes sense at all. Git itself is distributed, sure, but things like issues, merge/pull requests, project wikis, releases, etc. are not. Sure, presumably you can graft these onto git (I'm aware of at least one implementation that stores issues inside git itself), but it just doesn't seem like people actually want to work that way (judging by the popularity of things like GitHub, GitLab, and DeVault's own SourceHut). I also don't buy the idea that email is great for all this. It... kinda sucks. He brings up Patchwork; to me, the existence of Patchwork is an acknowledgement that email doesn't work all that well for stuff like this. Email is by its very nature unstructured. Unstructured data sucks for things like this. And if you're going to define a standard for how this sort of data should be structured over email, then it seems like you might as well use a better protocol than SMTP/IMAP/POP/whatever, that's purpose-built for this use. An ActivityPub extension (regardless of the merits of ActivityPub itself) seems like a much better fit.
- sverhagen 3y agoI'm yet embarking on my first coffee of the day, so this may all be me, but I read the title and could make no other association than between "fed" and the past tense of the verb "feed". And I kid you not, I was expecting maybe a non-profit against that's working against hunger in disadvantaged regions of the world...
- deleted 3y ago[deleted]
- goku12 3y agoThere is an ongoing project named Git-Social [1] for a self-hostable git forge with ActivityPub (ForgeFed?) support. [1] https://git.vp.mk/ui/git-social.git/master/about https://git.vp.mk/ui/git-social.git/master/about
- rapnie 3y ago> ongoing project There have been 2 commits about "compilation improvements" this year after 3 years of inactivity. I like the idea of the project, but whether the roadmap will get to AP support... hopefully.
- sureglymop 3y agoThis website has been up for a few years but I don't see much progress when it comes to implementation. Where can I contribute to this part of forgejo? And how to start?