DEV Community

loading...
Cover image for Fuck FreeBSD

Fuck FreeBSD

jdrch profile image jdrch Updated on ・4 min read

UPDATE

Solution. FreeBSD receives a stay of execution on this end. For now.


(TL,DR: Yes, the title is contradictory as I'm planning on deploying TrueNAS)

My dream has always been to run all major (server and desktop) OS kernel families:

  1. NT (Windows) ✅
  2. Unix-like ✅
    1. Linux ✅
    2. BSD ✅
  3. Unix ✅
    1. Illumos ✅
  4. UNIX™ (Coming soon)
    1. macOS

✅ = I currently run an OS kernel in this category

I've written before about why I might no longer run FreeBSD , but I think what has just transpired might be the last straw.

I just updated from FreeBSD 12.x-RELEASE to 13.0-RELEASE. Doing so completely broke my KDE setup, to the point that KDE won't even launch at all.

Setting aside the fact that a major OS being unable to sustain a major version update without KOing DE functionality in 2021 is completely ridiculous, the current workaround is to build the driver from source.

Building kernel modules from source produces a whole range of problems, not the least of which are being possibly out of step with repo packages from the same source, as well as complicating future updates.

This would be totally understandable if the OS in question were an Illumos one, such as OpenIndiana, whose core dev team has only 10 people. But this is FreeBSD, the OS that supposedly underpins Netflix, PlayStation, Switch, etc.

It's well known that FreeBSD's dev team don't care for DEs or the desktop use case. Now, one might argue that they aren't listening to their users. And, if one truly believes that's the case, then it makes sense for desktop users to run FreeBSD in the hopes that one day user demands will win out. Sure, you can use scripts to install DEs, but the problem with scripts is they tend to go out of date relatively rapidly (compared to proper ISO packages) due to having no direct upstream connection to the distribution. As such, the configs they result in are also not particularly robust.

There is no substitute for core dev team support of a feature.

Sadly, today, while visiting the FreeBSD forums to ask about my KDE woes, I discovered this thread, in which over half of the FreeBSD Forums members who voted in the OP poll indicated they had "Doubtful" or "No" interest in a FreeBSD KDE distribution.

That's ... in a word, insane. The poll has only 57 votes through nearly 4 months. That tells me pretty much no FreeBSD users are interested in this topic at all.

Clearly, there's absolutely no hope for DEs ever being 1st class citizens in FreeBSD. Ever.

And now that I've recognized that truth, the reasons for me to run a FreeBSD desktop/workstation have evaporated.

Fortunately, TrueNAS exists. Unfortunately, the machine most suited to running it is currently running OpenIndiana (which since my installation thereof in 2019 has proven itself largely useless due to severe lack of package support), so I'll probably wind up having to install OpenIndiana on my current FreeBSD machine and then throw TrueNAS on the current OpenIndiana machine.

I'm not the only person to reach this conclusion with FreeBSD. The project's devs and its community have an extremely rigid view of the distribution as a religious artifact of 1980s Berkeley software development. It sounds cute, but the problem with religious artifacts is they tend to be practically immutable (e.g. the cross, the US Constitution) even when that property is against the faith's long term interests.

I've read complaints from Project Trident's devs as well as pfSense and TrueNAS users (I'm still willing to give TrueNAS a chance because unlike many people I'm not trying to use it for VMs or jails). The bottom line is that FreeBSD is awesome right up to the point that you want it do something even minutely different from the status quo and need upstream support for that to happen. Then you get stonewalled as none of your asks, no matter how small or reasonable, are met.

So, it's deuces, FreeBSD. Honestly it doesn't matter if the driver bug gets fixed in the repo because thanks to the aforesaid the problem is guaranteed to repeat itself the next major version upgrade.


Clapbacks & Counterarguments

Fuck FreeBSD? FUCK YOU!

Yeah, there's a reason I didn't post this in a FreeBSD forum. You're never gonna get objective criticism of a faith within a place of worship for that faith.

Installing DEs on FreeBSD is easy LOL

Unless you're intimately familiar with how X11, windows managers, etc. all play together (which shouldn't be necessary to use a DE in 2021), this is true only if:

  1. You use a script (the 2 major ones I'm aware of are instant-workstation and desktop-installer)
  2. That script is up-to-date
  3. The packages that script installs are:
    1. up-to-date
    2. actually support your hardware

It has been my experience that neither 2 nor 3 can be guaranteed.

You should learn how X11, windows managers, etc. work

Nobody has time for this when macOS, any of the gazillion Linux distros with working DEs, OpenIndiana, and Windows exist.

FreeBSD is an OS for professionals

TIL professionals apparently have a lot of time to waste.

If you don't know C, don't use FreeBSD

So eventually no one will use FreeBSD (ever heard of Rust?) Got it.

Discussion (2)

Collapse
darkain profile image
Vincent Milum Jr

This is quite the angry rant, especially considering desktop environments are one of the hottest topics among FreeBSD developers right now, including literally just yesterday talking about what it would take to build a graphical installer.

The FreeBSD forums do not encompass the entirety of the community. Additionally, it looks like that poll was about creating a dedicated distribution, which admittedly is something the majority of FreeBSD users are NOT fond of, but for reasons entirely different than you describe. Linux has become a very fractured set of incompatible ecosystems, whereas FreeBSD is doing what they can to avoid this issue. So instead of creating a distro/fork of FreeBSD, discussion is instead around how to best create a single install media that encompasses both desktop and server users together.

As far as drivers go, before Linux hit the big time in the server world, the story was exactly the same there, too (and still is to a certain extent with various drivers). That's not a core team issue on either kernel, that is a hardware vendor issue. Developers cant magically make and support drivers for hardware they have know documentation or knowledge of, or having debug versions of that hardware at their disposal. That is not an easy problem to solve from outside the vendors themselves making drivers.

Collapse
jdrch profile image
jdrch Author • Edited

desktop environments are one of the hottest topics among FreeBSD developers right now, including literally just yesterday talking about what it would take to build a graphical installer.

Link?

The FreeBSD forums do not encompass the entirety of the community.

I would think it's a pretty good representative sample. Also, the general attitudes I've observed on the forum are the same on r/freebsd, r/bsd, and BSD Telegram groups.

was about creating a dedicated distribution, which admittedly is something the majority of FreeBSD users are NOT fond of

It seems to be the only way to deliver a DE that isn't broken by major version updates. Not to mention it's also the only way of getting a DE out of the box.

Linux has become a very fractured set of incompatible ecosystems

Only if you view Linux through a Unix lens. On Linux, the compatibility layer is the Linux kernel itself.

FreeBSD is doing what they can to avoid this issue

Which is a losing battle for an open source project. BSD already fractured into OpenBSD, NetBSD, and DragonflyBSD, in addition to FreeBSD itself. Trying to prevent an open source project from being forked or splintering makes as much sense as trying to fight the wind. IMO the only thing FreeBSD's devs have ensured by doing this is that Linux sees the vast majority of 3rd party developer attention.

discussion is instead around how to best create a single install media that encompasses both desktop and server users together.

So integrate the DE Into the distro? That's what the people asking about FreeBSD desktop distros want. The reason they're asking about it is the FreeBSD project itself is moving far too slowly on this.

Also, Debian is a fantastic example of DE-agnostic, server-friendly distro. FreeBSD should just copy what they do.

That is not an easy problem to solve from outside the vendors themselves making drivers.

Yet OpenIndiana, which has an even older codebase, worse documentation, and less manpower, manages to do it just fine. My issue is not necessarily that drivers aren't yet up to snuff, but that FreeBSD greenlit 13.0 for RELEASE in full knowledge of that being the case. No one would have been hurt by just waiting for all the GPU driver ducks to fall into a row, and doing so would have been in keeping with FreeBSD's "slow and steady" philosophy anyway.

The face that 13.0 was released with things being the way they are tells me the core dev team doesn't truly care about the workstation use case, despite whatever else they claim. Actions speak louder than words.

Forem Open with the Forem app