Sean Davis

Xubuntu Technical Lead and Xfce Core Dev

[November '21]

Sean makes FOSS and takes our Twitter mic from November 22 to 29. Thank you, Sean!

Please tell us about yourself

Hello! I’m Sean Davis - a software developer in Louisville, KY, and an avid user of Open Source software. I’ve been contributing to Xfce and Xubuntu since 2012, largely focused on improving the user experience. I am daily driving elementary OS these days and spending time improving my own apps. Outside of FOSS, I’m a regular geek enjoying video games and watching anime.

What are you working on right now?

We’re at the start of the 22.04 Xubuntu development cycle, so I’m focused on Xubuntu projects right now. I’m also learning and starting to get into Flatpak packaging! Flatpak is a sandboxed packaging and distribution format that makes it possible to package once, use everywhere. The sandbox nature limits access to files and system resources but also adds complexity for system management and utility apps like the ones I maintain. The more I work with it, the more I learn and I’m hoping to package all of my apps with Flatpak to get them in the hands of more users in the near future.

What is most interesting about that?

Flatpak is still relatively new with constant developments and improvements. Working with it has been an interesting change. I’ve maintained several Debian-format packages for Xubuntu over the better part of the last decade. While Debian packaging has its own rules and limitations, the resulting packaged application is installed in a system location and has access to any resources it needs. In contrast, Flatpak applications are sandboxed in their own environment and access to specific system resources has to be granted. I’ve found that libraries also tend to behave differently and unexpectedly within the sandbox. It feels secure, but also difficult.

How did you first discover FOSS?

I first knowingly experienced FOSS when Firefox arrived on the scene. At the time I was running Windows XP and using Opera as my preferred web browser. There was something about Firefox at the time that made it really stand out. Learning about free software got me interested in other FOSS tools, and soon I was using Miranda IM, Gaim, The GIMP, and other FOSS available on Windows. Not long after, I started playing with Linux.

What prompted you to start contributing to FOSS?

I had recently graduated from college and had newly-available free time after work. I was already using Linux regularly throughout college and in my career and was starting to experiment with software development. I had made some small utilities in Qt and wxWidgets, and the more I built things in Linux, the more interested I became. I started reporting bugs for Xubuntu and Xfce and after I made enough noise, I was invited to join the development chat. I went from reporting bugs, to fixing them, and then to making them! ;)

Why should others get involved with FOSS?

Getting involved with FOSS is often about “scratching an itch”. There’s something you want: a feature, a better workflow, improved consistency, more reliability, support for your native language, and so on. If you want something, you have to do something. Is it selfish? Yes and no. You have your needs and wants, but you’re never alone. Getting involved to improve something for yourself is going to help others as well.

This starts with a question, a bug report, or a feature request. Resources are finite, so just reporting a bug doesn’t guarantee it gets fixed. What you do next is up to you. Getting back to the why… oftentimes getting involved is for a selfish reason. That being said, your needs are rarely unique, so getting involved is going to help others as well.

How should they get started?

Before you get started, let’s make one thing clear. Anybody of any background and skill level can contribute to FOSS. You can contribute by reporting or confirming bugs, improving documentation, contributing translations, submitting artwork, marketing and social media, and financially. These are just a few options to get you thinking.

Let’s consider an “easy” scenario. You use some software on your favorite Linux distribution and notice a glaring typo. Obviously, you’re not content with software that says “Drag and drop this icon over their,” you set out to improve the situation. You might go to the project website and look for links on reporting the bug. You figure out where you need to go and report your first bug. If the project maintainers are active or you’re exceptionally lucky, you get a response quickly and the issue gets addressed.

Sometimes, however, bug reporting doesn’t go as planned. Project maintainers are spread thin, run busy lives outside of just writing FOSS, or are otherwise unavailable. What do you do now? Don’t spam the bug report. Instead, you might dig in and figure out what causes the bug. You track it down and find that it looks like an easy fix, so you fix it yourself and submit a pull request. Suddenly, you’re a contributor! And now you know a little bit about the code, so maybe you go on to fix something else.

What difficulties and limitations do you see with FOSS?

As a FOSS maintainer, there’s way too much to do and way too little time. If you’re not making a living from your work in Open Source, it comes last. After the job, the family, the personal responsibilities, and after recovering from all those. It’s a challenge to make weekly commitments, much less daily. It’s a little easier to be friendly on Twitter with the community here and there.

How can they be solved?

For FOSS maintainers who contribute on the side… it’s not easy. We’re already battling burnout and doing more than can be reasonably expected. However, community assistance in better bug reporting, bug triage, and pull requests definitely lighten the load. Financial assistance via Patreon and GitHub Sponsors can go towards server costs, coffee breaks, and new hardware. Larger financial contributions can also be motivating–we suffer from imposter syndrome so we feel like we owe you something when you send us a tip.

Where do you see difficulties in contributing?

Getting started can be daunting. It’s usually easier to use a search engine to find what you need than looking through “official” project resources. You’ll have a lot more questions before you get to any answers. More resources are needed on contributing effectively, and those resources need to be readily available and easy to discover. This means online documentation linked from project homepages and more videos on the subject. Projects may not have the skill or know-how to produce quality videos, so this is another opportunity for community contributions.

What does a perfect day off look like?

Close email, IRC, Slack, and Discord. Go outside for some fresh air and take a long hike.

Come home, fire up some video games (currently playing Dragon Quest XI and Halo Infinite) or Netflix and do anything other than code. It will all be waiting for you tomorrow.

Do you want to tell us something else we didn’t ask?

Just a note for when you feel like you’re not doing enough or using the right tools and software. You don’t have to feel like an imposter when you don’t use FOSS. At the end of the day, your phone, computer, and all the technology around you are simply tools used to accomplish your goals. Don’t feel bad about running Windows, using an iPhone, or watching DRM-laden content on your favorite streaming service. If you’re a professional designer, PhotoShop is probably going to be a better option than using The GIMP. Use what you need to live your life, and use FOSS where it makes sense.