NLnet grant application for federation in Gitea (deadline August 1st, 2022)

Thanks for your statement: it allowed the grant application to move forward. Regarding your concerns about ActivityPub I’m intrigued to discuss it more. Would you mind if we move this to a new topic before I comment?

2 Likes

That is a great discussion where I am happy to participate as well.

1 Like

Received today. As instructed I suggest we do not discuss it outside of this topic: this is one step forward, which is good news indeed. But this is not final and some administrative steps are required and it is entirely possible that there is a blocker.


Subject: Good news about your proposal to NLnet
From: nlnet

Dear Anthony, Loïc, “Gusted” and “6543”,

you applied to the first NGI0 Entrust open call from NLnet, round August 2022. We have kept you in suspense for a while, because this call was the single largest in our history in terms of proposals that needed to be processed. This is done, however, and currently a selection of the projects is pending the final stage review by an independent review committee to validate their eligibility, and we are happy to inform you that this includes your project “Federated software forges with Gitea” (2022-08-067). Should your project pass that final hurdle (which under normal circumstances it should, but please do not seek external publicity until it is officially confirmed), the selection will be made public and we will contact you in order to establish a Memorandum of Understanding. The final amount of the grant will be determined at that point.

We will then also need to share some information about the project both with the general audience and with the European Commission. In the interest of time, we ask you to prepare a one paragraph management summary of the project. For examples we refer you to NLnet; NGI Zero PET

We kindly request you to send us this summary as soon as possible.

If you meanwhile have any questions, please let us know.

Kind regards,
on behalf of NLnet foundation,


The following reply was sent October 12th, 2022 with text copy/pasted from the generic grant application:

From: loic@dachary.org
CC: Anthony Wang, Loïc Dachary, Gusted, 6543 entrust2022@forgefriends.org
Subject: Re: Good news about your proposal to NLnet

Hi [redacted],

Thanks for the good news :slight_smile: Here is the one paragraph management summary, just in case all goes well:

Gitea is a self hosted software forge where developers can work together on software projects and users can report bugs or request features. It is very popular with over 100 millions pulls on the Docker Hub. As of Gitea version 1.17, when a project is hosted on a Gitea instance, every developer is expected to create an account on that instance in order to participate. Compared to email, it is as if it was necessary to create an account on gmail.com to send a message to someone with an @gmail.com email address and another on yahoo.fr to send a message to someone with an @yahoo.fr email address. But in 2022 there are two: the W3C ActivityPub protocol published in 2017 and forgefed, an emerging standard (since 2019) to describe activities happening on software forges. They can be used by Gitea instances to communicate with each other and create a federation of forges continuously communicating with one another instead of a constellation of isolated silos. A federated Gitea will enable software developers to work on the same project even when they use different Gitea instances. There will be bridges between isolated Gitea instances that software projects can use to synchronize in real time.

We collectively keep our fingers crossed and hope there won’t be unexpected problems!

Cheers


From: nlnet
Subject: Re: Good news about your proposal to NLnet

Hi Loïc et al,

We collectively keep our fingers crossed and hope there won’t be unexpected problems!

same here.

Best,

1 Like

Here is a draft workplan to be prepared in case the grant is accepted.

The following resources were used:

And some tasks were added relative to moderation since it is an important topic that was somewhat overlooked when preparing the grant application.

The spreadsheet has twenty five items and a total grant amount (set to 50000 because that is the amount requested but there is no guarantee it will be the amount allocated):

  • First column: sequence number [1,25]
  • Second column: unique name of the task
  • Third column: three lines description of the task
  • Fourth column: milestones deliverables that are either merged pull requests, published documents or videoconference recordings (at most three)
  • Fifth column: percentage of the funding dedicated to the task. It is 2% so that all 50 items total 100%.
  • Sixth column: the payment that would be requested upon completion of the task, calculated using the total grant amount and the percentage allocated to the task.

