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

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.


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.


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.


@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:

Reply sent.

Hi [redacted],

The task list was trimmed down to what can be done within the allocated budget for certain. The first task were also broken down in smaller tasks as you suggested. The “Milestones” were renamed “Deliverables” to avoid confusion.

The ForgeFed duplication was clarified: one is for the implementation, the other is for contributions to the specifications.

The migration is indeed a very ambitious undertaking and has a number of uncertainties associated to it. The parts that are still unclear were removed from the task list.

As we understand the task related to communication and diversity is not in scope, it was removed.

You will find the revised workplan in a pad as suggested:

Gitea federation workplan - HedgeDoc

Thanks again for your thorough feedback, we are looking forward to start working on implementing this.


Gitea federation (4.7 KB)

Unfortunately this leaves me little other option than to resign from the project as of now.


It appears I’ve made a big mistake and I deeply apologize for the distress it caused you :frowning_face: I would be very grateful if we could discuss and find a way that will allow you to stay with the project.

I will immediately ask that someone else signs the Memoradum of Understanding (any of the beneficiaries can take that role) so that there is no confusion about my role in the future. From the start I intended to merely be someone doing the administrative work so that other people can get funding. Given that I’ve been driving this grant application for the past four months, I also understand why I’m actually perceived as the one coordinating everything, running the grant and making the decisions.

A few things:

  1. I do not think there is any need for you to resign from the coordination of the MOU, you wrote the grant, helped others and you are currently helping with another active grant application. It needs to be someone all grantees trust. So I would prefer that you stay on as administrator of the grant because I do know how the payment system works and I’m certainly not comfortable asking others to pick someone new. Some of you have known each other for a while now.

While there are no leaders, you are a leading voice. What you say carries alot of weight. It still will carry weight even as a volunteer. Which is correct, we do need some steering. So while this may make you feel uncomfortable, you need to acknowledge this. But that doesn’t mean you should step away. The community needs your steering , it needs your help to do grant applications, to do what you have been doing.

  1. You need to have a call with the contact at the funding body and talk about how to fund the community work, by spreading the remaining money via the milestones. They will guide you and explain.

  2. Everyone in this grant tranche needs to be sure that they are happy for community work to be funded in this way. Plus after my post last night, people may not feel they can work with me. So there needs to be explicit consensus, not just a lack of objection. If people have concerns about me, they need to discuss it. This is part of the reason I chose to leave the matrix chats. I want people to have the freedom to think and discuss this.

  3. You also need to consider this for any future funding for granted forgejo work and as it becomes more sustainable, factor in the costs of that community work. Regardless if it’s myself or someone else. Because community will not be funded directly, it never really has been, even in OSS companies, it tends to be bound with other roles.

You have my email address. Have a think about these points and please discuss this with the funding body.

Everything is in energetic chaos at the moment, but there does need to be a sustainable plan.

It does not need to be detailed. But from working out the answers to those points we can work out what to do next to try to fix the breach.

1 Like

Thanks for taking the time to answer, I’m grateful for your insights. I took the time to reflect on my actions and on the position I implicitly hold in this grant and in the project. You are right and I’ll do as you suggest.

Received from NLnet today (not including the MoU as it contains private information).

Hi all, thanks for your flexibility. I took the plan from the pad and put it into an MoU. I removed @onepict from the parties as I understood she would not be involved; if that changes (or other contributors join the project) we can always create an amendment so they can receive their fair share too.

Due to the lack of deeper nesting in our data model, I numbered the tasks as 1.1, 1.2, , … 1.7, 2, 3, 4, 5. Because I noticed I had write permission to the pad, I added the numbers there too, assuming that’s okay.

Please check the document, and if it looks good to you, Loïc can sign it (a copy-pasted image of your signature suffices) and send it to [redacted]

Replied today as follows (the redacted MoU will be published if accepted, it is almost exactly as the pad above).

Hi [redacted],

I’m happy that the revised workplan is a good match. And very grateful that you took the time to copy/paste everything in the Memorandum of Understanding: it is a tedious task. I carefully read it again to make sure the deliverables are SMART and made a few changes. They are marked in revision mode so you can quickly browse through them. Please let me know if they raise questions or concerns.

If you confirm the changes are ok with you, I’ll send back the Memorandum of Understanding signed as suggested.


Hi [redacted],

I have to apologize for creating a situation that caused problems. I’m entirely responsible for it and, as Esther suggested, this message is written in the hope that I can make amends are patch things up. I was not aware that Esther reached out to you and asked to be removed from the parties but I respect her decision and will act on it immediately.

As I explained during the intake call, my role in this grant is first and foremost to help all parties in an administrative role. I compiled the workplan from tasks provided by everyone involved and organized meetings to try and ensure everyone was in agreement with the result. I perceived myself as a facilitator, filling paperwork. And it did not occur to me that I had any authority on the matter.

But that was not true for the one task in the workplan that I assigned to myself: publishing monthly reports and organizing videoconferences to discuss them. Esther agreed to take the responsibility of this task a month ago and when I removed it from the workplan because you explained it was
on the edge of the scope of what you can fund, I effectively made it very difficult for her to participate. She reached out to me and suggested that the workplan is reworked to make room for her contribution. Instead of listening and act on her suggestion I was dismissive, arguing that it could be perceived as trying to workaround your comment on that particular task.

When I sent back the revised workplan with the task removed, I effectively put an end to the discussion in an unilateral way, which was wrong.

This is where we are now and I will do my best to fix this mistake. The first step is to clarify my responsibility with you. The next one will be to figure out under which conditions Esther could agree to be made a party of this grant again. To that end your comment that she will be welcome at a later time, with an amendment to the MoU, is extremely helpful.

I will keep you informed about further developments.


Received from NLnet today.

Looks good! (thanks for using revision mode, that’s helpful)

Sure, please sign and send it; unless our directors will still have an issue with something we should be good to go. :slight_smile:

Thanks for the elaboration. Your coordination role is highly appreciated and occasional miscommunications are unavoidable when working with many people. We’ll see where things go, amendments are indeed a helpful tool. :slight_smile: