Advancing federation in Gitea

Bonjour,

There might be an interest for some developers active in Gitea to devote some of their paid time to advance the implementation of federation, a discussion that started late last year. Because of exceptional circumstances (the pandemic), Loïc and Pierre-Louis will have an excess of funds (because there will be very little travel expenses) that can be directed towards this goal. The total amount is ~5,000€.

As suggested by someone who knows the project well during a private conversation, it would be fine to transparently discuss the opportunity on a communication space where the Gitea developers are usually active. Unfortunately these are GitHub and discord, two proprietary platforms that I actively boycott. @pilou graciously agreed to be my proxy and relay my messages in this space.

Cheers

Here is a message that could be posted as a followup of https://github.com/go-gitea/gitea/issues/14186.


Bonjour,

TL;DR: what would it take to put federation on the Gitea 1.16.x roadmap?

The gitea roadmap for 1.1.15 is now locked and the next release cycle will start right after it is released. However the roadmap for 1.1.16 does not include the implementation of ActivityPub.

What would it take to make that happen?

It is of course a matter of who is interested to implement it and has time and skills to actually do it. An area where the fedeproxy project could help by redirecting 5,000€ of its funds (total 75K€). This is not much but it’s not nothing and could be used to make the first baby step(s).

It is also a matter of defining the first baby steps that would lead Gitea in the direction of federation. At the moment there only is a very high level discussion that can hardly be translated into actionable items. In your expert opinion, what would be the first minimal tasks that would make most sense?

Cheers

P.S: I’m very motivated to help move forward and in case you’re curious why I don’t post myself (thank you Pierre-Louis for being my proxy :slight_smile: ), feel free to read why I deleted my GItHub account a few years ago.

2 Likes

Posted!

2 Likes

This is wonderful :heart:
I posted to Lemmy, Fedi, and #go-lang:matrix.org

May I suggest you also post to SocialHub to keep the AP community informed?

1 Like

@pilou would you be so kind as to post this reply?


@techknowlogick thanks for your reply and guidance :slight_smile: It’s good to know the timing is right and I’m hopeful someone will be interested.

you were to use these funds I would recommend giving them directly to the developer working on this PR, and the maintainers reviewing it, rather than to the project itself

I’ll follow your advice. Since fedeproxy is horizontal (no organization) the funds originate from individuals (Pierre-Louis and myself, 50% each) and it will be possible to pay the person(s) doing the work directly.

as this is likely a large PR…

Maybe it can be broken down in smaller tasks / PRs? It would be easier to review and implement. And it will also be easier to prioritize which task should be worked on first and which ones can fit is the modest budget there is.

@aschrijver that was my intention, as soon as cj and zeripath comment or a week pass, which ever comes first. I take this opportunity to ask your advice on how to word the toot / message to announce it. You have a talent to make it so people pay attention :slight_smile:

1 Like

People on Lemmy ask where they can donate. I think I will provide 3 places: FedeProxy, Gitea and GoFed.

The ForgeFed website is still down, for over a week now, so I just posted to Feneas about it. Maybe they want to step in too with this new development going on.

Update: Instead I pointed here.

1 Like

TL;DR: https://liberapay.com/fedeproxy/

FedeProxy is a horizontal community of individuals, therefore not incorporated: it is not possible to donate to the organization because it does not exist. As a consequence each member of the community is responsible for raising their own money and for receiving funds that they pledge to dedicate to the advancement of the fedeproxy project.

As you can see in the liberapay page, the funds currently go directly to individuals (Pierre-Louis and myself). The income and expsense spreadsheet will show, weekly, if the money that we received via liberapay is actually accounted for. That’s the quantitative benefit of full transparency. The more difficult question is to evaluate if the way we spent the money makes sense at all. A good example is the current discussion on what to do with the diversity grant.

Regarding the Gitea federation features here is how it will go:

  • Someone adds to the https://liberapay.com/fedeproxy/ account and earmarks it for the implementation of federation in Gitea
  • I will add this to the income part of spreadsheet
  • When someone claims credit for getting a pull request merged in Gitea that helps with federation, a new topic will be opened on the forum for the community to come to a consensus (because that’s how the decision process starts).
  • When the decision is final Pierre-Louis or myself will send them the required amount
  • I will add that to the expense part of the spreadsheet
  • Someone can verify in the spreadsheet later on, with a URL to the decision to release the funds, that their donation was used as intended.

Cheers

1 Like

Weave the threads, Luke! That thread you mentioned on the Gitea forum also really needs a real update, knitting all of the ongoing conversations together.

I just added a comment to the Gitea GH issue with all the places there’s talk about funding mentioned in it.

PS. Your other posts on Gitea forum are still flagged. I’d DM an admin of the forum.

1 Like

Posted.

1 Like

Posted by southerntofu following our exchanges on libera#peers:

Bonjour @pilou,

While working on the grant application today, I ran into a question that is worth posting on the issue. Would you be so kind as to copy/paste it on my behalf?

Cheers


Bonjour,

While working on the grant application today, I ran into a question that is probably worth discussing before moving forward. Go-fed is AGPLv3+, and Gitea is MIT. Adding Go-fed as a dependency of Gitea means that Gitea, as a whole (meaning Gitea+Go-fed+other dependencies), can only be released under the AGPLv3+. Or not released at all.

To be more precise, here is the minimal set of actions required to distribute a gitea executable that contains Go-fed:

  • The https://github.com/go-gitea/gitea repository needs no change
  • A license notice stating the executable is under the AGPLv3+ license must be prominently added to the user interface (e.g. added at the beginning of js/licenses.txt)

This is not the only possible course of action, only the simplest.

What do people think about this?

1 Like

Posted

2 posts were split to a new topic: Grant application for federation in Gitea

This is no problem. Only apcore is AGPL, but this project is an opinionated server framework, meant to make life easier in implementing a full-blown server. The go-fed libraries are - probably very deliberately not under AGPL, but BSD-3 license. Gitea would not need apcore and already has a bunch of server aspects implemented their own way. They’d need to reimplement some things again, but not involving too much work (e.g. webfinger).

2 Likes

@aschrijver thanks!

@pilou would you be so kind as to post the following on my behalf?


Oh… my bad, thanks for the clarification!

1 Like

Posted

1 Like

Since it seems likely that nobody will be interested in the 5K€ grant, it would be a good thing to set an expiration date. Would November 1st 2021 be sensible?

1 Like

@pilou would you be so kind as to post the following to this issue ?


@zeripath in the 1.16 plan you write “(It’s worth noting that although this may appear orthogonal to things like federation - this is key to making federation possible.)”. You mentioned this a few times and I concur: authentication / authorization is a building block of federated activities. Maybe I’m stating the obvious but here it is: if issues were created around that topic that clearly articulate how they are relevant to federation, it would be possible to fund their implementation with the money earmarked for federation. My 2cts :wink:

1 Like