Lately I've been thinking about how #Gentoo is perceived by people. So often they're stuck in the "ricer" mindset: Gentoo is being built from source, so it must be ZOMG fast. And if it isn't, then what's the point?

If I were to make four points for Gentoo (to stop myself from making more), they would be:

1. Gentoo is independent.

There is no company behind Gentoo. There is no business plan. It's made and maintained by volunteers. Driven by passion and not profit incentive. And we want to keep it that way.

2. Gentoo aims to be secure.

We are maintaining our own infrastructure to reduce the risk of being hijacked. We're securing our distribution channels and mirrors using OpenPGP. We're only using Codeberg (which we really appreciate) and GitHub as mirrors (with OpenPGP commit signatures) and contribution channels. We have a dedicated security team, who works with the developers to keep packages free of vulnerabilities and our users informed.

3. Gentoo is made by humans.

We banned LLM contributions two years ago, and never regretted it. We didn't "wait and see", we took decisive action, and if we got left behind, it's only for the better. Unfortunately, in today's LLM-ridden world we can't stop slop software from being packaged in Gentoo without sacrificing our commitment to keep packages up to date, but we try to keep the worst offenders (like copywashed chardet) at bay.

4. Gentoo supports sustainability.

This may sound ironic when so many of us build everything from source, but we're actually trying to make computing sustainable. Gentoo's source-first nature makes it inherently flexible. We try our best to support a plethora of older and less common hardware. We go against the flow and still try to provide a workable system on hardware that is not supported by Rust or V8. And on top of that, we do our best to provide binary packages for a variety of configurations.

Of course, that's not all. I want Gentoo to be reliable and stable, to be oriented towards privacy by default, to be welcome and respectful.

And all these things ultimately depend on people working on Gentoo, and contributing to Gentoo. We always need more people that share these principles and want to help us achieve them.

What do you appreciate in Gentoo?

@mgorny It's by far one of the most flexible general-purpose OSes out there. That and its support for Python is second to none.

@stuartl @mgorny I think Gentoo is such a meme that most people do not stop to consider, how they would seriously view it.

When I switched away from it, my maintenance workflow had become too laborious and I had become more proficient in maintaining similar system on Debian.

@ethorsoe @stuartl @mgorny Gentoo has a seriously poisoned public image, that I'm not sure if it'd be possible to reconcile at this point. On the one hand it's easy publicity and it keeps the distro permanently in the public's view, on the other hand it brings in the kind of people who do it for the street cred.

Then again, the well of OS discussion has long been poisoned, I never see reasonable takes on the differences between distributions, and people still reglarly recommend popos to newbs..

@mid_kid @ethorsoe @mgorny I've moved most of my servers away from it merely because I found the customisation options to be less of a big advantage, whereas keeping systems patched is the bigger criteria.

Here binary packages win. You get a reproduce-able environment very easily that way. There's one server though that will remain Gentoo, and that's a TS-7670 which runs an ARMv5 CPU: Debian are dropping support for this platform in release 14, and AlpineLinux never supported ARMv5. So Gentoo it is.

My laptop still runs Gentoo though… probably been running Gentoo on workstations for about 20 years now. I *could* switch to Arch, but why change something that isn't broken?

@mid_kid @ethorsoe @stuartl @mgorny I'd like to think that I've attempted to be reasonable.

Am curious to know what you think about https://www.unsungnovelty.org/posts/01/2024/a-linux-distro-recommendation-framework-and-my-picks-for-2024/

A Linux distro recommendation framework and my picks - unsungNovelty

@unsungnovelty Good overview though there's a few things I disagree with: independent distros don't last longer than derivatives, they require much more work and more people, while a derivative can last incredibly long with few maintainers. I also disagree with your take on rolling release, even if your arch "hasn't broken" in 5 years, it is a constant churn of programs changing behaviours and breaking existing configs. 6 months is a great release cadence and I wish linux mint wasn't on LTS now.
@unsungnovelty I really like that you explain your decision process rather than trying to categorize groups of users into distros, so people can make their informed decision.

@mid_kid Thank you. This is what I would've liked to have when I started using Linux. I had to go through a ton of distro hopping before finding a productive distro to do serious work.

Which is also why this is a framework and recommendation - not a review. Cos different people uses Linux for different usecases. My recommendations try to cover most of the usecases. Not all. :)

@mid_kid Thanks for reading! :)

One clarification. I didn't mean that Independent distros will last longer from the project's POV. But user's installation POV. Independent distros wont get effected from external decisions like point releases. If Ubuntu pushes something, Linux Mint will not have voice all the time.

