FreeBSD's quality implementation, quality documentation and overall sane configuration / management should be apluaded. There are so many little things that make using it joyful, like the ncurses TUI for configuration options when building packages from source.
I have used it for servers and NAS/ZFS/Samba applications for over 10 years and it's been exceptionally solid. But these days I've moved over completely to Debian systems now that OpenZFS 2.x branch is pretty mature and probably won't go back and it's due to the package management aspects.
Sometime around FBSD 10.x the package system moved to a rolling release which means if you don't keep your machine up to date you eventually can't get binary packages for whatever FBSD version you're on which seems like a sadistic thing to do. A server that works fine but one where you might need to install some random utility suddenly breaks in 20 different ways if you enter the depths of trying to install said utility on modern FBSD.
I thought my understanding of this was broken and reached out to FBSD devs on IRC and they confirmed that it's basically a rolling release model these days.
With Linux distros like Debian after development on a version ceases (i.e 10.x) apt-get still works but you may not get the latest or greatest, bug fixes or security fixes. But if you need something and it's in the repository you can at least limp along until you bite the bullet and do a major release upgrade, assuming you need the latest/greatest.
I know everyone's experiences here will vary but I've had very little breakage going between major version of Debian, but with FBSD too many things would break when doing a major release upgrade.
Say you install FreeBSD 12.1, you can keep your package system using the 12.1 package set forever. No updates will be available. But they'll always work.
In /etc/pkg/FreeBSD.conf you will find something like this:
> url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
Assuming using amd64 that maps to:
https://pkg.freebsd.org/FreeBSD:12:amd64/
There you can see there are "release_X" sets that map to 12.0 12.1 12.2 12.3. Again, no updates will ever be published on those but they will be guaranteed to continue working so long as they don't get deleted.
The FreeBSD community just doesn't have the manpower (of volunteers) or willpower to maintain what you're asking for.
My understanding is those files for previous versions go away so you can't reliably get packages for older versions even if you "pin it". If I'm wrong, please let me know, I would like to be wrong.
I don't know what volunteer / manpower is needed to just keep files around but storage and bandwidth is definitely an issue.
I do agree that FreeBSD tends to delete stuff the second that it goes EOL. The ports project is the worst violator of this. The ports tree takes manpower to maintain and keep building. The mirrors for packages use very large donated systems and bandwidth (AFAIK) and don't have as much pressure to delete old packages.
>> I know everyone's experiences here will vary but I've had very little breakage going between major version of Debian, but with FBSD too many things would break when doing a major release upgrade.
I encounter much the same in Debian/Ubuntu systems on major upgrades too. It all depends on what you are doing, and what the port maintainer has coded to deal with upgrades. If the port maintainer has written scripts to deal with moving old schemas to new ones, great. But that is far from universal. Sometimes FreeBSD does it better, sometimes Debian does it better.
Much more often than not, on FreeBSD or Linux, it usually is simpler to roll out a new machine and roll your data onto it to test. Otherwise I get headaches of incompatibility for either system for what I tend to do.
Doing a quick compare with the 12.1 Release notes - https://www.freebsd.org/releases/12.1R/relnotes/ - I will speculate that the 13.1 Release Notes are not a finished document, and quite a bit more will be added before the April 26th (current schedule) "final" Release of 13.1.
From the original post, "Please note, the release notes page is not yet complete, and will be
updated on an ongoing basis as the 13.1-RELEASE cycle progresses."
I'd LOVE for BSD to be a good alternative for daily use to Linux. But it's simply not. There's more and more stuff that is Linux only nowadays (wayland, gnome, several drivers, power management, wifi, Steam and proton... to name a few, very important ones)
What do you mean by "BSD"? As I'm sure you know they are not distributions of the same underlying operating system.
FreeBSD has supported Gnome for years for example. Wifi drivers are not Linux-only either AFAIK they just take time to get ported from Linux (or sometimes NetBSD) to FreeBSD.
While it's true that FreeBSD isn't as easy a desktop system as Ubuntu is, it sounds like some (but definitely not all) of your reasons are a few years out of date.
I'm kinda glad it isn't, that would be more fragmentation and BSD has a very different philosophy.
Probably best to not try to make BSD into modern Linux which is basically FreeWindows. I wouldn't want to use a BSD that BSD people like any more than they'd want to switch to Linux, it seems they are different for a reason.
I wish well to projects such as this, however I rarely engage – testing and feedback – because the focus on Apple keyboards is too much for me.
(I taught myself to use the keyboard in a very different way when I switched away from Apple after twenty-something years. I don't intend to un-learn that switch.)
FWIW Steam, Counter Strike: Global Offensive, and Dota 2 all worked great for me on FreeBSD. The other things you listed are issues/have their own problems. No Docker is the showstopper for me.
Been using FreeBSD as my primary workstation since 2006, with a secondary Linux box for games. I’ve found FreeBSD to be a very viable and reliable alternative, but of course that depends on your personal needs.
This entirely depends on your use case. For many gamers, Windows PCs can't be replaced by a Mac, let alone Linux. Hopefully Proton/Wine will bridge that gap and maybe even be ported to FreeBSD.
There are lots of servers running Linux that could very well be switched to FreeBSD, and lots more that are locked into Linux due to the state of hardware drivers or the containers they're running.
If all you're doing on Linux is browsing the web and opening terminals, you could probably switch to FreeBSD without too much disruption.
I am not particularly interested in the above, except power management and wifi. I am trying GhostBSD as an alternative specifically because I am not interested in Gnome, Wayland, or Steam. I don't hate them, just don't care. I may go simpler and just use CTWM and cobble together a desktop environment.
I am genuinely curious what running these things on a BSD gets you that you can't get with Linux. Using a mainstream distro (like Debian or Fedora) gets you this without hassle.
Why BSD? Because I trust the competence of BSD developers a lot more than linux developers. Furthermore, I don't want to contribute to monoculturization of IT by stuffing the penguin into every single thing in sight.
The question rather is... why would anyone want to run linux when *BSD (and illumos) are available?
"Why BSD?" wasn't the question. I have already read a lot of the arguments about that particular question. If I were to generalize my question to ladyanita22, it would be, "Why would you want to run a BSD for Gnome, Wayland, Steam/Proton, and other generally Linux software, instead of running it directly on Linux where it is supported best?"
What does the user get out of running a BSD for Linux software that they can't get out of Linux? If you prefer BSD, then why not use software that is better tailored for BSD rather than software that requires porting and changing or removing all of the Linux specific bits?
The problem is that software used to be portable and worked well on !linux systems. Little by little majority of important FOSS development is heading towards linux-specific EEE, I feel, and that is setting a dangerous precedent...
As a follow up to add more context. Yes, the hassle of getting GNOME running on NetBSD or FreeBSD or OpenBSD has been more recent. GNOME used to be pretty portable, but then some dependencies on systemd specifics and other 'linuxisms' got injected into GNOME and now patches have to be written where patches didn't have to be written in order to run GNOME on the BSDs.
Wayland was working fine on FreeBSD last time I tried it. Gnome also had a port last time I looked.
Even steam has worked in the past under linuxulator, not sure if it does currently.
Edit: wayland not waylaid. That was genuinely autocorrect but it made me smile.
>> … KDE Plasma Wayland, which was working in September, is now broken. It’s not just my laptop, it’s on my workstation (AMDGPU), on the spare machine (Intel iGPU) and the laptop (Intel iGPU). I have chatted a bit with Plasma developers, but the debugging is on me, unfortunately.
If only the problem was just for desktop environments. Last week I decided to get into Jails and threw FreeBSD on my home lab server: an HP DL380 G7, which is enterprise level hardware from around 2011.
Even with powerd and speedstep support enabled, the fans were spinning close to full speed at idle. It sounded like an airplane taking off. I searched around and found that maybe I needed to get specific software from HP that was behind a paywall. So I gave up.
Instead I installed Alpine Linux (so tiny) on the server and its never been quieter; With zero extra config. I ended up playing with LXD instead of Jails.
Yeah the best thing about BSD is that it hasn't had a bajillion different idea people come in and implement the same thing a billion different ways. Would prefer it stayed that way.
Desktop BSD works. It's a pain to set up but you can get there.
Does FreeBSD have the equivalent of “-slim” in Ubuntu/Debian speak.
I see that NanoBSD exist but ~~(a) it looks abandoned and~~ (b) its target use case is routers, not general servers, because it creates an immutable base.
> "This script leverages FreeBSD build options and a minimum kernel configuration file to build the minimum kernel and userland to boot FreeBSD under jail(8) and the bhyve and Xen hypervisors."
Does that imply that OccamBSD cannot be installed on bare metal?
The opposite. OccamBSD is just small enough so that you can run a "full" FreeBSD installation in a jail, or start VMs with bhyve or Xen, and basically nothing else.
I tried this, but it results in an infinite loop of "The following file will be removed, as it no longer exists in FreeBSD" that asks to remove apparently all files from /etc, one by one.
Is this system in a jail? Have you already attempted an upgrade? If so you could rollback and start from scratch via # freebsd-update rollback; a reboot is needed afterwards.
"Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the freebsd-update(8) utility. The binary upgrade procedure will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. The freebsd-update(8) utility requires that the host being upgraded have Internet connectivity."
So you have to read the manpage of freebsd-update, understand it, and then find the version name in another document... After a while I think that this is it :
* https://www.freebsd.org/status/report-2021-10-2021-12/
* https://news.ycombinator.com/item?id=30635502