Run a virtual conference using only open source tools

The Fedora Design Team discovered that using open source tools to run a virtual conference can be quite effective by hosting the first Creative Freedom Summit in January 2023.

In this article, I’ll share some background on the conference, why using open source tools to run it was important to us, and the specific tools and configurations our team used to make it all work. I’ll also talk about what worked well and what will need improvement at our next summit in 2024.

What is Creative Freedom Summit?

The Creative Freedom Summit was an idea Marie Nordin came up with after reviewing talk submissions for Flock, the annual Fedora users and contributors conference. She received many talk submissions for the August 2022 Flock relating to design and creativity in open source—far more than we could possibly accept. With so many great ideas for open source design-related talks out there, she wondered if there would be space for a separate open source creativity conference focused on creatives who use open source tools to produce their work.

Marie brought this idea to the Fedora Design Team in the fall of 2022, and we started planning the conference, which took place January 17-19, 2023. Since it was our first time running a new conference like this, we decided to start with invited speakers based on some of the Flock submissions and our own personal network of open source creatives. Almost every speaker we asked gave a talk, so we didn’t have room to accept submissions. We will need to figure out this next year, so we don’t have an open source CFP (Call for Papers) management tool for that to tell you about yet.

Using open source for open source conferences

Since the initial COVID pandemic lockdowns, Fedora’s Flock conference has been run virtually using Hopin, an online conference platform that isn’t open source but is friendly to open source tools. Fedora started using it some years ago, and it definitely provides a professional conference feel, with a built-in sponsor booth/expo hall, tracks, hallway chat conversations, and moderation tools. Running the Creative Freedom Summit using Hopin was an option for us because, as a Fedora-sponsored event, we could access Fedora’s Hopin setup. Again, Hopin is not open source.

Now, as a long-term (~20 years) open source contributor, I can tell you that this kind of decision is always tough. If your conference focuses on open source, using a proprietary platform to host your event feels a little strange. However, as the scale and complexity of our communities and events have grown, the ability to produce an integrated open source conference system has become more challenging.

There is no right or wrong answer. You have to weigh a lot of things when making this decision:

  • Budget
  • People power
  • Infrastructure
  • Technical capability
  • Complexity/formality/culture of the event

We didn’t have any budget for this event. We did have a team of volunteers who could put some work hours into it. We had the Fedora Matrix Server as a piece of supported infrastructure we could bring into the mix and access to a hosted WordPress system for the website. Teammate Madeline Peck and I had the technical capability/experience of running the live, weekly Fedora Design Team video calls using PeerTube. We wanted the event to be low-key, single-track, and informal, so we had some tolerance for glitches or rough edges. We also all had a lot of passion for trying an open source stack.

Now you know a little about our considerations when making this decision, which might help when making decisions for your event.

An open source conference stack

Here is how the conference tech stack worked.

Overview

Live components

  • Livestream: We streamed the stage and the social events to a PeerTube channel. Conference attendees could watch the stream live from our PeerTube channel. PeerTube includes some privacy-minded analytics to track the number of livestream viewers and post-event views.
  • Live stage + social event room: We had one live stage for speakers and hosts using Jitsi, ensuring only those with permission could be on camera. We had an additional Jitsi meeting room for social events that allowed anyone who wanted to participate in the social event to go on camera.
  • Backstage: We had a “Backstage” Matrix channel to coordinate with speakers, hosts, and volunteers in one place while the event was going on.
  • Announcements and Q&A: We managed Q&A and the daily schedule for the conference via a shared Etherpad (which we later moved to Hackmd.io).
  • Integrated and centralized conference experience: Using Matrix’s Element client, we embedded the livestream video and an Etherpad into a public Matrix room for the conference. We used attendance in the channel to monitor overall conference attendance. We had a live chat throughout the conference and took questions from audience members from the chat and the embedded Q&A Etherpad.
  • Conference website: We had a beautifully-designed website created by Ryan Gorley hosted on WordPress, which had the basic information and links for how to join the conference, the dates/times, and the schedule.

Post-event components

  • Post-event survey: We used the open source LimeSurvey system to send out a post-event survey to see how things went for attendees. I use some of the data from that survey in this article.
  • Post-event video editing and captioning: We didn’t have a live captioning system for the conference, but as I was able, I typed live notes from talks into the channel, which attendees greatly appreciated. Post-event, we used Kdenlive (one of the tools featured in talks at the event) to edit the videos and generate captions.
  • Event recordings: PeerTube automagically posts livestream recordings to channels, making nearly instant recordings available for attendees for talks they may have missed.

I’ll cover some details next.

Livestream with PeerTube

LinuxRocks PeerTube platform generously hosted by LinuxRocks.online for the Creative Freedom Summit’s livestream. PeerTube is a free and open source decentralized video platform that is also part of the Fediverse.

One of the best features of PeerTube (that other platforms I am aware of don’t have) is that after your livestream ends, you get a near-instant replay recording posted to your channel on PeerTube. Users in our chatroom cited this as a major advantage of the platform. If an attendee missed a session they were really interested in, they could watch it within minutes of that talk’s end. It took no manual intervention, uploading, or coordination on the part of the volunteer organizing team to make this happen; PeerTube automated it for us.