As for rolling releases, there r no other mainstream OS where using latest stable software is considered bad. MacOS, iOS, Android or Windows. It creates insecure, buggy experience.

@mid_kid @ethorsoe @stuartl @mgorny Heh I think I'll now keep not capitalizing popos, looks much funnier that way.
@mid_kid @mgorny YES. I just stumbled on a forum thread boasting "25% performance improvement" that was just talking about shaving a couple of seconds off a boot time by hand-rolling a kernel. I tried a push back on it because I think it's this kind of thing that makes it hard to argue with people who think G users are crazy, but they ain't having it
@mid_kid @mgorny that, and the fact we tend to attract a lot of the "so… this is the systemd haters club, right?" types which have strong opinions on init systems with no idea why

@bentorkington @mid_kid @mgorny

It's because anyone who even offers the option of using a systemd alternative is assumed to hate it. Either you're for or against it, there is no middle ground.

And when most people hear "distro that supports not-systemd" they are only aware of Gentoo, Alpine, and maybe Devuan with the caveat that many systemd haters (or many people in general) would rather die than associate with the Devuan community. Gentoo is "a big name" in not-systemd.

@eschwartz @mid_kid @mgorny haha 🙃
strict 50/50 split of systemd/openrc in my farm to keep me on my toes. One day I'll set one up that alternates between systemd and openrc each boot, as soon as I figure out how to tame the dep conflicts
@mgorny For me it's about extreme customization and the "elegance" of the system tools: https://en.chuso.net/why-gentoo.html
Why I choose Gentoo

I’ve been using Gentoo Linux for 20 years. Why? Because I cannot live without Linux and I haven’t found any Linux distribution that I like so much. Here I tell why.

chuso.net

@mgorny While not a Gentoo user, I deeply appreciate the work you do spotting, reporting and fixing issues in upstream projects. For many of these projects I follow (mostly in the Python ecosystem), contributions by Gentoo people are an important way of keeping things compatible, crash-free, etc.

Thank you for that!

@mgorny Gentoo is treating me as an adult; if I substitute user id, i.e. `su`, the system does what I say.

And I can just use `vim` to configure it, and use `less` to read logfiles. I know, crazy idea to read and write text files …

@mgorny Gentoo allows and encourages personal system customization to an extreme degree. From an enterprise-provided laptop with a stock DE + stock theme/background to a repurposed handheld console running a custom kernel + obscure-WM-with-a-sum-total-of-8-downloads, the world is the user's oyster.

Everyone interacts with computers in different ways. Gentoo understands that.

This post by @aeva a few months back rings truer every day:
https://mastodon.gamedev.place/@aeva/115624175016536952

aeva (@[email protected])

also, i had this great / horrible realization that on a long enough time scale, gentoo is probably the best option for continuing to run linux on hardware that is old enough for normal linux distros to tell you to throw it in the garbage

