FluConf 2025

Retrospective

It's been two weeks since we wrapped up the first edition of FluConf.

mastodon post with text: It is now 21:00 UTC, which means we have officially reached the end of our scheduled program.
Thanks so much to everyone who helped, contributed, or participated in #fluConf2025 !
We're going to take a bit of time to rest, but beyond that we'll gather up recordings from our sessions and any supplemental materials (slides, linked resources, and so on). We want to ensure that those who weren't able to participate in the live event can catch up when they get the chance.

Within about a week of the event we'd downloaded videos from the BigBlueButton instance which we set up for the event, transcoded them into their final forms, and uploaded them to archive.org. There were some minor delays because apparently if you make a new account at the Internet Archive and start uploading a bunch of videos there is some risk of being flagged as a spammer. Their team responded to email fairly quickly, though, and we were able to upload the last remaining recordings.

From there the plan was to take a few days off to rest before sharing some insights into what went on behind the scenes.

mastodon post with text: We also plan to put together a retrospective article or two about our processes, what we learned, and where we want to go from here.
We've already received some great feedback throughout the event, but we're interested in hearing more. What did you like? What could be improved? How would you like to get involved? How could we help spin off into adjacent events for other languages?
Feel free to comment here directly or send us a direct message. We're definitely going to embrace to async spirit of this event, though, and get back to you when we've had a chance to recover 😆

Well, a few days turned into another week, so I suppose the event might have taken more out of me than I realized at the time. In any case, I don't want to leave it any longer, so let's get into it!

Background

The idea behind FluConf was pretty simple.

  1. Every year lots of people attend FOSDEM, and while a lot of good comes of it, many people end up very sick because they attended.
  2. It is only worthwhile to attend such events because people make them worthwhile.

I learned about #1 the hard way. I don't remember whether my first FOSDEM was in 2016 or 2017, but I do remember the terrible throat infection that followed. I fully lost my voice for about a week, and even when I recovered I'd permanently lost a good part of my upper vocal range.

Nobody had warned me about "the FOSDEM Flu", but lots of people joked about it after the fact, so I learned that it was fairly common knowledge. I caught it a few more times over the next few years, even when I didn't attend, because inevitably at least one of my colleagues would bring it back to the office from Brussels.

Point #2 gets discussed somewhat less, but I have heard from a number of people that their main reason for attending has little to do with the event's organization itself, and more with the fact that a lot of interesting people end up in one place. Everyone blocks some time out of their busy schedule, takes a break from working on their projects, and makes a conscious effort to share what they've been working on over the previous year. Nothing about that is necessarily tied to FOSDEM.

The event is only special because its participants make it special, and they could just as easily put that collective effort into something else. The network effect of so many people in one place certainly contributes to people's FOMO, but it's also a contributing factor to the illnesses that follow. Network effects work both ways, and in the broader context of the ongoing pandemic I figured there might be sufficient interest from others like myself who were tired of the lack of regard for attendees health. Maybe we could put the same effort into something that doesn't risk the well-being of its community.

FOSDEM was entirely online during 2021 and 2022 in response to COVID-19, so I mostly stopped thinking about it. I had hopes that they'd have learned some lessons when it resumed as an in-person event in 2023, but I was disappointed to hear that many people I know attended and ended up catching COVID as a result. When I saw the same thing repeating in February 2024 I had fully lost any patience with the organizers, and started writing online about organizing an alternative.

Expectations and overall impressions

I really had no idea what to expect when I started arranging this first FluConf. For a while I was wasn't sure whether there would be enough sessions proposed to even justify putting together a schedule. A "conference" with only two to three sessions would seem a bit silly, but I wasn't sure what the cutoff point should be. At some point I decided that eight to ten submissions would be sufficient, and I'd just have to suppress any anxiety while I waited for that many to come in. As expected, the majority of them arrived within the last two days before the deadline, but they did arrive.

I'm very happy with how the event turned out. A lot of people participated, many of whom I didn't know very well beforehand. At the time that I'm writing this the FluConf Mastodon account has 516 followers. That's not huge, but it's enough to justify making this a recurring event. Of course it's only a fraction of the number of people who attend FOSDEM, so if a person's primary goal is to present to the largest audience possible then they might succumb to FOMO. Still, nobody had to travel to participate, nobody missed out because they couldn't get a visa, and nobody caught any illnesses by attending.

