Forge federation: the beginning of a 9 months journey

March 31, 2021

March 2021, a grant was approved to bootstrap an incremental effort towards forge federation, starting May 2021. Pierre-Louis Bonicoli and Loïc Dachary will have until January 2022 to complete the milestones, each of them working 2.5 days per week on a fixed schedule (Wednesday, Thursday and every other Friday) and only communicating publicly on the forum and the chat room. This will allow anyone interested to participate and understand every details but it will also be very noisy. A series of 11 articles (this one + 9 + postmortem) will be published for the benefit of people who want to follow the progress of fedeproxy from a distance.

User Research

User research is the first item on the roadmap because, in the words of Jan Dittrich, an active member of the OpenSourceDesign community:

You may be very motivated to start designing your future product now and research based on the product features you have in mind, asking for preferences and evaluate your product ideas with the users. But if you focus on the product now, your research findings will be tied that specific product—which may or may not be useful for your users. If you instead focus on the user, your findings will be independent of a particular product implementation.

To keep this manageable, it will go like this:

Hacking a showcase

Before the grant was approved, work started on fedeproxy, at a slow pace and for a single use case: adding a comment to a merge request. The goal was twofold:

  1. put together the building blocks of a fedeproxy product
    • Django server
    • ActivityPub federation
    • Continuous Integration
  2. hack something that can be used daily by the developers

In the spirit of dogfooding it seemed like a good way to validate the incremental approach advocated in the fedeproxy project description.

Now that the grant was approved, it seems worth completing this hack because it can become a showcase that will demonstrate what fedeproxy is about, better than any written explanation:

Thinking about the future

It’s never too early to think about how a project can benefit from having more resources or cope with a lack of resources. Before the grant was approved, the idea was that it would be a pet project, progressing at a slow pace depending on the needs and inspiration of a few people (or more likely a single person). Now that funding is approved, fedeproxy has the equivalent of a full time developer, but only for a limited period of time.

The milestones clearly outline what will be done until January 2022. But it says nothing about what will happen when the funding runs out. Maybe it should go back to being a best effort project going at a slow pace? Maybe more funding is a better idea? Maybe advocating for independent organizations to help with workforce instead of funding? It’s going to be a long and interesting discussion and you’re invited to discuss it in the chat if you feel like it.