Gamedev Mastodon
@mgorny i am currently eyeing up gentoo. i think the biggest thing for me will be how comfortable i feel writing package templates
@kim @mgorny If you've packaged for any other distribution, I think you'll feel right at home. Make sure to read `man 5 ebuild` and mgorny's guides to EAPI7 and 8, and don't be afraid to dig into and read the eclass/ directory in the repository, as well as /usr/lib/portage/*/phase-*.sh, as you'll find all the functions you'll be using in there.
(Though start with the devmanual.gentoo.org website if you haven't read it yet)

@mgorny The feeling that you are in control. The system doesn't do anything that you didn't set it to do.

Installation process shows you that there is no magic involved whatsoever. And this leaves you with the feeling that you can fix anything in the system, especially when your installation suddenly decides not to boot.

@mgorny cool name too, gentoo
@mgorny for me it's about configurability and the easiest way of new software onboarding.
USE-flags are the best possible way to compose apps together in different combinations, and also portage supports building from anything: I've been consuming corporate rpm packages using emerge without any problems.
And now I'm using pycargoebuild to keep my Rust infra in place without additional tools, environments, and so on.
Started using Gentoo in 2004 and never found anything better.

@mgorny For me, it's the flexibility and extensibility. So many things I do on gentoo would require hard-forking another distribution, but here I just plop the modification into a file and can carry it with me across upgrades.

Besides that, I think paradoxically, gentoo is the simplest of the "advanced" distributions. Although not perfect, the majority of packages have very reasonable defaults, and the onboarding documentation is top of the line. Even if you customize nothing, it's worth it.

@mid_kid @mgorny IMHO speed/performance isn't the correct take from the source-based nature of gentoo, flexibility is (although it *is* possible to get performance improvements out of target-specific compilation).

What in some other distributions might be a hard-coded choice that you must compile externally to change, in Gentoo might be just a USE flag, or even just a different package satisfying an alternative pseudo-package.

But yeah, support for user-provided patches makes some hacking and testing even easier.

@njsg @mgorny USE flags are merely the supported set of alterations ;)
What nobody had told me before digging deeper is how much further than that it went.

@mgorny As a #Fedora user since F16 (Verne) who currently has to reboot his system at least once per day and who surely, at some point, will be arsed to do something about those fc44 packages that for some reason depend on fc43 packages, all the while project lead sees the priorities in something something AI, I view Gentoo very favourably. Currently wondering if the grass is greener on the other side and what my breaking point is going to be.

Because you mentioned old hardware I did a quick check and if I'm seeing this right, I could run Gentoo on those old armhf devices (BananaPi) I have lying around. Fedora stopped supporting those years ago.

@scheme, well, I can't promise that it will work — but if stuff can compile there, it should work. We generally accept patches, and sometimes patch things ourselves, provided someone has time and energy.
@mgorny I want to love Gentoo but the handbook is not ADHD-digestible at all, I've tried and failed for many months :<
If someone feels able to guide me through an installation and answer my barrage of questions in a 1-on-1 conversation that would maybe work

@mgorny This exactly matches my impression of Gentoo up to around 2010 when I switched to other distros. So all that you write, and the stability/dependability (it's not like a corporate project that would've pivoted many times into not doing a distro).

I felt it also being good for learning how things work, and for adjusting for custom things (packaging was easier than in the other distros I know).

@mgorny

1. To me, Gentoo is a litmus test for software being actually free. Some (usually large, usually corporate-maintained) programs come with a free license, but have no practical way to be locally compiled, let alone modified by the end-user. Things packaged for Gentoo, by its nature, are actually, in fact, compilable locally, with a minimum level of adaptability to a particular setup. The exception are *-bin packages, which are clearly marked and are kept to a minimum.

2. Gentoo provides a shallow learning curve from very little (being able to follow instructions in the Handbook) to the very depths of computing. From installing the system, to making your first ebuild, to droping a minor fix into /etc/portage/patches to contributing an ebuild into one of the semi-official overlays (you are getting feedback now!) to submitting bugs upstream -- every step is small, and every step is a learning opportunity. And at every step there is a community willing to help.

@anton @mgorny I love your articulation of point 1! It's something I say to people that it's the ultimate expression & practice of free software, being able to actually customise at-will.
@mgorny I appreciate the community; the mailing lists and the IRC channels are incredible resources.

I appreciate the flexibility; choose your own init system, install multiple desktop environments, mix and match 32 bit libs as needed, *slots* for packages, webapp-config for versioning, keywording individual packages, pinning package versions, the list goes on. I'm skipping over use flags, despite them being the most powerful portage feature of all.

Most of all Gentoo feels like a very 'adult' platform. Minimal training wheels, all of the aforementioned versatility, and enough tooling to make it smooth and sensible, and great documentation when you need it.
@mgorny maybe i should try out gentoo, this sounds nice

@mgorny @diazona my favorite thing about Gentoo is that it lets me decide how things should work, and try new things. It’s like LEGO compared to a model kit.

Do I particularly care which NTP daemon my system uses? No, but I do care that I could change it if I some day decided I wanted to.

I do care that it’s not some weird or obscure choice to install a headless system with no graphics packages at all, or to build my graphical stack exactly the way I want it, and the difference is just simple configuration files that I control and can change at any time, not an entirely different install process.

And I do, of course, love that I can turn up the optimizations to wring every last processor cycle out of my hardware. In the (distant) past, using Gentoo and being able to compile my own custom kernel and graphics stack was the difference between being able to run 1080p video smoothly on ancient hardware when Ubuntu could barely play a video file at all, saving me hundreds of dollars on hardware.

@josh0

Why Gentoo vs Nix?

@serge mostly because I’ve been using Gentoo since c. 2001, and Nix went through an entire cycle of everyone’s using it oh now we all hate it and shouldn’t use it before it even really got on my radar.
@josh0 @serge nix is only incidentally configurable because it treats the build recipe as a hashed input to the installation directory prefix of a package "for reproducibility", and therefore all changes of any sort whatsoever, also including the changes you care about, trigger recompilation of the entire software stack.

@eschwartz

That's no different than Gentoo.

@josh0

@serge @josh0 Certainly not. Gentoo requires explicit USE flags to signify configuration points, and you only depend on exactly what you need. This is fundamental to the design, because the design is built around configurability, which is exactly the opposite of being built around something entirely unrelated that only incidentally has anything to do with configurability.
@josh0 @serge For this purported benefit, you get in exchange a dreadful packaging language and an entire operating system cobbled together out of bash scripts that set environment variables before invoking the real program, because nix fights the software to a sufficient degree that none of the integration points work anymore and one has to reimplement a C library loader in bash. And I'm not even exaggerating all that much.

@eschwartz

Feel free to use Guix instead. Then you get Scheme.

@josh0

@serge @eschwartz @josh0

Both guix and nix are horrible in handling in the same way in different symptoms.
Gentoo is just as horrible in the same way but different.

Huge parts of the why are inherited by the Desktop Distro Software Stack being a badly integrated rube goldberg horror machine.

@lasagne I am not certain what point you're trying to make. I guess the implication is that there is no such thing as a good operating system (or perhaps there's no such thing as good software)?

Seriously, you parachute into a conversation about specific flaws in nixos by saying "well ackshually Gentoo is bad too because Gentoo is based on Linux and linux is an example of an operating system and operating systems aren't integrated well because muh desktop platform"???

@eschwartz

I was sleepy af bc. of meds I didn't expect to do that and lost parts of the context mid writing.
Can see how that comes across.
Sorry.

@lasagne alright, understandable I guess. :) Still curious what you meant though. ;)

@josh0 @serge Anyways, point is there's lots of good reasons to not like nix very much, and popularity need not enter into it.

Certainly the reasons for liking nix are very different from the reasons for liking Gentoo.

@mgorny My favorite has to be that there are always alternatives. I'm not stuck with what's in one repo - I have GURU, third parties, and I can even just grab source and self compile if I really want to. There's no "one right way" to build the system - it's mine and mine alone. I make the choices as to what will be there and if I don't want to jump on The Next Big Thing (that will be gone in a month after everyone tools for it), I don't have to.

There's a lot of joy in that independence, while still being supported by a team of like-minded folks.



...Now if I could just get every package I use to build statically... ;)
@mgorny
I love Gentoo's approach to licenses. It allows people to choose which licenses they are or are not okay with accepting, even on a per-package basis, and defaults to free software, which is a great way to get people to find out the licenses of proprietary software before installing it.

@mgorny honestly, whenever gentoo comes up for me, I end up praising the stability

I run ACCEPT_KEYWORDS="~amd64" in my make.conf, so I get pretty frequent updates. I run an LLVM profile with mold as my system linker and LTO enabled for everything. even with all that, I have a more stable experience with gentoo than I’ve had with basically any other desktop linux. sure, sometimes I find myself opening a cursed issue on b.g.o, but my system hasn’t ever broken!

the work the gentoo devs put in to make sure everything is stable and everything works well across many different setups is incredible, and the stability that comes with portage sure doesn’t hurt either

@mgorny when something breaks (and that rarely happens), it is an invitation to learn how the system works.

In a lot of distro's, things are so abstracted that 'an error has occurred' doesn't have an organic first step to start debugging.

And when debugging is difficult, its because I didn't read the news, like last week when my unsigned binary builds stopped working :')

@odd @mgorny "invention to learn" => "invitation to learn"?

@mgorny a lot of folks have already answered with some strong reasons... But let me add to the list: its administration tools.

It's a joy being a sysadmin of a Gentoo box.

@mgorny Among other things, I like that Gentoo generally doesn't bend over backwards to package software with outdated dependencies or batshit insane build systems, that the infra is easy to navigate, and that it's easy to get involved indirectly via GURU & overlays or directly via proxy maintenance and whatnot (compared to some other distros where you kinda have to break into an in-group before you can do anything).

@mgorny Thanks for this. I've been aware of Gentoo for ages, but not looked at it that closely before.

This reminds me quite a lot of the Debian Social Contract, and made me wonder if Gentoo had any similar official documents. It only took a little bit of hunting and, yes, it does:

Philosophy: https://www.gentoo.org/get-started/philosophy/

Social Contract: https://www.gentoo.org/get-started/philosophy/social-contract.html

(Debian inspiration acknowledged)

The project is more similar to Debian that I realised, so I'll definitely look at it more closely now

The philosophy of Gentoo – Gentoo Linux

News and information from Gentoo Linux