I consider FluConf 2025 to have been a big success, but even so I don't feel like I'm particularly skilled at event organization. That isn't me fishing for compliments - I'm not particularly comfortable being complimented, so please don't - I just feel like I did enough to get things started. I don't mean to downplay how much work went into this, because it was a lot of work, but it worked out as well as it did because of much wider variety of factors. Again, community events are special because people make them special.

I think a lot of people have been disappointed by events organized by people who choose to ignore the ongoing pandemic, and the lasting damage that other illnesses had caused even before anyone had heard of COVID-19. Enough people felt that FluConf would be a more appropriate place to share not just their own contributions, but to promote that of the other contributors. FluConf just taps into an existing desire for commentary that didn't have much of a platform elsewhere, and it was validating to see that so many people were interested.

A lot of people helped out with organization, and I tried to keep track of their contributions along the way in this acknowledgements page. I've probably forgotten a few people - that always seems to happen whenever one tries to produce an exhaustive list of people who deserve thanks - but I can't stress enough that FluConf was a collective effort.

Processes and infrastructure

I'll be completely honest and say that a lot of the event's organization came together at basically the last minute. When I first talked about the idea of such an event I was kind of hoping that somebody else would like the idea so much that they would make it happen. Well, that didn't quite happen, and when I started seeing FOSDEM publish their calls for proposals I figured that I'd either have to do the same or decide to call the whole idea off.

The first step was to choose a name. I did a quick scan for domain names and settled on FluConf.online because it was short, somewhat evocative, and cheap, costing a total of USD 1.16 for the first year. As a professional web technologist I already had a server on which I could deploy a website, and I knew that by building and deploying it as static HTML I wouldn't have to worry about scalability or security concerns making it difficult to maintain.

I leased the domain on November 28th (2024), set up the Mastodon account on the 30th, and created and deployed a basic one-page site later in the day. Aside from minor edits like adding to the list of topics or tweaking the site's styles, I worked on putting a few policies in place. First was the AI policy on December 3rd, because there are obviously enough platforms for people to promote their silly LLM projects, and I wanted to make it clear that such proposals would not be welcome. Next was the about page on the 5th, because people were already asking questions about how the event was supposed to work. I finally managed to draft the privacy policy by the 8th, while the code of conduct took a few more days of review before it was published on the 13th.

I wanted to make sure all of those were in place before accepting any submissions, both out of respect for people's time and to ensure that it was clear what sort of behaviour would be expected of participants. Through the open-source projects I've helped oversee I've encountered enough of the sort of person who objects to codes of conduct entirely, so putting those upfront served to dissuade such people from applying.

It took a few more days to put together a form to accept submissions, including ensuring that it was clear, accessible to screenreaders and other assistive technologies, and testing to make sure that it would validate fields correctly and report any errors. As it turned out there were a few mobile browsers that didn't handle the HTML [required] attribute elegantly, and blocked page submission but did not provide any indication of why as most other browsers do. Those issues were addressed by the 20th, at which point I was finally able to announce that we were ready to accept submissions.

FOSDEM makes a big deal about their website's code being open-source, but I don't particularly think there would be a ton of value of me publishing this. I have a static website generator called "generic-website" which I wrote from scratch in NodeJS. I've used it to build all my other websites over the past few years, and it features a bunch of little extension points that made it pretty easy to generate things like the program and all the related pages featuring session abstracts and contributor bios. I was in a big rush to put all this together, though, and the process was pretty hacky. In general I'd suggest anyone wanting to organize an event like this use whatever tools are most familiar to them. To be honest, things like the code of conduct seem a lot more important, so if you're going to try to reuse anything I'd suggest focusing on policy documents.