From my experience things can get very confusing when tracking payments because the money received will not always be associated with the proper label (banks tend to truncate things or just trim). Since the amount paid is the only reliable way to track what was paid and when, the amount allocated to the task is augmented by a prime number so that factorizing them conveniently provides the list of tasks that were paid.

2 Likes

I added myself for the community management task of the tentative workplan for lack of a better alternative. But then I discovered that @onepict who is in the Matrix room has a community management background. So I asked her if she would consider doing this work instead of me and she is considering it.

She is busy right now but this can be discussed further after October 31st, unless someone objects to such a substitution.

I will of course still be available pro-bono to make sure the administrative part of the grant is taken care off, even if I don’t work on any paid task.

See the discussion.

What do you think?

Got mail today at 14:04 UTC+2

Subject: Good tidings from NLnet
To: entrust2022@forgefriends.org

Dear Anthony et al,

Congratulations! We have received the green light from the independent review committee. That means your project “Federated software forges with Gitea” (2022-08-067) is one of the selected proposals eligible to receive a grant from NLnet foundation in the August 2022 NGI0 Entrust call!

We should set up a call in order to undertake the necessary further steps - leading up to a Memorandum of Understanding that includes a concrete project plan with pertinent milestones. Note that the final amount of the grant will be determined in dialogue with you, also taking into account any new insights during the negotiations.

We at NLnet Foundation are very much looking forward to working with you, together with our partners in NGI0 Entrust - which we will tell you more about during our upcoming call. You will also find the key information in the attached document.

Can you please indicate some convenient dates in the coming weeks?

If you meanwhile have any questions, please let us know.

Kind regards,
on behalf of NLnet foundation,

[Redacted]

4 Likes

Replied the following today and scheduled a poll to find dates.

@gusted @6543 @Dodecahedron could you please fill the poll for dates of the kickoff with NLnet at Sondage - kickoff - Framadate ? It is a one hour videoconference call where we will layout the workplan (pretty much the discussion we had a few days ago). It does not yet need to be final at this stage. NLnet will also explain to us how things go and ask question if there are things they do not get in how we plan to approach the work.


To: NLnet
Subject: Re: Good tidings from NLnet

Hi [redacted],

Thanks a lot for these excellent news! We collectively drafted a workplan two days ago: we are prepared. I’ll get back to you shortly with three dates and time that are convenient for all of us.

Cheers

1 Like

Replied the following today. Unfortunately there are no dates / times where everyone is available. Since @Dodecahedron is the primary contact for the grant, the dates and times were sorted in order of priority according to his availability. Although it would be much better if everyone is present during the call, it will not be a blocker if someone cannot make it.


To: NLnet
Subject: Re: Good tidings from NLnet

Hi [redacted],

Here are possible dates / times for the call, in order of preference:

  • October 31st 6pm UTC+2
  • October 28th 6pm UTC+2
  • November 1st 6pm UTC+2
  • November 2nd 6pm UTC+2

Cheers


Update: October 29th, 2021

Hi [redacted],

A gentle ping. If the delays are too short we can plan for dates later in November. Just say the word and we will propose new time slots.

Cheers

1 Like

Received today on 6:25PM UTC+1

Subject: Intake call Federated software forges with Gitea

Hi Loïc, Anthony, Gusted, 6543,

Would (all or most of) you be available for a call on e.g. Friday 11th,
18:00 CET (UTC+1)? (or 17:00 if it works for you)

— [Redacted], NLnet

1 Like

For the record:

To: NLnet
Subject: Intake call Federated software forges with Gitea

Hi [redacted],

Friday 11th 17:00 UTC+1 works for Anthony, 6543 and myself. Gusted unfortunately cannot make it but, with your permission, we will record the call for his benefit and prepare any question he may have beforehand.

Cheers


From: NLNet
Subject: Intake call Federated software forges with Gitea

Hi Loïc,

