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

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


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.


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.


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.


For the record, here is the full transcript of the public chat on that topic dated November 26th, 2022 . There has been no private conversations on the matter.

dachary: onepict: I’m disappointed that community work cannot be funded by the NLnet grant. This is an unexpected development. I understand the rationale and there is no alternative but to accept it. I suppose I was lucky that the policy was different in 2021.
onepict: That’s alright, it does suck. But community work is hard to define, it’s why I work with Brett on the front end stuff, it’s how I get funded for the other stuff. And with librecast I packaged up some documentation which were man pages for the Web. But I’ve always stated openly that the NGI grants by necessity fund code as that is measurable directly. Community is a bit harder to measure and its a bit like support, you notice more when things aren’t working It’s also why circlebuilder talks about sustainability for projects, we know that, community management and community development is important but code is king. I’m in service to developers and the wider community, but the project needs to be created and updated. It’s the easiest thing for NGI funds to point to the code. To justify their spending. So what does this mean for the newly funded MOU?
circlebuilder: Wow, real pity that that did not come through. Just this morning I was talking to someone at EC OSPO (Open source office) how the EU’s innovation money indirectly flows to Silicon Valley if they only fund the R&D. As usual there’s not much response from EC sides, but I keep dropping those nudges. Though I think a more coordinated effort is needed to have some real chance to get something like that from the ground.
onepict: One way around it could be some concrete deliverables, we managed to point a claim for overall documentation for librecast. You end up bundling the community work with other stuff. There was a place we worked with which was retail that was founded in the 1950s. One guy wanted to claim for a hat as he was a salesman. They refused to pay for that, so he adjusted his claim, they paid it, and he said “spot the hat”. We were surprised by that story, but the company said “some things we can’t fund directly, so you find another way”. Years ago Brett did stuff with IBM they needed additional hardware, couldn’t fund that, directly so they put it as part of another service they could claim for. Its a ridiculous way of doing it. Ultimately you can only get funding for concrete deliverables you can point at. But it’s why we keep having these, conversations in the open, we make the case for all support beyond coding to help to keep a project healthy. Because it’s unfair to ask developers to shoulder all the burdens of a project. It’s also unfair for the people who support those developers to have to contribute their time for free. But we don’t really do this for the money. If we did we’d be in corporate jobs.
dachary: That’s something to keep in mind for future grants but I would not know where to start to do that with the current grant as the workplan is in its final phase. It would also require a level of coordination between the grant beneficiaries that is going to be difficult to achieve for this grant. I suppose it is easier for librecast because there are less beneficiaries and you’re taking an active part in the implementation.
onepict: Indeed. We were also fortunate that Brett was able to push for a travel grant in 2019 to go for conferences to talk about the project.
dachary: I think monthly reports and recorded videoconferences are very concrete but the issue is more about scope than concrete deliverables.
onepict: We’ve had alot of value from that for us and it gave NGI Zero some publicity outside Europe.
dachary: Yes, something seems to have changed since and there is less of an inclination to fund that kind of work.
onepict: Well some of the scope of the reports could include collating of concrete documation to look at as well as, publishing the developments to the greater community. But ultimately it is up to the developers in this phase as well.
dachary: And my immediate reaction to a clear pushback from the funding organization is to yield rather than argue. They are otherwise very flexible and very rarely push back on anything. That has to mean something and I’m inclined to just accept that.
onepict: I’m still happy to help push forward the fork, but my time will be limited. So I take it the funding organisation isn’t funding the reports, they aren’t allowed deliverables?
dachary: that’s my understanding. I’m in the same position unfortunately.
onepict: Which sucks as you are one of the main drivers of this and doing the heavy lifting for the grant applications.
circlebuilder: From the perspective of EC we are just one party of many. FOSS folks that can do nice R&D that matches EC goals. But otherwise they do not understand FOSS folks one single bit, and are often very irritated by - in their eyes - our impractical stances. Many in the EC circles would love there to be a European Silicon Valley and a super strong Startup culture across Europe. That is sexy, that is cool, that should be fundable. If there’s a corporate takeover of the Fediverse, for instance, I wouldn’t be at all surprised if it becomes much harder for FOSS projects to find grants, as they rather deal them out to better organized business organizations doing OSS.
onepict: Which is short sighted and we need to keep pointing at twitter etc and that history every time. Or oracle and each time they bought database firms to embrace extend and extinguish. Or the fact that tendariokeeps getting pushed at us and none of us have the energy to wait ages for a tender to land.
circlebuilder: At the time the idea to set up a Special Intereste Group at SocialHub was a good one… except no one really wanted to spend the time for it. That’s the real issue.
onepict: If it even goes to us and not their mates. We need projects and à small network of small businesses to provide support or ideally to train government bodies. Gain independence from large unicorns.
dachary: That was my accepted role from the start and I’ve accepted that :slight_smile: My primary motivation is that there is funding for other people to move forward. I do not plan on doing any work on this grant application, just making sure other people can. I’m able to find my own funding otherwise.
onepict: But you see how we live on beans and air. But then many of us do in FOSS. And I still feel free.
dachary: I get paid for my work, I don’t work as a volunteer. Only my funding comes from somewhere else (I wrote that down in the forum).