I set January 20th as a deadline for submissions for three reasons. First, as noted above I was a bit worried whether there would be enough contributors, so I wanted to give at least a month for people to prepare something. Second, I knew that the US presidential inauguration was scheduled for later on the 20th, and I fully expected that to dominate a lot of people's discussions from then on. Third, I knew that it would take some time for people to prepare once their proposals were accepted. The remainder of January was admittedly much tighter than I liked, and I know that a few people had to rush to get ready within that time, but I wasn't very comfortable moving the deadline any earlier. More than half of the proposals arrived in the last two days, and while those might have rolled in earlier if the deadline were moved back, that's much easier to recognize in hindsight.

I made a point of posting something about the submission form nearly every day in January until the form was closed, and those posts seem to have been a major contributor to the number of people who followed the account. I didn't really think too much about it at the time, but it makes sense that those would help establish expectations for attendees, even though the intended audience was possible contributors.

I made a deliberate decision to arrange FluConf such that it wouldn't require much in the way of infrastructure. As noted, I already had webserver infrastructure available, and the same server was hosting the mastodon instance on which the FluConf account is registered. I'd tried to be clear that I couldn't guarantee any service on which live sessions could be hosted, and that people should basically arrange for their own needs. In the end a number of the sessions that were proposed required some kind of live video platform, and despite my desire to avoid taking on too many responsibilities I was concerned that the overall experience would suffer if each contributor had to both present their session and deal with technical difficulties.

I chose to try and arrange for something such contributors could use, while being clear that it was outside of my expertise and that they should probably be prepared to fall back to something else in case I couldn't pull something together. I had a bit of experience using BigBlueButton, and I was vaguely aware that it had some functionality or recording live sessions, but I'd never set it up for myself. As noted in the acknowledgements page, my former colleague Mathilde lent her expertise with BBB, without which I don't think I'd have been able to offer such a platform.

She recommended using a script called bbb-install which would basically handle everything, but noted that it was only guaranteed to work specifically on an Ubuntu 20.04 server, and that it would work best if it was a fresh server that could be thrown away when the event was over. I already had an account with Hetzner, so I spun up a new machine with 8 virtual CPUs, 16GB of RAM, and 160GB of disk space.

The script worked pretty much as expected and produced a working BBB instance with very little input, except for one little hitch. It turned out that Hetzner automatically adds an entry in the /etc/hosts file for the server's hostname, which I had configured as join.fluconf.online, and something about this interfered some of BBB's networking. I was a bit overwhelmed with everything else that was already going on, so all credit goes to Mathilde for figuring out that this could be fixed by simply commenting out that particular line in the system's host file, like so:

#127.0.1.1 join.fluconf.online

All of this came together in the last day before the event, which was cutting it way closer than I'd have liked, but it ended up working well for the people that used it. As I recall we hit a peak of 29 concurrent viewers, and according to the server's graphs it never went beyond 50% of its CPU capacity, with other resources having much more headroom. In retrospect we probably could have gotten by with a weaker server, but I didn't know how many people to expect, and I don't regret having chosen this particular server tier.

This server was being billed at 15.90 EUR per month, making it the biggest expense of the whole event, but I've already shut it down and deleted its disk image, and I think Hetzner only bills for the time you use. Assuming they charge for the full month, and accounting for this server and the domain name, FluConf will have cost roughly USD 17.50. Judging from some of the memes currently circulating online, that's about the price of one egg in the USA.

I'm discounting a lot of other externalities, of course. I used a lot of FOSS software and didn't contribute back to those projects, and the recordings have been uploaded to the archive.org, which I'm not supporting either. I'm very fortunate not to need any support with the few costs I covered, but if you appreciated FluConf you might consider donating to BigBlueButton, or FFmpeg, the Internet Archive, or one of countless other bit of critical infrastructure which is somewhere in the software stack I've described.

What we learned

The biggest lesson is probably that preparation should be started much, much earlier. As I said above, a lot of things were done at the last minute, not because I thought that was a great way to do it, but because all of this was done in my spare time with help from a few people in their spare time, and no clear indication whether any of the effort would turn out to be worthwhile.

I think it will help immensely that a bunch of things from this year will be reusable for the next, but I still think it would be good to start preparing months earlier, assuming that the next event will take place on the same time of year (more on that later). Personally I have lots of other things in my own life that I put off in order to focus on FluConf, so I'll be very happy not to have to worry about arranging anything for a while, but I'd like to be able to post the call for proposals for FluConf2026 no later than early October.