Here is how livestreaming with PeerTube works: You create a new livestream on your channel, and it gives you a livestreaming URL + a key to authorize streaming to the URL. This URL + key can be reused over and over. We configured it so that the recording would be posted to the channel where we created the livestreaming URL as soon as a livestream ended. Next, copy/paste this into Jitsi when you start the livestream. This means that you don’t have to generate a new URL + key for each talk during the conference—the overhead of managing that for organizers would have been pretty significant. Instead, we could reuse the same URL + key shared in a common document among conference organizers (we each had different shifts hosting talks). Anyone on the team with access to that document could start the livestream.

How to generate the livestream URL + key in PeerTube

The following section covers generating the livestream URL + key in PeerTube, step-by-step.

1. Create stream video on PeerTube

Log into PeerTube, and click the Publish button in the upper right corner:

Jitsi Meet video conferencing platform for our “live stage.” We created a Jitsi meeting room with a custom URL at https://meet.jit.si and only shared this URL with speakers and meeting organizers.

We configured the meeting with a lobby (this feature is available in meeting settings once you join your newly-created meeting room) so speakers could join a few minutes before their talk without fear of interrupting the presentation before theirs. (Our host volunteers let them in when the previous session finished.) Another option is to add a password to the room. We got by just by having a lobby configured. It did seem, upon testing, that the moderation status in the room wasn’t persistent. If a moderator left the room, they appeared to lose moderator status and settings, such as the lobby setup. I kept the Jitsi room available and active for the entire conference by leaving it open on my computer. (Your mileage may vary on this aspect.)

Jitsi has a built-in livestreaming option, where you can post a URL to a video service, and it will stream your video to that service. We had confidence in this approach because it is how we host and livestream weekly Fedora Design Team meetings. For the Creative Freedom Summit, we connected our Jitsi Live Stage (for speakers and hosts) to a channel on the Linux Rocks PeerTube.

Jitsi lets speakers share their screens to drive their own slides or live demos.

Livestreaming Jitsi to PeerTube

1. Join the meeting and click the icon next to the red hangup button at the bottom of the screen.

Ryan Gorley developed the Creative Freedom Summit website using WordPress. It is hosted by WPengine and is a one-pager with the conference schedule embedded from sched.org.

Post-event

Post-event survey

We used the open source survey tool LimeSurvey. We sent it out within a week or two to attendees via the Element Chat channel and our PeerTube video channel to learn more about how we handled the event. The event organizers continue to meet regularly. One topic we focus on during these post-event meetings is developing the questions for the survey in a shared hackmd.io document. The following are some things we learned from the event that might be of interest to you in planning your own open source powered online conference:

  • By far, most event attendees learned about the event from Mastodon and Twitter (together, covering 70% of respondents).
  • 33% of attendees used the Element desktop app to attend, and 30% used the Element Chat web app. So roughly 63% of attendees used the integrated Matrix/Element experience. The rest watched directly on PeerTube or viewed replays after.
  • 35% of attendees indicated they made connections with other creatives at the event via the chat, so the chat experience is pretty important to events if part of your goal is enabling networking and connections.

Captioning

During the event, we received positive feedback from participants who appreciated when another attendee live-captioned the talk in the chat and wished out loud for live captioning for better accessibility. While the stack outlined here did not include live captioning, there are open source solutions for it. One such tool is Live Captions, and Seth Kenlon covered it in an opensource.com article, Open source video captioning on Linux. While this tool is meant for the attendee consuming the video content locally, we could potentially have a conference host running it and sharing it to the livestream in Jitsi. One way to do this is using the open source broadcasting tool OBS so everyone watching the livestream could benefit from the captions.

While editing the videos post-event, we discovered a tool built into Kdenlive, our open source video editor of choice, that generates and automatically places subtitles in the videos. There are basic instructions on how to do this in the Kdenlive manual. Fedora Design Team member Kyle Conway, who helped with the post-event video editing, put together a comprehensive tutorial (including video instruction) on automatically generating and adding subtitles to videos in Kdenlive. It is well worth the read and watch if you are interested in this feature.

Video editing volunteer effort

When the event was over, we rallied a group of volunteers from the conference Element channel to work together on editing the videos, including title cards and intro/outro music, and general cleanup. Some of our automatic replay recordings were split across two files or combined in one file with multiple other talks and needed to be reassembled or cropped down.

We used a GitLab epic to organize the work, with an FAQ and call for volunteer help organized by skillset, with issues attached for each video needed. We had a series of custom labels we would set on each video so it was clear what state the video was in and what kind of help was needed. All the videos have been edited, and some need content written for their description area on the Creative Freedom Summit channel. Many have auto-generated subtitles that have not been edited for spelling mistakes and other corrections common with auto-generated text.

https://matrix.to/#/#creativefreedom:fedora.im


This article is adapted from Run an open source-powered virtual conference and is republished with permission.