home.social

#forgefed — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #forgefed, aggregated by home.social.

  1. Projects like:
    👌 #ForgeFed (forgefed.org)
    👌 and #OpenCloudMesh (nlnet.nl/project/OpenCloudMesh/) show what the internet could be: open and federated, not locked in.

    But if public organizations don’t support and invest in this, who will?

    A city thrives on connections. But imagine a city owned by 1 company, where residents are customers it would resist building roads to competing cities.

    The digital world is no different.

    Public institutions must demand, build and use neutral & open infra‼️

  2. I have been using GitHub (https://github.com/steinbring) for a long time, and I have been seeing a lot of people dunking on it lately (e.g., https://mitchellh.com/writing/ghostty-leaving-github) because of its many failings. I don't think that something like Codeberg (https://codeberg.org) or Bitbucket (https://bitbucket.org) is the answer because there is still a central point of failure and hosting bills to pay. I like the fact that things like ForgeFed (https://forgefed.org) and tangled (https://tangled.org) exist to at least federate comms.

    I really don't know what the answer is.

    #Github #ForgeFed #Tangled #Git #SourceControl

  3. I have been using GitHub (https://github.com/steinbring) for a long time, and I have been seeing a lot of people dunking on it lately (e.g., https://mitchellh.com/writing/ghostty-leaving-github) because of its many failings. I don't think that something like Codeberg (https://codeberg.org) or Bitbucket (https://bitbucket.org) is the answer because there is still a central point of failure and hosting bills to pay. I like the fact that things like ForgeFed (https://forgefed.org) and tangled (https://tangled.org) exist to at least federate comms.

    I really don't know what the answer is.

    #Github #ForgeFed #Tangled #Git #SourceControl

  4. I have been using GitHub (https://github.com/steinbring) for a long time, and I have been seeing a lot of people dunking on it lately (e.g., https://mitchellh.com/writing/ghostty-leaving-github) because of its many failings. I don't think that something like Codeberg (https://codeberg.org) or Bitbucket (https://bitbucket.org) is the answer because there is still a central point of failure and hosting bills to pay. I like the fact that things like ForgeFed (https://forgefed.org) and tangled (https://tangled.org) exist to at least federate comms.

    I really don't know what the answer is.

    #Github #ForgeFed #Tangled #Git #SourceControl

  5. I have been using GitHub (https://github.com/steinbring) for a long time, and I have been seeing a lot of people dunking on it lately (e.g., https://mitchellh.com/writing/ghostty-leaving-github) because of its many failings. I don't think that something like Codeberg (https://codeberg.org) or Bitbucket (https://bitbucket.org) is the answer because there is still a central point of failure and hosting bills to pay. I like the fact that things like ForgeFed (https://forgefed.org) and tangled (https://tangled.org) exist to at least federate comms.

    I really don't know what the answer is.

    #Github #ForgeFed #Tangled #Git #SourceControl

  6. I have been using GitHub (https://github.com/steinbring) for a long time, and I have been seeing a lot of people dunking on it lately (e.g., https://mitchellh.com/writing/ghostty-leaving-github) because of its many failings. I don't think that something like Codeberg (https://codeberg.org) or Bitbucket (https://bitbucket.org) is the answer because there is still a central point of failure and hosting bills to pay. I like the fact that things like ForgeFed (https://forgefed.org) and tangled (https://tangled.org) exist to at least federate comms.

    I really don't know what the answer is.

    #Github #ForgeFed #Tangled #Git #SourceControl

  7. With GitHub falling apart and everyone migrating off, some sort of federation between forges seem super important. Sadly it doesn’t seem like much has been happening with #forgefed lately?

  8. @virtualpierogi @sri @jsalvador @ben @michiel @nlnet

    Yes, I've noticed that in #FOSS realms there's a rapid change to the development processes that are followed. Where projects no longer allow people to just contribute PR's.

    In many github projects for instance you should first start a Discussion and get dev team's consent to create an Issue, which you may then create a PR for. Any other direct contributions are either disallowed or immediately closed.

    There was also this Vouch reputation system that got popularity real quick. And there'll be more changes like that I think.

    github.com/mitchellh/vouch

    news.ycombinator.com/item?id=4

    I've been looking at #ForgeFed and how it is set up. Currently it models very much the application model of what constitutes a typical "Code forge", but this is restrictive and going from lowest common denominator between forges. There's opportunity here to focus on the domain of "Software development" and the (social) coding processes between all stakeholders.

  9. @virtualpierogi @sri @jsalvador @ben @nlnet

    When it comes to #interoperability there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

    If there were a robust #ActivityPub extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at #ATProto or #CloudEvents.

    And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at #ForgeFed AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

  10. @virtualpierogi @sri @jsalvador @ben @nlnet

    When it comes to #interoperability there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

    If there were a robust #ActivityPub extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at #ATProto or #CloudEvents.

    And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at #ForgeFed AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

  11. @virtualpierogi @sri @jsalvador @ben @nlnet

    When it comes to #interoperability there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

    If there were a robust #ActivityPub extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at #ATProto or #CloudEvents.

    And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at #ForgeFed AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

  12. @virtualpierogi @sri @jsalvador @ben @nlnet

    When it comes to #interoperability there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

    If there were a robust #ActivityPub extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at #ATProto or #CloudEvents.

    And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at #ForgeFed AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

  13. @virtualpierogi @sri @jsalvador @ben @nlnet

    When it comes to #interoperability there is no way around having consensus on what you interoperate on, and there must be alignment on some kind of Video related domain model that is robust and consistent.

    If there were a robust #ActivityPub extension mechanism as well as good development practices and processes for the creation of extension into new business and application domains, then this mechanism can still facilitate app-specific extension on top of such a Video domain specification. It is very common for protocol design to have all kinds of extension points, look e.g. at #ATProto or #CloudEvents.

    And more specialized domain extensions can also facilitate further extension in their design. Look e.g. at #ForgeFed AP extension, which allows custom forge-specific metadata collections to be sent with a federated Issue or PR.

  14. @thisismissem @eyeinthesky

    I just responded in the other thread about #ForgeFed way of dealing with Issues and PR's, emphasizing the actor model in the #ActivityPub specs.

    Guess it depends on the nature of your extension and its desired functionality how you model things, but ForgeFed chose to have a dedicated actor, a TicketTracker, to manage the collection. Big advantage is that it become a truly encapsulated service with its own business logic, fronted by an AP actor for interoperable network communication.

    social.coop/@smallcircles/1160

  15. @thisismissem @deadsuperhero

    I was looking at #ForgeFed which is a very sizable #ActivityPub extension (constituting the "Code forge" app domain in app-centric view, but arguably "Software development" top-level business domain in a service-oriented fedi).

    The way that things are modeled here adheres more to the actor model where there's a Factory actor, which in turn creates resource actors that expose various sub-domains. For instance for the management of Issues and PR's there's a TicketTracker actor to obtain via a Factory actor on a forge instance. Though I'm not sure whether I'd modeled that in similar fashion, it is a fascinating direction where we focus much more on good protocol extension design.

    All in all AS/AP offers a very granular foundation that allows for very interesting architectures, if only we dare explore them and do not dogmatically stick to some engrained notion how "social media" ought to be. I see #SocialMedia as but a small subset of #SocialNetworking.

  16. Another Microsoft #GitHub outage, another reminder that over half of the projects I use / contribute to are hosted on and exclusively available on this proprietary forge.
    It's time to factor this into decisions whether to use software, points-- for GitHub.

    Stuff I tried accessing today:
    #NixOS nixpkgs repo (can't update my computer)
    #Flathub manifests
    #Niri wayland compositor
    #Tauon music player

    Would love to see more migrations to free forges, and excited for #ForgeFed to make this easier!

  17. Are there any #forgefed people at #fosdem today? I’d like to pick your brains!

  18. It seems like @forgefed's grant funding ran out and the entire project has just been left hanging, unfinished. This is a potentially important project, so this is really frustrating.

    But really, anything important enough to get grant funding probably ought to keep going after the grant funding ends. Maybe grant-making orgs could provide some kind of support for projects transitioning out of funded work sprints, back into volunteer-driven coordination?

    #ForgeFederation #ForgeFed #GrantMaking

  19. It seems like @forgefed's grant funding ran out and the entire project has just been left hanging, unfinished. This is a potentially important project, so this is really frustrating.

    But really, anything important enough to get grant funding probably ought to keep going after the grant funding ends. Maybe grant-making orgs could provide some kind of support for projects transitioning out of funded work sprints, back into volunteer-driven coordination?

    #ForgeFederation #ForgeFed #GrantMaking

  20. It seems like @forgefed's grant funding ran out and the entire project has just been left hanging, unfinished. This is a potentially important project, so this is really frustrating.

    But really, anything important enough to get grant funding probably ought to keep going after the grant funding ends. Maybe grant-making orgs could provide some kind of support for projects transitioning out of funded work sprints, back into volunteer-driven coordination?

    #ForgeFederation #ForgeFed #GrantMaking

  21. It seems like @forgefed's grant funding ran out and the entire project has just been left hanging, unfinished. This is a potentially important project, so this is really frustrating.

    But really, anything important enough to get grant funding probably ought to keep going after the grant funding ends. Maybe grant-making orgs could provide some kind of support for projects transitioning out of funded work sprints, back into volunteer-driven coordination?

    #ForgeFederation #ForgeFed #GrantMaking

  22. GitLab is dropping plans to pursue federation features like distributed merge requests. Sad, but not very surprising to me.

    gitlab.com/groups/gitlab-org/-

    However, @forgefed and related specifications are still a thing and @forgejo is still working on supporting that, see codeberg.org/forgejo-contrib/f and forgefed.org/!

    #forgefed #ForgeFederation #gitlab #forgejo #federatedGit #git

  23. GitLab is dropping plans to pursue federation features like distributed merge requests. Sad, but not very surprising to me.

    gitlab.com/groups/gitlab-org/-

    However, @forgefed and related specifications are still a thing and @forgejo is still working on supporting that, see codeberg.org/forgejo-contrib/f and forgefed.org/!

    #forgefed #ForgeFederation #gitlab #forgejo #federatedGit #git

  24. GitLab is dropping plans to pursue federation features like distributed merge requests. Sad, but not very surprising to me.

    gitlab.com/groups/gitlab-org/-

    However, @forgefed and related specifications are still a thing and @forgejo is still working on supporting that, see codeberg.org/forgejo-contrib/f and forgefed.org/!

    #forgefed #ForgeFederation #gitlab #forgejo #federatedGit #git

  25. GitLab is dropping plans to pursue federation features like distributed merge requests. Sad, but not very surprising to me.

    gitlab.com/groups/gitlab-org/-

    However, @forgefed and related specifications are still a thing and @forgejo is still working on supporting that, see codeberg.org/forgejo-contrib/f and forgefed.org/!

    #forgefed #ForgeFederation #gitlab #forgejo #federatedGit #git

  26. GitLab is dropping plans to pursue federation features like distributed merge requests. Sad, but not very surprising to me.

    gitlab.com/groups/gitlab-org/-

    However, @forgefed and related specifications are still a thing and @forgejo is still working on supporting that, see codeberg.org/forgejo-contrib/f and forgefed.org/!

    #forgefed #ForgeFederation #gitlab #forgejo #federatedGit #git

  27. 🍵

    Oh, wait, that won't do it this time!

    🫖

    Hm, you know what?

    🥂

    Yeah, that feels right.

    Another week after my last update on #Anvil. With two more days to go.

    📝 Checking the milestones I can attest that the latest update to the demo instance made great progress.

    After logging in I can now browse issues and pull requests (a special form of issues) as well as comment on them. Therefore the requirement to log in.

    Oh, and you can now turn on and off issues and PRs. From what I understood, PRs are only available when there are files uploaded in the code tab (which makes sense when you think about it).

    Since working alone can feel boring, I also implemented the ability to create teams and add people to it. You'll need to know the username of the collaborator. The teams have admin permissions when created this way because I learned that #ForgeFed treat teams as a means to deliver notes to the right people. Access Management was meant to be done through OCAP (object capabilities). Similar to what you can expect from Spritely Institute. ALAS that's not implemented.

    So what's left are notification polling, desktop notifications and OAuth login with Vervis. Since Vervis' development was suspended this is effectively off the table.

    I plan to write up documentation in the remaining time.

    🎢 Of course this week was an adventure in itself. Let me share some learnings!

    First, I wrote a small script that populated my user table on the local #Forgejo instance with those from the Big List I shared last time. Among them funsies such as „search” or „undefined”. Let me tell you that this brings debugging to a new level :neocat_laugh_sweat:

    🔍️ On the upside I can now handle the pagination when searching for „search”. Yay.

    ⏲️ As I also run into some long running requests (because the backend was slightly overwhelmed by the number of incoming requests) I added a timeout for API requests (set to five seconds). Still long, but the majority of calls should make it through.

    I played around with the team permissions in Forgejo. An area I rarely investigated in the past. As mentioned, by default I went with Admin permission as it is the least hassle. Best practice is following the principle of least privilege. I wasn't able to figure out the right knobs from the API alone so I looked at the web UI. For example, if you turn one privilege to „read”, several others change. Okay … What's the logic behind here? When reaching out to @pere I learned about the purpose of Teams. Okay … so I added a note to the implementation and left it there. It's defo a construction place to get back to. 🚧

    Toggling TicketTracker and PatchTracker were easy enough (pendant to Issues and PRs in Forgejo).

    💬 There's a rudimentary implementation of comments in Anvil now. It works. I can even show reactions! Speaking of: Svelte-Octicons lack some icons here (say, a laughing emoji). Reactions are underspecified in ForgeFed, but given that comments are #ActivityPub Notes I looked at #GoToSocial for informing myself how to describe a reaction. They're tags there that have an icon go along. But … Forgejo only has emojis for reactions. As in: Unicode. So … shall I use a MIME type of text/plain here? I sense that this could blow up other services …
    Do we have a #FEP on the subject? (I haven't browsed …)

    Since Pull Requests are Issues in disguise, commenting there was easy, too. I have a superficial understanding of the different pieces that make up a Patch in ForgeFed. So I'm displaying … something? The error handling here is not great. Forgejo is responding with meaningful information but since I long left design specs behind I felt lost on how to handle them. @mray Halp!

    When you try it out, take a close look at the URL. I usually go with your profile but the work often happens in organisations. So a manual adjustment might be needed.

    🗺️ Navigation is something that would go into an extension of the grant but we reached the end of the road here.

    I'd argue it's time to celebrate!

    🍻 Cheers!

  28. 🍵

    Oh, wait, that won't do it this time!

    🫖

    Hm, you know what?

    🥂

    Yeah, that feels right.

    Another week after my last update on #Anvil. With two more days to go.

    📝 Checking the milestones I can attest that the latest update to the demo instance made great progress.

    After logging in I can now browse issues and pull requests (a special form of issues) as well as comment on them. Therefore the requirement to log in.

    Oh, and you can now turn on and off issues and PRs. From what I understood, PRs are only available when there are files uploaded in the code tab (which makes sense when you think about it).

    Since working alone can feel boring, I also implemented the ability to create teams and add people to it. You'll need to know the username of the collaborator. The teams have admin permissions when created this way because I learned that #ForgeFed treat teams as a means to deliver notes to the right people. Access Management was meant to be done through OCAP (object capabilities). Similar to what you can expect from Spritely Institute. ALAS that's not implemented.

    So what's left are notification polling, desktop notifications and OAuth login with Vervis. Since Vervis' development was suspended this is effectively off the table.

    I plan to write up documentation in the remaining time.

    🎢 Of course this week was an adventure in itself. Let me share some learnings!

    First, I wrote a small script that populated my user table on the local #Forgejo instance with those from the Big List I shared last time. Among them funsies such as „search” or „undefined”. Let me tell you that this brings debugging to a new level :neocat_laugh_sweat:

    🔍️ On the upside I can now handle the pagination when searching for „search”. Yay.

    ⏲️ As I also run into some long running requests (because the backend was slightly overwhelmed by the number of incoming requests) I added a timeout for API requests (set to five seconds). Still long, but the majority of calls should make it through.

    I played around with the team permissions in Forgejo. An area I rarely investigated in the past. As mentioned, by default I went with Admin permission as it is the least hassle. Best practice is following the principle of least privilege. I wasn't able to figure out the right knobs from the API alone so I looked at the web UI. For example, if you turn one privilege to „read”, several others change. Okay … What's the logic behind here? When reaching out to @pere I learned about the purpose of Teams. Okay … so I added a note to the implementation and left it there. It's defo a construction place to get back to. 🚧

    Toggling TicketTracker and PatchTracker were easy enough (pendant to Issues and PRs in Forgejo).

    💬 There's a rudimentary implementation of comments in Anvil now. It works. I can even show reactions! Speaking of: Svelte-Octicons lack some icons here (say, a laughing emoji). Reactions are underspecified in ForgeFed, but given that comments are #ActivityPub Notes I looked at #GoToSocial for informing myself how to describe a reaction. They're tags there that have an icon go along. But … Forgejo only has emojis for reactions. As in: Unicode. So … shall I use a MIME type of text/plain here? I sense that this could blow up other services …
    Do we have a #FEP on the subject? (I haven't browsed …)

    Since Pull Requests are Issues in disguise, commenting there was easy, too. I have a superficial understanding of the different pieces that make up a Patch in ForgeFed. So I'm displaying … something? The error handling here is not great. Forgejo is responding with meaningful information but since I long left design specs behind I felt lost on how to handle them. @mray Halp!

    When you try it out, take a close look at the URL. I usually go with your profile but the work often happens in organisations. So a manual adjustment might be needed.

    🗺️ Navigation is something that would go into an extension of the grant but we reached the end of the road here.

    I'd argue it's time to celebrate!

    🍻 Cheers!

  29. 🍵

    Oh, wait, that won't do it this time!

    🫖

    Hm, you know what?

    🥂

    Yeah, that feels right.

    Another week after my last update on #Anvil. With two more days to go.

    📝 Checking the milestones I can attest that the latest update to the demo instance made great progress.

    After logging in I can now browse issues and pull requests (a special form of issues) as well as comment on them. Therefore the requirement to log in.

    Oh, and you can now turn on and off issues and PRs. From what I understood, PRs are only available when there are files uploaded in the code tab (which makes sense when you think about it).

    Since working alone can feel boring, I also implemented the ability to create teams and add people to it. You'll need to know the username of the collaborator. The teams have admin permissions when created this way because I learned that #ForgeFed treat teams as a means to deliver notes to the right people. Access Management was meant to be done through OCAP (object capabilities). Similar to what you can expect from Spritely Institute. ALAS that's not implemented.

    So what's left are notification polling, desktop notifications and OAuth login with Vervis. Since Vervis' development was suspended this is effectively off the table.

    I plan to write up documentation in the remaining time.

    🎢 Of course this week was an adventure in itself. Let me share some learnings!

    First, I wrote a small script that populated my user table on the local #Forgejo instance with those from the Big List I shared last time. Among them funsies such as „search” or „undefined”. Let me tell you that this brings debugging to a new level :neocat_laugh_sweat:

    🔍️ On the upside I can now handle the pagination when searching for „search”. Yay.

    ⏲️ As I also run into some long running requests (because the backend was slightly overwhelmed by the number of incoming requests) I added a timeout for API requests (set to five seconds). Still long, but the majority of calls should make it through.

    I played around with the team permissions in Forgejo. An area I rarely investigated in the past. As mentioned, by default I went with Admin permission as it is the least hassle. Best practice is following the principle of least privilege. I wasn't able to figure out the right knobs from the API alone so I looked at the web UI. For example, if you turn one privilege to „read”, several others change. Okay … What's the logic behind here? When reaching out to @pere I learned about the purpose of Teams. Okay … so I added a note to the implementation and left it there. It's defo a construction place to get back to. 🚧

    Toggling TicketTracker and PatchTracker were easy enough (pendant to Issues and PRs in Forgejo).

    💬 There's a rudimentary implementation of comments in Anvil now. It works. I can even show reactions! Speaking of: Svelte-Octicons lack some icons here (say, a laughing emoji). Reactions are underspecified in ForgeFed, but given that comments are #ActivityPub Notes I looked at #GoToSocial for informing myself how to describe a reaction. They're tags there that have an icon go along. But … Forgejo only has emojis for reactions. As in: Unicode. So … shall I use a MIME type of text/plain here? I sense that this could blow up other services …
    Do we have a #FEP on the subject? (I haven't browsed …)

    Since Pull Requests are Issues in disguise, commenting there was easy, too. I have a superficial understanding of the different pieces that make up a Patch in ForgeFed. So I'm displaying … something? The error handling here is not great. Forgejo is responding with meaningful information but since I long left design specs behind I felt lost on how to handle them. @mray Halp!

    When you try it out, take a close look at the URL. I usually go with your profile but the work often happens in organisations. So a manual adjustment might be needed.

    🗺️ Navigation is something that would go into an extension of the grant but we reached the end of the road here.

    I'd argue it's time to celebrate!

    🍻 Cheers!

  30. #Forgejo federation can't come fast enough for you? Have you ever wished to help out, but specifications are too scary and you don't know where to start?

    In that case, I have the perfect task for you (yes, you!): codeberg.org/forgejo/forgejo/i

    #ForgeFed #federation #Codeberg

  31. 🆕 Update! 🍵

    Previously I informed you on the ability to connect to a #Forgejo via #Anvil. My main objective was to fetch and display a remote profile in Anvil.

    Thank you for the feedback here! Keep it coming.

    I continued the development. Today I want to talk about the piece called a #project. #ForgeFed defines it as follows:

    Represents a project, a planned endeavor that involves usage of tools related to the software development lifecycle. It may be a software project, but may also be totally unrelated to software development. For example, it may be a book that is being written using Markdown files kept in a Git repository. A Project object is a way to collect forge related components together under one title.

    To me, that sounds interesting. Yes, I'm a software developer. I've seen things. Not only libraries and apps but also blogs. Or websites. Or journals.

    You can do a lot with git. The ability to branch out, rollback, revert etc. is liberating.

    So what are „forge related components” then?

    The definition is a bit spread out. Let me quote one example:

    The term 'component' used below refers to a forge related service actor. This may be a service of a type defined in ForgeFed (such as Repository, TicketTracker, PatchTracker), or a service defined in some extension.

    Repository is a git repository. TicketTracker is sometimes known as Issue Tracker. PatchTracker can also be called Merge Requests or Pull Requests.

    What's notably absent is planning activity. That's what you might expect from forges like GitHub.

    I feel this makes the concept a little bit fuzzy; you can talk with someone about „project” and mean different things.

    What you can do now in Anvil (after logging in) is to head to /projects/new (e.g. https://anvil.demo.jaenis.ch/projects/new ) and enter a name and description to create a Forgejo repository (with all tabs except code turned off -- Funnily I wasn't able to turn this one off via API even though the web UI allows it). The form validation is lacking here. Sometimes I get a message (e.g. if the repository with that name already exists), sometimes I get a codeword (e.g. when you use illegal characters in the repo name).

    I haven't found a good way to handle these with a nice UX. Guess it will result in some issues filed against Forgejo down the line.

    ForgeFed has something called Grant flow (used in several places). It's tricky to implement this when the backend I want to talk to not really has the concept. So I do these dances against the Anvil API but always follow the happy path.

    I'd like to have your experience here: Can you describe permissions and team setups you have defined to control who can do what? (Create repos in an organisation, toggle the visibility of tabs like issues or releases, create new releases, push to code, accept PRs etc.)

    I'd like to create a set of flows that mimic then so I can better approach the Grant flow described in the spec. The real challenge is to have it work across forges. We aren't there yet.

    My next steps are going to be „adding components to a project”, i.e. allowing to set these checkboxes. Plus the ability to define teams.

    I need to brew more tea 🫖

  32. 🆕 Update! 🍵

    Previously I informed you on the ability to connect to a #Forgejo via #Anvil. My main objective was to fetch and display a remote profile in Anvil.

    Thank you for the feedback here! Keep it coming.

    I continued the development. Today I want to talk about the piece called a #project. #ForgeFed defines it as follows:

    Represents a project, a planned endeavor that involves usage of tools related to the software development lifecycle. It may be a software project, but may also be totally unrelated to software development. For example, it may be a book that is being written using Markdown files kept in a Git repository. A Project object is a way to collect forge related components together under one title.

    To me, that sounds interesting. Yes, I'm a software developer. I've seen things. Not only libraries and apps but also blogs. Or websites. Or journals.

    You can do a lot with git. The ability to branch out, rollback, revert etc. is liberating.

    So what are „forge related components” then?

    The definition is a bit spread out. Let me quote one example:

    The term 'component' used below refers to a forge related service actor. This may be a service of a type defined in ForgeFed (such as Repository, TicketTracker, PatchTracker), or a service defined in some extension.

    Repository is a git repository. TicketTracker is sometimes known as Issue Tracker. PatchTracker can also be called Merge Requests or Pull Requests.

    What's notably absent is planning activity. That's what you might expect from forges like GitHub.

    I feel this makes the concept a little bit fuzzy; you can talk with someone about „project” and mean different things.

    What you can do now in Anvil (after logging in) is to head to /projects/new (e.g. https://anvil.demo.jaenis.ch/projects/new ) and enter a name and description to create a Forgejo repository (with all tabs except code turned off -- Funnily I wasn't able to turn this one off via API even though the web UI allows it). The form validation is lacking here. Sometimes I get a message (e.g. if the repository with that name already exists), sometimes I get a codeword (e.g. when you use illegal characters in the repo name).

    I haven't found a good way to handle these with a nice UX. Guess it will result in some issues filed against Forgejo down the line.

    ForgeFed has something called Grant flow (used in several places). It's tricky to implement this when the backend I want to talk to not really has the concept. So I do these dances against the Anvil API but always follow the happy path.

    I'd like to have your experience here: Can you describe permissions and team setups you have defined to control who can do what? (Create repos in an organisation, toggle the visibility of tabs like issues or releases, create new releases, push to code, accept PRs etc.)

    I'd like to create a set of flows that mimic then so I can better approach the Grant flow described in the spec. The real challenge is to have it work across forges. We aren't there yet.

    My next steps are going to be „adding components to a project”, i.e. allowing to set these checkboxes. Plus the ability to define teams.

    I need to brew more tea 🫖

  33. The reason why I keep a mirror of xtream on #GitHub is because I suspect their users won't bother creating an account on #Codeberg in order to open an issue, so they have that option.

    So the #ForgeFed project working on a federated #Forgejo is a nice thing that could solve that. I'm not sure if GitHub would ever federate, though...

  34. Forgejo Federation (#ForgeFed):

    « It's a bit like e-mail, except the data sent is JSON objects (i.e. structured computer-readable data), and not only humans have inboxes where they can be contacted, but also repositories and issue trackers have inboxes through which they can be remotely and safely interacted with. »

    forgefed.org
    6/4

  35. @forgejo My personal highlight of this release: You can now use your #fediverse handle in #markdown documents and it will be marked up as a link to your user profile (or group, etc.).
    forgejo.org/2025-07-release-v1
    I'm excited about the future, when mentioning fediverse handles will actually be federated and will send notifications everywhere!
    #Forgejo #Federation #forgefed

  36. okies, decided, today's the day... gonna start moving my repositories to codeberg... notabug.org's too consistently inconsistently available. n_n a little sad. mmmmmmuch fondness for notabug.org. ... i wonder, if i leave the repository off the end of the url in codeberg's migration tool... does it allow migrating everything in one go? :3

    or should i skip codeberg, and go full forgejo? :)

    #git #githosting #gitforge #notabug #codeberg #forgejo #forgefed

  37. @itsfoss

    We should move away from github and here is why: https://sfconservancy.org/GiveUpGitHub/

    As far as I understand publishing docker images should also be possible woth gitea, forgejo and codeberg. I haven’t tried myself.

    https://docs.gitea.io/en-us/packages/container/

    Forgejo is a “soft” fork of Gitea with a focus on scaling, federation and privacy under the umbrella of codeberg.

    https://forgejo.org/

    Those popular projects that do want to self host might want to use a CDN to reduce costs.

    Codeberg and sr.ht are alternatives for those who do not want to self-host. I am not sure if it is easy to use sr.ht for publishing docker images.

    https://codeberg.org https://sr.ht/

    Towards a federated future for software forges.

    NLnet supports the ForgeFed project and forgejo is implementing their protocol. https://nlnet.nl/project/ForgeFed-RPC/

    ForgeFed is a federation protocol for software forges and code collaboration tools for the software development lifecycle and ecosystem. ForgeFed is an ActivityPub extension.

    #srht #codeberg #nlnet #docker #gitea #forgejo #forgefed #giveupgithub

  38. There are a few projects, like Tidelift and Snowdrift.coop, attempting something similar to what Colin describes, and he references some of them in footnotes. But he seems to think the funding pools need to be tied into the forges hosting the code. Something for the ForgeFed folks to consider.

    #ForgeFed #Tidelift #Snowdrift

  39. #GitLab is shutting down it's #GitHost.io "single-tenant" hosting service, which means that like the Gitorious shutdown, a bunch of projects are going to be scrambling to find new project hosting, including #GNUsocial and #SnowDrift. We really need #ForgeFed!
    about.gitlab.com/gitlab-hosted

  40. @christiansilvermooon
    You say CloudGlare is a "security company" we say it is a "MITM attack on the internet" or a "protection racket".

    Tomato, tomato, right? #useI2P

    MicroShaft GitHub is centralising development, exclusive, does evil including decriminates based on national identity, deanonymises, steals code from people, trains AI, and generally should not exist.

    Git-issue sounds interesting thanks. We wonder how #ForgeFed is doing, too.

  41. #ShowerThoughts: the MVP for federated code forges is the ability to login to a new forge as a guest, using your account on your home forge. Obviously that would need to use something like OpenID that sends you back to your own forge to login, rather than expecting you to give your login credentials to the new forge. There would need to be a name and logo (ForgeFed?) that could sit alongside (or ideally replace) the 'login with GH/ GL' logos presently in use.

    #ForgeFed #CodeForge #Federation

  42. The MVP for federated code forges is the ability to login to a new forge as a guest, using your account on your home forge. Obviously that would need to use something like OpenID that sends you back to your own forge to login, rather than expecting you to give your login credentials to the new forge.

    #ForgeFed #CodeForge #Federation

  43. @MarkusEicher

    Yes, our pubic launch announcement is imminent, basically coinciding with this next #Gitea release.

    Forĝejo will remain a drop in replacement, as we continue to develop out #ActivityPub based #forge #federating capabilities.

    You have a great day!

    #tallship #FOSS #Fediverse #ForgeFed #Forgejo

    .

  44. With all the chaos happening in the , it's looking more and more the is proving to be a reliable alternative. 😎

    There's so many instances and types of implementation to choose from. All interconnected with one another. 🕸️

    My most favorite right now has to be the work for . Making code forges part of the fediverse.

    forgefed.org/

  45. MINI RANT TIME.... #openSource is the hashtag to use when bending over and want to serve the #corporateState.... it could probably be labelled, #openWide or #openSeason, take ur pick.

    #FOSS is the hashtag to use when you care about #freedom. Some other good ones are #Libre and #copyleft

    #github is the microshaft platform to use when u want OpenSeason on ur software. If yuo do FOSS on #griftHub ur work will be stolen by #microshaft and handed over to the corporates, using the excuse, "the 'AI' stole it".

    If u are using GriftHub, u are part of the problem, either due to ur #ignorance, or malevolence. This includes the #bitcoin ppl.

    Gitlab is also quite nasty as it requires javascript to browse a repository, and its official service (gitlab.com) is via cloudflare, Avoid using for anything other than backup/#collateralFreedom.

    Please look in #forgejo and #forgeFed and other types of forges /END RANT

    #getOffGithub #github #softwareTheft #llms #forges #git

  46. Has anyone successfully setup #BTCPayServer to federate over #I2P network, rather than than Tor?

    From this resource it would appear not:
    web.archive.org/web/2023010823

    While on the topic of #federated systems, aren't #bitcoiners embarrassed that they're on the invasive #MSGitHub platform? This question extends to #fedizens who list the #MicroShaft forge prominently in their bio.

    The sooner we use alternative #forges day-to-day, or move to something like #ForgeFed the better.

  47. Crisis averted, #GitLab reopened the epic on #ActivityPub / #ForgeFed implementation. :)

    They made it clear, though, that they're not going to do it themselves in any foreseeable future, their "current focus isn't in this area", so it's up to the community to implement it. As I mentioned in the issue, I won't be able to come back to it until I'm done bootstraping the business I'm working on, so anyone who wants to see it done faster should feel free to jump in.

    gitlab.com/groups/gitlab-org/-