Based on the feedback received, a lot of people would appreciate having more information available sooner. The final schedule was only available a few days before the event started, and in many cases it wasn't clear exactly what format the session would take, often because I didn't know either. Contributors had to rush to prepare their articles or presentations, and that also meant that I had to do more last-minute edits of the program as their recordings or articles went online.

A lot of coordination effort could have been significantly reduced or elminated if more questions were asked of contributors up-front as a part of the proposal process. I ended up having to do a lot of follow-up with people to figure out things like their timezones, preferred availability, and so on. It also took some extra interpretation and questions to decide to exclude some proposals from the final program, and that process would have been a lot easier if the application process how those proposals were relevant to open-culture and our audience.

On a technical note, I wish I'd known that BigBlueButton defaults to recording videos at 5 Frames-Per-Second, which is quite low. Apparently this can be configured via some environment variables, though that will require some testing to determine if a higher framerate introduces too much computational overhead. In any case, the videos turned out to be quite watchable.

In terms of things that were done well - I absolutely recommend putting a pronouns field in the application form for anyone considering organizing an event like this. Without going too much into the gritty unpleasant details, whether someone understands what pronouns are and how to use them turned out to be a very good proxy for whether they'll be respectful in other interactions.

What's next

There's a few points about FluConf's values that I care deeply about. I mentioned keeping out talks promoting LLMs, but the same goes for past buzzwords like Blockchain and Metaverse, as well as whatever overhyped nonsense comes next when the current AI bubble collapses. I'd like the event to be a platform for topics that will have a bit more staying power, and I think that highlighting the political dimensions of all technology goes a long way towards achieving that, especially when contributors are asked to consider things through an intersectional lens which explicitly acknowledges issues like discrimination and accessibility.

Aside from those points which form the core of the event's identity, I don't think there's too many details to which I'm particularly attached. This first edition was scheduled to coincide with FOSDEM, but I think that point's been made, and future editions could probably stand on their own merit at another time of year if there was some clear benefit. The name FluConf was chosen because early February is pretty much at the peak of Europe's typical Flu season, but of course seasonal illnesses vary depending on where you are in the world, and there's no reason why the event would need to remain so Euro-centric. That might be especially deserving of consideration given that the European Commission has indicated that it will reduce its investment in FOSS over the next few years.

I restricted this first event's program to English content because It's what I'm capable of moderating, but future editions could certainly stand to highlight people from other cultures, who speak other languages, or live in other timezones. I'm open to suggestions and very willing to help people that want to arrange something similar for their community.

One person noted that they weren't able to attend because the event happened on a weekend, and they try very hard to ensure a good work-life balance by not engaging with FOSS stuff on weekends. Others noted that it was hard to keep up because of the density of the schedule, and that more breaks were needed, or that it was just too much content packed into too short an amount of time.

Now, some effort was made to ensure that people could catch up on sessions after the fact, but there absolutely was a live component with discussions happening on the Fediverse, and so it's totally fair to feel some pressure to keep up. I don't actually live in Europe myself, but it seemed like a decent compromise to include a lot of the English-speaking world. I actually had to stay up until a early in the morning both days in order to coordinate with people, so I'm quite open to scheduling things differently, but I think we could even try being a bit more radical about it.

This first year's format featured a mix of pre-recorded videos, articles, and live presentations, which was already a bit of a departure from many people's idea of what a conference is. There was some confusion, but by the end most people seemed pretty comfortable with the experimentation, and many said that they enjoyed it. FluConf doesn't need to be one busy weekend per year. It could be a bunch of smaller events throughout the year, or a periodical reading group, or a zine, or all of these things.

Once again: events are special because people make them special, and there's very little stopping us from highlighting people's contributions to open-culture all the time. I don't personally have the time or expertise to manage that year-round on a volunteer basis, nor am I interested in making this a job, but I'd be happy to let FluConf itself become more of a federated event, organized by many people, and testing out a greater variety of formats for how people can interact.

If you're interested in helping with anything like that, or if you have other ideas to share, then please do reach out via the Fediverse or the FluConf IRC channel (#flu-conf on the Libera Chat IRC network).

--Aaron MacSween

2025-02-16