← Blog

What was my first FOSDEM like?

In the previous weekend, I attended FOSDEM for the first time ever. This post describes my review of the conference. Please note that this is only a review of my personal experience, I am nowhere near being qualified to rate FOSDEM objectively.

I’ve known FOSDEM for a very long time, when I saw some tweets about how many open source communities like the Linux Kernel devs, like the Firefox developers had group dinners during FOSDEM.

The conference has a rich history and was founded as the Open Source Developers of Europe Meeting in Brussels. It has been continuously organized since then in Brussels, in the ULB campus.

It has been free to attend from the start and attracting close to 8000+ developers, it’s probably the biggest software conferences of its kind.

Attending FOSDEM for some iterations was one of my major motivations why I relocated to Munich last year.

Travel

I took the ICE train from Munich(also my first time in an ICE train) and had to switch trains at Frankfurt. DB being DB, the train was late by 1 hour and missed the connection. I reached Brussels around 7 that evening and checked in to the hotel.

Mapping the conference

FOSDEM is big. 1000 talks big. It happens for 2 days, so it’s dense.

People plan their personal schedule from December, as soon as the conference schedule is out.

I was somewhat late to the party, but I spent some days including the day of travel to have a rough draft of the conferences I wanted to attend and the rooms I wanted to spend my time in.

If you want to attend the next FOSDEM, here is a short introduction to how everything is structured.

  • FOSDEM’s major theme is “Free Software”, you’re not representing your company, you’re representing a responsible individual software developer.
  • Activities in FOSDEM
    • Keynotes: Keynotes cover some major non-technical aspects of Open Source ecosystem, like journeys/learnings of big FOSS projects.
    • Main tracks: There are 2 main tracks the content of which are relevant to everyone.
    • Developer rooms: They are specific tracks (assigned to rooms) which each having 5-20 talks, and are specific to a programming domain like Python, Go, or Retro-computing, or Minimalistic-computing.
    • Birds of Feather rooms: They are interest groups and are relatively short-lasting groups
    • You can imagine that if a Developer room has 5 talks, lasts for 1 session in a day. The same room can be assigned to a BoF room in the afternoon.
  • The ULB Campus is the venue for FOSDEM. And the rooms are Lecture Halls, and these rooms are not close by.
  • You can understand that there wouldn’t be 8 rooms accommodating 1000 people each in close proximity.
  • The entire event is live-streamed and recorded and Wifi is available in almost all rooms.
    • You can either sit in the one of the bigger rooms with empty seat and watch the other talk
    • You can forget about the talk and watch it later from the stream.
  • There are also stands where you can get Stickers and other SWAG.

Talks and stuff that I really enjoyed about FOSDEM

Note: The individual talk pages would be updated with the video links gradually and the process has already been started by the organizing committee.

Talks

I spent most of my times in the Go, Python, Minimalist Computing, Network dev-rooms.

  1. Talk about SatNOGS: This was the first talk of the day and was house-full. The speaker talked about how the LSF is democratizing satellite communication. You can build your own receiver and listen to communication transmitted by their antennas onboard real satellites. As I have received satellite things with an RTL-SDR before, I would try to integrate this receiver station when back in India.
  2. Talk about optimizing gRPC: The speaker talked about how they reduced memory usage of their gRPC communication layer from 10GBs -> 25 MBs by reusing allocated memory in multiple function calls.
  3. Talk about optimizations in Go binary: The speaker talked about some flags and optimizations people could use while building Go binaries. They also spoke about how to build binaries smartly to avoid blanket updates of software on CVE identification.
  4. The Selfish Contributor revisited: The author talked about leadership in Open Source software, and various ways maintainers can navigate hardships with the tasks.
  5. 14 years of systemd: The legend Poettering himself talked about the journey of systemd and what lies ahead.
  6. Running closer to simple with Clojure - In this talk, the speaker demonstrated how proper abstractions can help you support many future iterations of changes with very little code.
  7. Reproducible dev environments with RDE - This is the second time I heard of Guix after a Reddit post on the alternatives to Nix, I still haven’t checked the tool out myself. This talk was from a contributor who manages his developer environment with Guix and RDE. The contents of his slides are very similar to my learning curve of Nix.
  8. Custom Linux init in Python - The speaker created init method of the Firecracker VM in Python to understand UX better. TIL about ‘dbootstrap’ which includes a bare-minimum debian file structure, if you pass a –include=python3 argument it includes the python3 executables in the OS files, which you can use to ‘init’ your operating system.
  9. Talk about QUIC and p2p QUIC protocol - The first talk was about how Firefox’s optimizations in handling HTTP/3 let to improved QUIC performance, while the second was about some improvements in iroh related to QUIC in a P2P environment.
  10. On introducing parallelism support in TinyGo - This was a great talk which enlightened me about how alternative compilers are made for a language spec. Ayke van Laethem, who originally wrote TinyGo recently introduced/(will shortly introduce) multi-core support for TinyGo and talked through how they changed different parts/modules of the Compiler.

