pkgbump: from a dumb tool to an irreplaceable helper

Bumping packages is one of the most common tasks of a Gentoo developer. It shouldn’t then be surprising that it is the one most asking for some kind of automation, and that the pkgbump script would be one of the first scripts to become a part of the mgorny-dev-scripts package.

Today’s pkgbump have come a long way from the trivial script of its first iteration. The most recent versions finally feature the feature I desired for a long time: version manipulation. This also made it possible for the script to become a complete version bumping tool rather than just a part of a larger workflow. In this post, I’d like to shortly tell the story behind the changes, and demonstrate the new options.
Continue reading “pkgbump: from a dumb tool to an irreplaceable helper”

2026 Council Manifesto

I joined Gentoo over 15 years ago. I was a university student back then. I had lots of free time and energy. I was enthusiastic about novelties, and wanted to push them into Gentoo. Back then, bleeding edge was what I wanted out of it. Today, I have different priorities. I have less time to deal with breakage, and I want my Gentoo stable. I’m becoming somewhat wary of changes, and I find preserving what’s great about Gentoo more important than adding new stuff. And what’s really great about Gentoo is that it can accommodate both personas.

Gentoo has changed over these 15 years too. However, its core principles remained the same, and only recently I realized what they really are. The core value of Gentoo is respect. All the building from source, all the choice and flexibility, and all the community building power is because of this: Gentoo respects you. It doesn’t try to waggle the dog, it just does what you tell it do. It may warn you that you’re having a very bad idea and nobody will help you if you proceed, but in the end, you are free to pursue it.

However, respect goes beyond providing a working distribution for our users. It’s in providing a reasonably vanilla development environment for software authors. It’s in submitting patches upstream to ensure that everyone gets bug fixes. But most importantly, it lies in appreciating the human craft rather than taking the easy way out. And I believe that rejecting LLMs is important to keeping the Gentoo community whole and respected.

These days, I mostly handle Python packaging in Gentoo, build Distribution Kernels and a variety of odds and ends. I try to balance involvement in interesting high-level projects and the necessary ground work. I am employed at Quansight PBC where my work also primarily orients around Python packaging, but involving conda-forge and upstream work; it does not conflict with my Gentoo duties.

Why Gentoo?

Multiple times in the past I’ve been thinking of how Gentoo is perceived by the wider public, the non-users. What probably stands out most is compiling. Almost everyone who heard of Gentoo knows it has something to do with compiling everything. And why are we doing that? Well, besides being hardcore, the common sentiment goes for performance. So yeah, Gentoo users must be some kind of hardcore ricers who try to squeeze every last bit of their system performance.

To be honest, I don’t think that’s a good way to describe Gentoo. Yes, compiling is at the core of it. But performance? I don’t think so, at least not in the obvious, -O9999 -fzomg-fast way. The world has moved on, CPUs have gotten faster, optimizations have gotten smarter, and distributions have started optimizing more aggressively. Optimization-wise, I suspect your average Ubuntu package with generic optimizations may be no slower than the equivalent Gentoo package fine-tuned for your CPU. And if it’s not, then it probably won’t make a real difference anyway.

There’s much more to Gentoo than that. Yes, some of it comes from building from source: the flexibility. But a lot of it comes from the wider Gentoo philosophy, the philosophy that brought us all together. The idea that Gentoo is the distribution we’re making for ourselves and people who enjoy Gentoo. So if I were to make a few arguments for Gentoo, I’d focus on that. And this is what I’d like to do here.

Continue reading “Why Gentoo?”

Money isn’t going to solve the burnout problem

The xz-utils backdoor situation brought the problem of FLOSS maintained burnout into the daylight. This in turn lead to numerous discussion on how to solve the problem, and the recurring theme was funding maintenance work.

While I’m definitely not opposed to giving people money for their FLOSS work, if you think that throwing some bucks will actually solve the problem, and especially if you think that you can just throw them once and then forget, I have bad news for you: it won’t. Surely, money is a big part of the problem, but it’s not the only reason people are getting burned out. It’s a systemic problem, and it’s in need of systemic solution, and that’s involves a lot of hard work to undo everything that’s happened in the last, say, 20 years.

But let’s start at the beginning and ask the important question: why do people make free software?

Continue reading “Money isn’t going to solve the burnout problem”

One jobserver to rule them all

A common problem with running Gentoo builds is concurrency. Many packages include extensive build steps that are either fully serial, or cannot fully utilize the available CPU threads throughout. This problem becomes less pronounced when running building multiple packages in parallel, but then we are risking overscheduling for packages that do take advantage of parallel builds.

Fortunately, there are a few tools at our disposal that can improve the situation. Most recently, they were joined by two experimental system-wide jobservers: guildmaster and steve. In this post, I’d like to provide the background on them, and discuss the problems they are facing.
Continue reading “One jobserver to rule them all”