Friday 11th 17:00 UTC+1 works for Anthony, 6543 and myself. Gusted unfortunately cannot make it but, with your permission, we will record the call for his benefit and prepare any question he may have beforehand.

recording such calls is not something we do, that gives a rather uncomfortable feeling to what is otherwise a very informal session. I hope you understand.
Gusted is actually also involved with another project, so he might be able to participate in that call… and it is really not that complex to begin with.

Best,


To: NLnet
Subject: Intake call Federated software forges with Gitea

Hi [redacted],

I understand, thanks for explaining. And indeed… since Gusted will have another opportunity for this, there is no need.

Cheers

@6543 @Gusted @Dodecahedron as discussed briefly before, I proposed that @onepict becomes an additional beneficiary of the grant and takeover the community management tasks that are currently assigned to me in the grant. She described her vision in detail and I find it compelling.

Could you please “like” this comment if you have no objection or write down your concern if any?

1 Like

@6543 @Gusted @Dodecahedron @onepict the intake call (confidential) happened and went well, IMHO. The next actions are:

  • NLnet send us a Memorandum of Understanding (contract, abreviated MoU)
  • we finalize the action plan that will be included in the MoU

I will prepare a second draft of the action plan for us to discuss during the upcoming forgefriends monthly meeting. @onepict would you like to organize this meeting with me?

1 Like

Here is a draft of the workplan for review and collaborative editing Gitea federation workplan - HedgeDoc

  • It is no longer a spreadsheet because NLnet now has an online web interface to conveniently track the progress of each task.
  • The tasks are coarse grain (5%, 10% or 20% of the total amount) because NLnet now has an online web interface that makes it convenient to submit request for payment for a partial amount. For instance if a pull request implementing followers/following is merged, and required five days of full time work, a request for payment can be made for the corresponding amount.
  • Each task has been described to NLnet during the intake call yesterday and no concern was raised regarding their scope and relevance in the context of the grant.
  • The description of the tasks contain a lot of detailed task which does not mean all of them need to be completed: it is quite difficult to predict how efficient the developers will be. Those that cannot be completed in time will be left out.

@6543 @Gusted @Dodecahedron @onepict could you please review the workplan and let me know if you have any question?

@onepict the Community management & Diversity task is where you’ll contribute: feel free to reword it however you prefer. You’re familiar with how NLnet works and I’d be very grateful if you could let me know if something feels off.

@6543 the work you’re doing for Vervis packaging will fit in the Testing tools and code for federation task and the milestone deliverable will be URL to new software packages to use for testing.

@Gusted @Dodecahedron all other tasks are fair game for either of you, feel free to add a task that you may be willing to work on.

During the course of this grant my work will be limited to reviewing the request for payment and doing the necessary legwork to welcome new beneficiaries and otherwise making it possible for the grant to be used effectively.

1 Like

@realaravinth during the initial discussions of the workplan (october forgefriends monthly meeting) you said you might be interested to work on the federation testing part of the grant and everybody in the call approved that you are made a beneficiary of the grant, if at all possible. Please take a look at the new draft workplan and let me know if you are still willing to and I’ll add your name to the list. Again, that’s just in case you have the time and inclination to work on a task that is in scope for the grant. It is perfectly fine if it turns out you don’t have time after all.

Thanks for the ping! Yes, I would love to work on writing tests, setting up testing in Gitea and another forge software, as laid out in the work plan. I expect to be busy with school till March, but I’ll have plenty of time after that :slight_smile:

I made a small correction ForgeFlux/northstart is an internal ForgeFlux service, whereas ForgeFlux/starchart is the search tool

1 Like

The draft MoU was received 14/11/2022 but I did not notice it was in the inbox, my bad. I sent the following acknowledgement today.


Hi [redacted],

I realize just now that I did not acknowledge receiving the draft MoU. We have a meeting tomorrow to finalize the workplan and I’ll send the MoU filled with the required details before Monday.

