This is a part of the FESCo Elections Interviews series. Voting is open to all Fedora contributors. The voting period starts today, Tuesday 20th May and closes promptly at 23:59:59 UTC on Monday, 2 June 2025.
Interview with Debarshi Ray
- FAS ID: rishi
- Matrix Rooms: Announcements, Fedora ai/ml, Fedora Atomic Desktops, Fedora Council, Fedora Devel, Fedora Infrastructure Team, Fedora Meeting, Fedora Meeting 2, Fedora Release Engineering, Fedora Social, Fedora Test Day, Fedora Workstation, Introductions, Matrix Help, Podman, Podman Desktop, Podman Desktop Developers, RamaLama
Questions
Why do you want to be a member of FESCo and how do you expect to help steer the direction of Fedora?
During my 18 years as a Fedora contributor I have been involved in various aspects of engineering Fedora Linux – almost all parts of the GNOME platform and the graphical applications that run on it, projects like Flatpak and Toolbx that are loosely associated with GNOME, and a random assortment of miscellaneous packages spanning programming languages and problem domains that scratched some personal itch of mine.
I believe this has given me abundant technical experience and knowledge to steer the engineering of the user-visible parts of Fedora Linux – ie., the upstream projects that glued together and integrated to form the distribution.
However, it’s only in the past two years, since Toolbx became a release-blocking deliverable, that I have gained some insights into Fedora infrastructure and release engineering. These two areas are sometimes hidden from users of Fedora Linux, but are critical to building and delivering it, and FESCo often has to decide on issues that have obvious and not so obvious impacts on them.
I believe this has given me a more wholesome understanding of Fedora engineering, and that’s why I want to be a member of FESCo now.
In fact, I was a member of FESCo from February to December 2015 to represent the interests of Fedora Workstation and its Working Group.
I decided not to run for re-election when my term ended because I felt that my expertise was too lopsided. I knew a lot about the upstream projects that Fedora distributed and how they were glued together and integrated to form the distribution, but I didn’t know much about all the behind-the-scenes infrastructure and release engineering work that goes on, and this reduced my effectiveness on the committee back then. I believe I am in a better position today.
If I am elected as a member of FESCo, I will bring my interest and knowledge in image-based Fedora variants, the Podman stack and Fedora’s OCI infrastructure, Fedora Flatpaks, and the GNOME universe to ensure that Fedora improves, shines and continues to be the first in features in those areas.
How do you currently contribute to Fedora? How does that contribution benefit the community?
My current contributions to Fedora are aimed at Silverblue and Workstation, and some specific areas of CoreOS.
My main focus is the Toolbx project, which I started in July 2018. It was started to address the critical need to improve the software development and troubleshooting experience on image-based Fedora variants like Silverblue and CoreOS. Over time, it has been adopted as a useful tool on package-based Fedoras like Workstation.
Toolbx is a release-blocking deliverable for Fedora, and it’s a heavy user of Podman and Fedora’s OCI image infrastructure. So, I am part of the group of people who are involved in making sure that all the pieces continue to work reliably. This includes the toolbox(1)
command and the registry.fedoraproject.org/fedora-toolbox
images, podman(1)
, crun(1)
, the Linux kernel, the shell start-up scripts, and all the points at which Toolbx integrates with Fedora Linux.
How do you handle disagreements when working as part of a team?
One thing to keep in mind when working in a team is that, if everything else is equal, it’s opinion of the person, who is doing the work and will be dealing with the consequences in the future, that matters.
Secondly, it’s good to follow the robustness principle or Postel’s law that states: “be conservative in what you do, be liberal in what you accept from others”, or assume good intent, as long as everybody is sticking to demonstrable facts and not indulging in ad hominem attacks.
Continuing from the previous point, it’s important to stick to demonstrable facts and reiterate the objectives, priorities and trade-offs involved when stating an opinion, instead of appealing to emotion. Sometimes it helps to take a break.
For a sufficiently complex topic, it’s better to approach a disagreement with working prototypes and proof of concept implementations that can be clearly demonstrated and evaluated, instead of purely conceptual ideas. This makes it easier for everybody to understand the pros and cons, lets the discussion be grounded in facts, forces all sides to carefully think through their positions.
In case a consensus can’t be reached and someone has to enforce a decision from a position of authority, then it’s important to carefully describe the reasons, the priorities and the trade-offs behind the decision. Even if we might not agree with the views of a group, I think everybody still deserves a high quality justification for our decision. This forces us to carefully think through our decision through a form of rubber ducking, which leads to better decisions, and it helps to inform those that are silently following the discussion from a distance or may have to revisit the topic in the future.
What else should community members know about you or your position
I hope that one day Fedora Silverblue becomes the default implementation of the Workstation Edition.
Start the discussion by commenting on the auto-created topic at discussion.fedoraproject.org