Stands

In the stands, I had some good experiences.

  1. Mattermost: As some of you may know, I was working at Mattermost for ~11 months in 2022-23. I met some colleagues in the stand on Saturday, and later on Sunday, I met Ibrahim(a very talented person I had pair programmed with once back in the day). It was great seeing some familiar faces again.
  2. Immich: I’ve been excited about Immich for the last two years. The speed with which they push software is insane. I was lucky to talk to one of their lead dev for a few minutes.
  3. Grafana: In the Grafana Labs stand, I met this person Sam, who was super kind to talk to me and know more about how Orbem uses Grafana. He works on the query filters frontend which I’m sure almost every Grafana user has used.
  4. Nostr: I had Nostr explained to me, how it’s a more secure version of federated/distributed social networking, how the nodes are anonymous and communications are encrypted.
  5. metal-stack.io: My discussion here wasn’t very technical but the folks are based in Munich as well, and I offered to talk to my peer platform team-members about their offering and they were very enthusiastic about it.

Apart from these names, I had nice conversations at the Software Freedom Conservancy, Let’s Encrypt, FerretDB, Ubuntu Community stands.

Interesting talks that I’ve missed from FOSDEM

This Gist has a list of talks that I’ve missed as a part of a) my poor planning and b) FOSDEM’s very dense schedule of interesting things.

Things that I learned the hard way

  • I was surprised by this, the plan I made to attend 2 talks back to back in different rooms didn’t take into consideration that the rooms would be 800 meters apart.
  • Plus, if you’re first time in the event venue, it’s hard to navigate between rooms, plus other uncertainities like locations of toilets or coffee stations.
  • I’d suggest going to the venue the evening before and mapping some locations in your Maps application and trying to navigate between them.
  • Getting in and out of rooms are more difficult than I imagined:
    • If a room 300, and you want to attend a talk in the next slot
    • If 20 people go out and 20 people are going in – it’s easy.
    • If 100 people go out and 100 are waiting – it’s harder.
    • If 20 people are going out and 100 people are going in – it’s even more hard.
    • It’d be best if you don’t change rooms twice in one session (i.e 4 times in the whole day). 2 rooms in the day is ideal.
  • Plan well ahead
    • I found myself planning my schedule right on the day before. You’ll find that there are 3-4 general tracks you’re very interested in. And that there are 1/2 talks from other tracks which you’d like to attend. As I write this, I don’t have a list of talks that I’d like to watch later which I have missed. If one plans ahead, they have the list of talks that they decided to watch in person, and a list of things they’d watch later.
    • Look at “How to get around Brussels” before you come here. The venue is not very close to the city center.
  • Stick to the on-campus eateries and get your lunch slightly early.
    • I found massive lines during 12:30 - 14:00 in the first day for the food stalls in the university campus. I tried going out but got lost and didn’t find any good option. I had read online that the food options are expensive on campus. But in reality, only slightly. This is much better than roaming around in an unknown place for food.

A note on the organization

It’s impossible to comprehend for me how a team of 10-20 core members who are not event managers, are just software developers, and are able to organize this massive conference with 1000+ talks. The conference is also free for all.

It’s also very very well organized, especially the technical infrastructure that exists is mindblowing. In the CMS you have backlinks and forward links linking a venue, track, talk, and speaker. Every talk is streamed in real-time, and recorded.

Every room had volunteers making sure the AV works properly, the seats were managed well, IO of people staying functional, time-keeping, etc. Kudos to the whole organizing team, it’s mighty impressive.

Would I attend FOSDEM again?

Yes! I’ll attend FOSDEM whenever I get a chance. It exceeded my expectations in almost every way and it has left me curious as ever about software engineering and the state of FOSS. I hope I can also work hard to get a talk proposal in for next year’s Python/Nix/Go devroom.

I also liked exploring Brussels!

St. Michael & St. Gudula Cathedral