Thanks again for your help!

Hello Loïc,

here is the draft Memorandum of Understanding. We will still need the correct address, etc. [redacted]

As discussed, the next step is to create a concrete project plan with task and milestones. The project plan can remain quite high level. There is an example in the annexe of the MoU, but feel free to suggest something that works well for you - such as a spreadsheet. Your productivity matters most in this project, and we can be flexible.

Please check if everything in the MoU is clear, and do not hesitate to send us any issues or questions you may have.

Kind regards,
on behalf of NLnet foundation,

After the discussions of today’s meeting the draft Memoradum of Understanding was finalized with the workplan. Here an anonymized copy.

2022-08-067-Anonymous-MoU-Loïc Dachary-Federated software forges with Gitea-1.odt (106.1 KB)

Received an update from NLnet to revise the workplan. I’ll get to it right away. I don’t think we need another meeting as I’ll shuffle the tasks rather than re-define them.


Hi all,

Thanks for the detailed plan. It looks ambitious! We would love to not distract you from the real work, but we have a couple of comments and suggestions first.

Firstly, with so many contributors and tasks, it would help if you could cut up the tasks (especially the first one) into smaller tasks, or subtasks within a task, that each have an associated budget. Unfortunately, it also does not work for us to list several possible subtasks and say “Some of them may not be completed in time depending on their difficulty”. While we understand your need for flexibility, we need a plan with clear tasks and a budget on each, so that we have an agreed amount to donate you upon completion of each (sub)task.

We therefore suggest you choose a feature set that you are mostly confident you will implement, rather than the full feature wishlist. (Be realistic in ambitions; better make the core features work reliably than have many features implemented sloppily.) Then if your plans change later in the project based on progressing insight, you can suggest an amendment to the MoU. Would that work for you?

If you wish, you could already include ‘alternative’ tasks. The sum of tasks could thus go beyond the total budget, which gives you some flexibility in which tasks to pursue without needing an amendment. If the project advances well, some open tasks could also be considered for a subsequent grant, or perhaps contributors could apply in parallel for a separate grant for specific features (e.g. moderation features, global/federated search, …).

Then, some more specific points:

  • It is nice that you include a ‘checklist’ of what results/deliverables to point us to, which you call “milestones”. We tend to use the word milestone for subtasks (as each milestone can have an amount associated to it), so to avoid confusion perhaps you could move these checklists up into the corresponding task descriptions (for lack of a better place).
  • We notice a duplication between task 1 and task 5: both include the same ForgeFed tasks. Also, you might like to split task 5 in a forgefed and go-ap part?
  • Another part of task 1 is migrations; perhaps worth turning into a separate task too? We also wonder how you plan for this to work. Will the git repositories be cloned via git, but orchestrated via ActivityPub or otherwise? (Also, migrating data seems something missing in the fediverse at large… we are curious if it could be addressed more generally; but perhaps that’s too ambitious.)
  • Task 6 sounds like worthwhile effort, but on the edge of the scope of what we can fund, as our grants are specifically for ‘research and development’ (we are bound by the EC’s rules here). Documentation and coordination efforts are eligible costs, but community and translation work not so much. Note that we do care about these (we even have partner organisations to help you with community, diversity, and internationalisation!), but it does not fit well as a separate task in the plan. Also, for development reporting/documentation, you may want to specify concrete subtasks here in case you’d want to claim some of this work as complete before the end of the project (as an ongoing effort is never complete).

I hope this helps and we are looking forward to an updated plan. Feel free to put the plan in a pad, in email or in any format you prefer if that simplifies the drafting (no need for a signature yet), and please ask if you have further questions (we can call if it’s easier).

@onepict I was not expecting pushback on task 6 but it is clearly something they do not want at this point in time. I had a different experience in the past, reason why I was confident this was a good fit. I guess we’ll need to trim this entirely :frowning: