At OFFDEM 0x04, Brussels there was a very nice gathering about Event Federation. @andre published a thorough report that, I hope, will encourage further collaboration on this timely topic. The following is a full reproduction of the original article linked above, under the CC-BY-SA-4.0 deed.
Last weekend FOSDEM took place in Brussels, Belgium. However it was O₄FFDEM that provided the space for about 20 people to meet and discuss the future of events in the Fediverse for the whole Saturday. Among them developers like @lesion (developer of Gancio), setop (upcoming coordinator of Mobilizon), @dreirik (foss.events), @laurin (contributor to ActivityPods) and community members, (h)activists and event organizers like @becha or @eest9, just to name a few, and myself. Eventually, there were people from half of Europe: Montpellier, Strasbourg, Graz, Amsterdam, Italy, Vienna, Ljubljana, and Rotterdam.
It was impressive how, despite the number of people present, it was possible for the group to de facto moderate itself, in particular through the experienced careful intervention of a few at the right moments. We began with a short round of introductions, in which expectations for the day were also clarified. We first decided to talk about values, to clarify what needs and concerns are generally present. We were all united by the desire to become independent of Big Tech, although there were several completely different concepts of how this would be achieved from a single point of view in the mix.
It has become evident that in the case of events, from of a software developer’s point of view, one cannot simply speak of users, but must distinguish between organizers and participants, although the distinction can also be blurred in the case of a small community. Following dilemmas were identified:
- regional vs global calendars
- topical vs mixed calendars
- aggregation vs autonomy
- moderation vs censorship
The discussion about these aspects was extensive and, admittedly, did not always seem to me to be very target-oriented. However, it was necessary to balance our different backgrounds and bring us up to the same level of knowledge and it became more concrete after the lunch break when we decided to compare and work out the intentions and use cases of the existing applications and developments in more detail. I could recap this in detail here, but I think it is best to write a stand-alone follow-up article. Each project has its own approach: some focus on local communities, some focus on private events an another wants to provide a way to organize larger political movements with as few social features as possible. On top of that, people have come up with use cases that no developer ever seemed to think of before.
One activist’s question, “What’s the difference between federation and interoperability?“, which had been floating around the room all day, was finally addressed in a satisfying way with examples. Even if all applications can successfully aggregate and display events of others, it does not mean that they respect all mechanisms that control how the event is listed, whether the event is joinable via ActivityPub, whether these joins have to be manually approved, whether some event details visibility have a certain scope, etc.
Perhaps one of the most important points was to enable the creation of event calendars, which are also aimed at people who do not want to have an account anywhere, but are simply looking for events. From the point of view of people looking for events, regional or topic-specific calendars are particularly important. Which events are aggregated and shown on an individual platform would be in the hands of the platform operators, which would then automatically play a major role in moderation.
ActivityPub covers most of the features iCal offers for creating calendars by aggregating multiple sources, but adds a few more:
- Follow relationships become tangible
- Social media like features:
- Push, not pull based
- Joining (Participants management)
- Use moderation and governance tools from the Fediverse
Mobilizon has already introduced a huge set of custom properties and ways to manage event objects in the ActivityPub world. We decided on a process to re-evaluate their choices and draft a Fediverse Extension Proposal (FEP) for the least common set of them. What makes an event:
- What: title, summary, content, etc.
- When: start-time, end-time, timezone (for displaying), recursion
- Private locations which may be disclosed on participant’s acceptance
- From Whom
- To Whom: Public, Private, Unlisted
- Why if not want to get listed just not “send” the event: e.g., Mobilizon → federated groups → federated private events
- Let the sender of an event set the discoverability : the recipient might mistreat that
We decided to deal with advanced mechanisms such as sub-events, recurring events, irregularly rescheduled events in the future.
All in all, it was simply nice to get to know each other and exchange ideas with other people who pursue common or similar goals. Especially the exchange between developers and non-developers, who were in the majority, was of great importance from my point of view. Unfortunately, it is almost impossible to capture all the aspects in such a short recap. If you are missing something important, please have a comment. Many thanks to all of you, especially the organizers and those who were taking the meeting minutes.