I found, exactly as I expected, that while FreeBSD has a distinctly BDSM flavour, OpenBSD drops the “D” and “M” parts and enforces working exactly its way.
Just some thoughts on the why, from someone having used FreeBSD quite a bit in the past (but not really so much anymore currently).
I’d argue that FreeBSD used to be a better desktop system than it currently is because of the initial setup. Once set up FreeBSD can still be very good, because of its extremely active porters community, that pretty much makes every other OS look like a joke on this front. Up to date, stable, quality packages are something nobody talks about when it comes to FreeBSD, but in my experience its by far their greatest for day to day usage on both server and desktop. The nginx package and its options alone leave every Linux distribution far behind.
In my experience people tend to recommend FreeBSD on the desktop essentially for the proprietary NVIDIA graphics cards drivers. And while for some that might be a requirement, if you are not even using their graphics cards that won’t matter anyways.
That leaves the incredible amount of ready to install software as the remaining factor. And again, this might not be what you care about, because all you do is use your browser, and an editor anyways, with all the games you like being supported anyways.
But beyond that I agree with others. You might be better off with a different OS/BSD. Even though I enjoy it not having some quirks Linux does. Like sound coming out the wrong device based on whether it was attached at boot and some other little things that tend to bug me. But you get that with other BSDs as well.
I think the majority of people using FreeBSD on the desktop on a regular basis either have an ancient installation or a set of scripts/commands to execute, be that one of the guides or something personal. So they are used to it. And there’s just so manygreat guides to get you started.
The reason might be that most FreeBSD users don’t use it on the desktop as their daily driver. From my interactions the people that do pretty much only work on ports. People that run FreeBSD on servers on the other hand tend to have some kind of setup scripts, images, etc. made already or see set ups as a one time thing not to care about. Just copy over configs and you are fine. On top of that there’s quite a few tools to define a custom installation for you you, also for desktops. For example some people install FreeBSD and then run pkg install -y desktop-installer && desktop-installer.
All of that might make better defaults a rather low priority for a large portion of contributors.
At least that’s my rationale. It would explain why FreeBSD has both criticisms like in the article and criticism overall when it comes to defaults. At the same time it manages to explain why OpenBSD (as well as DragonFly and maybe NetBSD) seem to do a much better job there, despite FreeBSD probably being the best funded - by companies that anyways have their custom versions of FreeBSD or just incorporate tools. Netflix, Apple, Sony, Juniper, NetApp, Trivago, etc. don’t really care about how FreeBSD behaves out of the box despite heavily relying on it.
I see similar problems in other open source projects, usually ones that are more “beginners only” or “customers only”, where the developers don’t really dog food their products. But with FreeBSD it’s very extreme, because a lot of potential contributors, and even user don’t follow what one might consider the standard way.
As for packages pulling in a lot of dependencies it’s a similar topic. FreeBSD has ports, which are highly configurable, but there’s also packages. So what a typical port would do is add options and set a lot of them to “enabled by default”. Sometimes like in the nginx example mentioned above there’s even multiple ports that are identical, with different default options, so different packages are being built.
This is yet another case, of how people use FreeBSD. If you have a serious setup you’ll likely run poudriere and have a couple of config options. On a server that might be build everything with Postgres 14 support, on a desktop that might be build everything with GTK or QT support and for example “Use sndio instead of PulseAudio”. Where Debian and its descendants package everything into dozens of packages FreeBSD makes everything an option.
And then there’s another cultural thing regarding “scaring away people”. Evangelism never has been a huge topic for FreeBSD. Quite the opposite, for a while people and companies were secretive about FreeBSD usage, as it was seen a competitive advantage. Of course for actual products you’d have to tuck on the license, for services not too much. And which macOS user here thinks about how every time they run grep it’s FreeBSD’s grep, every time they run docker a bhyve instance is started, etc.
I often get asked on the Reg why I don’t look more at server distros, or enterprise stuff. There are multiple reasons:
partly due to the very considerable difficulty in talking to PRs and marketing folks about this;
because I don’t have a testing lab available to me;
it’s a long time since I’ve been a sysadmin;
benchmarks and pricing comparisons are really irrelevant here, because those aren’t the bases on which such decisions are made;
TBH a lot of this would make very dull reading. When it comes down to it, any server Linux can do anything that any other can. There’s no useful way to grade by features; it’s FOSS, any of them has all the features.
Anyway, in summary, I don’t care about server stuff. It’s not very interesting to me, I lack the resources or time or specialist knowledge to evaluate it.
But desktops I can test. Here, there are real differences, and in places, big ones. Some distros are just startlingly bad at some everyday things, and, occasionally, others startlingly good.
I don’t see many reviews of xBSD so I thought I’d do some. I am a competent xNix user with about 35Y of experience. I have experience of about half a dozen different xNixes, counting Linux as 1.
Saying that…
I’d argue that FreeBSD used to be a better desktop system than it currently is
Well, that is startling. What changed?
Up to date, stable, quality packages are something nobody talks about when it comes to FreeBSD,
but […] its by far their greatest for day to day usage on […] desktop.
That is hard to assess. Frankly, I find the repos for mainstream distros like Ubuntu and openSUSE to be superb, and almost anything that is mainstream and FOSS is just there and just works.
These days, if it’s not there or it’s not FOSS, Snap or Flatpak probably make it very fast and easy.
Not on FreeBSD.
Last night, I discovered that I did not have nano or pico or joe or anything but rancid old Vi in FBSD13.1. I detest Vi. My preferred console editor, Tilde, isn’t in the repos.
So, there’s a fail straight out of the gate.
The nginx package and its options alone leave every Linux distribution far behind.
I know nothing of that. It’s server stuff; see above.
In my experience people tend to recommend FreeBSD on the desktop essentially for the proprietary NVIDIA graphics cards drivers.
Odd. Very easy on Ubuntu; fairly easy on openSUSE Leap. Can be a pain on Fedora. Is a pain on Debian etc.
Not sure why anyone would look to an xBSD for this, but please do enlighten me.
BTW, I strongly suggest you read my Register reviews on FreeBSD, NetBSD and OpenBSD to get a handle on where I’m coming from, because already, I think your view is wildly different to mine.
To me, your sentence I quote is equivalent to “people favour Morgan hand-built automobiles because they have wheels!” Well of course they have wheels. All cars have wheels. So what?
You might be better off with a different OS/BSD.
Um. I am guessing you are not aware, but I am the FOSS and Linux reporter for the Register. I’ve been using Linux for over 25 years now and have been writing about it professionally since the 1990s. I helped build the first customised cover-mounted Linux distro on a UK computer magazine, and wrote the accompanying 2-month multipage feature on it, about 25Y ago.
Before that, I mainly worked with SCO Xenix and SCO UNIX, but also AIX and Solaris a little.
Even though I enjoy it not having some quirks Linux does.
I always hear that from BSD enthusiasts. I have never understood it.
For me, all the BSDs are about 100x quirkier and weirder than even the most way-out Linux.
And there’s just so many great guides to get you started.
Google never found that one, but it directly reinforces my point about how all the guides you’ll find are weird, quirkly, and will refer to a version several years old and you have no way to tell what works any more.
For example some people install FreeBSD and then run pkg install -y desktop-installer && desktop-installer.
Then why the bloody blue blazes doesn’t the installation program even MENTION that?! How the hell am I supposed to know? My advanced psychic powers?
I see similar problems in other open source projects, usually ones that are more “beginners only” or “customers only”, where the developers don’t really dog food their products.
Strongly agreed.
But with FreeBSD it’s very extreme, because a lot of potential contributors, and even user don’t follow what one might consider the standard way.
That would indeed explain a lot.
As for packages pulling in a lot of dependencies it’s a similar topic.
I really don’t think it is. Installing a PDF viewer and it trying to install an entire desktop environment is not OK. That is a broken package IMHO.
Where Debian and its descendants package everything into dozens of packages FreeBSD makes everything an option.
This is directly falsified by the comment above, which you acknowledged.
Evangelism never has been a huge topic for FreeBSD.
Very true. I don’t think its community realises that right now it faces a make-or-break opportunity, though. Linux is going very mainstream now, to an extent that 99% of Linux users and vendors are totally oblivious to.
Chromebooks outsold Macs.
Chromebooks are standalone end-user Linux desktops and laptops. And while the pandemic gave them a huge boost because hundreds of millions of people suddenly needed cheap computers for working and studying at home, and that probably won’t happen again, nonetheless, something ITRO a quarter of a billion people now use Linux as their desktop OS.
That kind of Linux is influencing desktop Linux.
We are getting immutable-root, containerised Linuxes with apps delivered in bloated portable packages, run in sandboxes, that the user can’t change or alter in any material way. Old UI conventions are being ripped away, and a lot of users are very unhappy.
This time, since about 2019-2020, is the single biggest chance for FreeBSD that it’s ever had or ever will have. To scoop up those disaffected Linux users who hate systemd and snap and flatpak and all that.
But FreeBSD is, metaphorically, standing there oblivious, chewing the cud and gazing into space.
PC-BSD became TrueOS then got cancelled.
TrueNAS is oblivious to the fact that it alienated all the FreeNAS users because it doesn’t like to run from a USB key any more. Their sights are set on enterprise sales and they haven’t noticed that they have annoyed and alienated and driven away 100% of their desktop users AND their home-office free users.
FuryBSD was a good try. It’s dead.
I am not impressed at all by either GhostBSD or MidnightBSD. They will alienate more people than they attract, I think.
FreeBSD has another year or 2 to try to win over Linux users alienated by all the weirdness encroaching on Linux now. If it doesn’t, it will never escape its tiny niche.
I don’t think it ever will. It doesn’t care. It is what it is and you either meet in where it lives, or you can just go do something else.
The Hello System has a chance, a very small one. I really hope it succeeds.
I bet most FreeBSD users haven’t even noticed it, and can’t see any importance to it.
And which macOS user here thinks about how every time they run grep it’s FreeBSD’s grep, every time they run docker a bhyve instance is started, etc.
I am typing on a Mac. I am aware.
OTOH, most Mac users don’t use the CLI much. That’s a good thing. They shouldn’t have to. The original Mac didn’t even have one.
Most CLI type Mac users use Homebrew or similar extensively, meaning they replace the weird half-crippled Apple tools with Linux ones using a Linux package manager.
Also, macOS has its own unnamed hypervisor, which AFAIK is unrelated to bHyve.
Last night, I discovered that I did not have nano or pico or joe or anything but rancid old Vi in FBSD13.1. I detest Vi. My preferred console editor, Tilde, isn’t in the repos.
If you don’t like vi(1), FreeBSD also ships another editor in base that is very similar to GNU nano. See edit(1). I have to agree though that it is not easy to discover that it exists.
it’s very easy to find things if you know what they’re called and where to look
Both man -k and apropos are meant to search for commands that you are not aware of the name, but have a fairly idea of the keywords that would refer to them—in your case, editor.
You would have been capable to discover ee(1) using the editor keyword because you wrote (bold is mine):
[m]y preferred console editor, Tilde, isn’t in the repos.
Now, if you are not aware of apropos and man -k, that is a totally different class of problem, which I could simply advise you to address, especially when fiddling with the console is part of what you do for a living: in my experience, being able to find information offline is a enormously useful (and almost necessary) skill in the UNIX world.
I am aware of the ports collection. I was interested to see it’s now an optional install. I ticked the box, but I never needed it. That’s good. I am happy I didn’t need it.
If I am looking for an easy clean desktop OS, that means, for me, not having to compile any of my own software. I was using Linux in the mid-1990s. I remember building my own kernels, and not with any pleasure or nostalgia. I expect this stuff to just work, and to be in the repos, by which I mean 1 command installs a binary in the right place – wherever that may be, I don’t want to have to know – and then it is automatically kept updated forever.
I think this may seem like an odd attitude to FreeBSD habitués.
I don’t actually likenano or joe or pico. The opposite, in fact. I dislike them all, I just dislike them less than I dislike Vi or Emacs, which I loathe.
I like Tilde. Perhaps I should have looked in the ports tree for that, instead. I may still do that, if I remember.
Small follow-up (because I am listening and trying to learn here)…
No, I could not find Tilde in the ports tree.
I tried to install ee and got nowhere, and strings such as “ee” and “ree” are too short to search for – they return dozens or hundreds of hits.
It took a while to find out it’s already there. That was… puzzling.
Anyway, yes, it’s easier, but I’m not sure it’s going to be much quicker.
I am put in mind of the Reg review comments: that BSD users were baffled I’d use Ctrl+cursor keys to move around. They’d never heard of that before, apparently.
Ctrl+cursor word-by-word movement has been part of the CUA standard for over 30 years now. This is a standard so old, it’s even older than the ancient “Unix means it uses AT&T code” canard.
IOW it predates Novell buying AT&T Unix Labs and giving the trademark to the Open Group… in 1993.
The basic CUA keystrokes are honoured by, and work on, basically every GUI editor on every xNix OS, as well as on Windows and macOS. They are not one rival standard: they are the standard and have been since the late 1980s.
I have no idea what keystrokes FreeBSD uses to move word-by-word around the command line, but it’s not the standard one. Maybe it is some strange Emacs-ism or something. No idea.
The reason I like Tilde is not because it’s easier or simpler: it’s because it works with the editing commands that have been part of my muscle memory since about 1989. That doesn’t apply to Joe, Nano, Pico etc. and it doesn’t apply to EE either.
So, good to know, but not actually much real help. :-/
Just to be sure, these are speculations based on just catching up every now and then.
Well, that is startling. What changed?
I am not completely sure, but some thoughts are that Unix-like operating systems consolidated to Linux and Linux desktop being a niche FreeBSD became even more a niche. I also think a lot of people somehow got happy with macOS. While it was somewhat common for a lot of open source software to work just fine on any POSIX system, I think a lot of work now has to go into making things work well on FreeBSD, so that’s what people focus on.
Maybe also hardware got a lot more complex? Raising the bar. And while many companies nowadays also write Linux drivers, very few write them for BSDs (most stuff like enterprise network cards, etc.). Or take bluetooth, which is annoying both on Linux and the BSDs.
I am not sure but the community also seemingly shrunk, maybe as a side-effect. Probably lots of tiny things. Take video games. Nowadays Steam works fine on Linux, but FreeBSD requires Wine, OpenBSD doesn’t support it, and even if it did it wouldn’t work for 32bit stuff. So now Mono/XNA/… based games, like Stardew Valley, Northgard are what works on OpenBSD. Or take video streaming. Kind of ironic that Netflix won’t work out of the box on the system they use, because of DRM/Widevine which is also something that hinders browsers (and everything Electron based for example).
There’s also a ton of technologies that essentially are anti-porting. Software depends on one of systemd’s “parts”, or the default way of a service is spinning up a Docker container, or that current trend of using flatpak and snap.
What also simply went wrong is some desktop BSDs, like PC-BSD/TrueOS, which a long time ago was certainly on par with Linux distributions in the same space, but somehow ended up experimenting a bit too much, making risky decisions that didn’t really work out causing it to now be dead. DesktopBSD also stopped. But I guess that space is now recovering, as there’s some Desktop BSD projects. So maybe it will get better here.
Anyways, all of that I think simply made developers drop FreeBSD for macOS, which is close enough with its userland (base utilities, bhyve, dtrace, etc.). Since they weren’t too “religious” about OSs in first place they might just have switched, which means there’s fewer people that care about FreeBSD on the desktop. And those who do are fine with how it is for the reasons mentioned in the previous post.
That is hard to assess. Frankly, I find the repos for mainstream distros like Ubuntu and openSUSE to be superb, and almost anything that is mainstream and FOSS is just there and just works.
I can’t talk about openSUSE, but I find Debian and Ubuntu a complete mess. Software is either ridiculously outdated (years), has been patched to not work, has non-default flags, and you need a ton of third party sources be it for postges (and postgis), for nginx, for your programming language of choice, etc. Good luck when they are not compatible, and good luck when they drop that service. Also this can be very annoying to debug. I’d argue that it’s a huge part of why Docker is successful as a workaround. And probably also why people use horrible hacks like snap and flatpak.
Odd. Very easy on Ubuntu; fairly easy on openSUSE Leap. Can be a pain on Fedora. Is a pain on Debian etc.
Not sure why anyone would look to an xBSD for this, but please do enlighten me.
I think you misunderstood me/I wrote that badly. This was to say why people are being told to use FreeBSD over other BSDs, like OpenBSD with which they might be more happy in other regards.
Um. I am guessing you are not aware, but I am the FOSS and Linux reporter for the Register. I’ve been using Linux for over 25 years now and have been writing about it professionally since the 1990s. I helped build the first customised cover-mounted Linux distro on a UK computer magazine, and wrote the accompanying 2-month multipage feature on it, about 25Y ago.
Before that, I mainly worked with SCO Xenix and SCO UNIX, but also AIX and Solaris a little.
So? I am not sure what you mean by that response as it doesn’t seem to have anything to do with the sentence you are quoting. You obviously are better off with a different OS since you don’t seem to be happy with your FreeBSD experience, or am I completely misunderstanding something?
I always hear that from BSD enthusiasts. I have never understood it.
For me, all the BSDs are about 100x quirkier and weirder than even the most way-out Linux.
I gave you an example that you seemingly just ignore, without giving a single counter example. I also wouldn’t consider myself a BSD enthusiast, as I am writing this on a Linux system. Also does “all the BSDs” include macOS and iOS?
Anyways, why not use Linux then? I don’t understand where you are heading with that.
On ChromeOS fanboying: I also think ChromeOS is really good. I think a major part of it is that it basically ignore the Linux world, because it has resources to do so. It just uses Linux for having a (kernel) interface that much software already targets. It’s a bit like with Android. By that standard FreeBSD is widely successful because of macOS, iOS and Playstations, Enterprise grade routers, Netflix, etc. But I guess that’s not what you talk about.
This time, since about 2019-2020, is the single biggest chance for FreeBSD that it’s ever had or ever will have. To scoop up those disaffected Linux users who hate systemd and snap and flatpak and all that.
Like you are not interested on servers, I am not really interested in FreeBSD getting users.
FreeBSD has another year or 2 to try to win over Linux users alienated by all the weirdness encroaching on Linux now. If it doesn’t, it will never escape its tiny niche.
How so? Why one to two years?
The Hello System has a chance, a very small one. I really hope it succeeds.
I bet most FreeBSD users haven’t even noticed it, and can’t see any importance to it.
I’d think most FreeBSD users interested in FreeBSD desktops enough to read news on the topic did notice it. It was widely mentioned. I am no such user and still read about it many times.
But: Why is it important to FreeBSD users? Do you mean desktop users? Even then, how is it important to them?
Also, macOS has its own unnamed hypervisor, which AFAIK is unrelated to bHyve.
Don’t really know about that. I was talking about Docker, which is the only instance where I’ve ever used a hypervisor on macOS. Also I was talking about FreeBSD users and developers using macOS for their desktop need saying that they don’t really have a reason not to.
BTW, I strongly suggest you read my Register reviews on FreeBSD, NetBSD and OpenBSD to get a handle on where I’m coming from, because already, I think your view is wildly different to mine.
I am not really interested in any reviews on them. I don’t think I’ve really shared my views on these OSs or at least it wasn’t my goal. I completely agree with the article, which is why I don’t use FreeBSD on the desktop.
I do not use Docker – again, server stuff, don’t care – but I wouldn’t be surprised if it used the “official” tool. I don’t know, though.
You don’t care, but just as a note: Docker on macOS uses xhyve, which is bhyve for macOS, because it’s not Linux, requiring it to use a hypervisor. Fun fact, FreeBSD provides a Linux API.
I am honestly a bit unsure where you wanted to head with your response. I hope I somehow clarified something, because I wanted to add some context to the problems you mentioned in your original article and follow up on the bits where you asked questions.
Without going into a quoting frenzy, I will try to answer your general questions.
You gave the impression that there were specific changes which have made matters worse in recent versions, but you don’t seem to have any. That’s disappointing.
I agree with you about desktop BSD distros overreaching and thus failing. New desktops, new packaging formats, etc. Bad plan. The path to success is generally to change the minimum you can, and take as much advantage as possible of others’ efforts.
I find it interesting that you call projects like Ubuntu and Debian – arguably the two most successful non-Windows free OSes there are or have ever been – a total mess. I’d like to hear stuff that is more specific. They work great for me. Ubuntu has been my main OS since the first version and has served me very well indeed.
As for my talking about experience with other OSes, what I was trying to get at was very simple: I’m not a newbie, I’m an experienced professional with pretty broad experience at that. Whenever I criticize any of the BSDs in any public article or blogpost or whatever.
… I get upset BSD fans saying I’m a fool who doesn’t understand anything. I am not. I suspect I may have broader xNix experience than anyone who has ever attacked me on this.
I am not evaluating FreeBSD as my potential new OS. (And no, I am not comparing it directly to any commercial variants or products that use it.) I was and am attempting to evaluate it as a potential free OS for general computer users. Whether it’s right for me is irrelevant. I am trying to point out and highlight weak points, and it saddens me that I am apparently failing to get that across.
You say that you’re not interested in getting users, which is exactly the same thing that I hear from Vim fans when I criticise Vim, or from Emacs fans when I criticise Emacs.
The core point that this response misses is that any and every FOSS project lives and dies on the health of its community. All projects need new people coming in, trying it, liking it, and sticking with it, whether they fix the code, or hunt bugs, or document it, or talk about it, or simply quietly sponsor it and get other people to do those things.
Software needs users. Not customers, if it’s free, but users who like it and want it to survive. No user community means certain death, and a rapid transition to being a fossil, maybe occasionally run in a VM for nostalgia.
Communities need to grow, because if they don’t, then their members age out and die, and then the software dies with them.
Currently the other 2/3 of the human race is coming online, the digitally disenfranchised billions in Africa and Asia. Meantime, the developed world is aging and childbirth rates are dropping – globally, a good thing for us all! – but bad news for old software that is beloved and maintained by aging people.
It didn’t get many comments or shares. That’s a shame. This is a vital part of the Linux market, and I suspect that Ubuntu now has many many more users in China than in all other countries put together – and it doesn’t know, and it doesn’t take anything much from that distro.
For example, Ubuntu Kylin will if given a disk to itself install in a complex setup with a boot partition, two root partitions, and a separate data partition. I have not been able to find out much about this but I think it is in an attempt at fault-tolerance; Deepin Linux, the leading Chinese distro, does the same.
ChromeOS does this, which is one reason it’s almost impossible to dual-boot it with anything else. It’s very important tech but mainstream Western distros are completely ignoring it.
In a few years, all the big commercial distros are probably going to move to this sealed-down model, where the root filesystem is read-only, apps are in sandboxed modules layered on top, and you can’t change anything you don’t like. SUSE is doing this with MicroOS, Red Hat with Sliverblue and Kinoite and the remnants of Project Atomic, Ubuntu is doing it with Ubuntu Core. Smaller desktop distros like Endless OS are in fact leading the way.
Once this is normal and accepted and just how Linux works, that will soon be what everyone expects, and there will be no selling point any more in an OS where it isn’t true and it’s not like that.
That is why I say FreeBSD has a critical window of opportunity now, one which will soon close. Pick up some of the influential Linux migrants now, while it’s still a comparable offering, and before it’s too different and too weird and the window is gone.
I get upset BSD fans saying I’m a fool who doesn’t understand anything. I am not. I suspect I may have broader xNix experience than anyone who has ever attacked me on this.
That’s quite reasonable. Update: Sorry, I misread that as, “I get upset by BSD fans…”.
I am not evaluating FreeBSD as my potential new OS… I was and am attempting to evaluate it as a potential free OS for general computer users.
I think the controversial thing is that you aren’t just evaluating it as an OS for general computer users, you are also quite strongly saying that it should be an OS for general computer users. When you write things like this:
I feel that these teams need a bit of a kick up the arse, TBH, to be forced to see and register and acknowledge their context and that others don’t share it.
You are saying, in quite a strong way, that FreeBSD developers have the wrong goals and should be forced to change their goals to align with what you want. That’s obviously going to rub some people the wrong way!
Your justification, if I understand you correctly, is that if they don’t realign their goals then the project will fail. You seem to think that if FreeBSD doesn’t attract a bunch of Linux exiles, then FreeBSD will collapse. But it really isn’t clear why that should be so. Why can’t they carry on doing what they do well now, and leave the Linux users to their ChromeOS/Android fate?
Comments like this are why I try to engage with readers, why I read and respond to the comments on my Register articles, and why I post my blogs here.
Because it’s fascinating to me to see how badly people misread what I say, and it’s educational. I am trying to learn from this. Trying to write less ambiguously, to learn what people don’t see or get wrong, so I can avoid doing it again.
You have got my comment and indeed my blog post – and note, not an article, ‘cos I am off work with COVID and don’t have much focus or concentration at the moment – almost totally backwards.
I am not saying FreeBSD should be anything. I am not saying it ought to change because I say so. I am not saying heed my infinite wisdom and thee shall profit thereby. Nothing like that.
What I am saying is that this is, somewhat to my surprise, actually a pretty competent desktop OS.
It’s not billed as on, it’s not sold or described as one, and there is bugger all help in the installer in making it into one. But if you are determined and don’t give up, it’s significantly easier than it was just a few versions ago.
It offers a good selection of apps, and once you find the magic incantations to install a few things, a tonne of handy extras come in with them. So, by installing just half a dozen packages, not only do you have those apps, but you also have things like volume controls and media keys and a JVM and so on. That you can easily add a network icon to your panel.
I am not saying “FreeBSD needs to do all it can to be a better desktop OS.”
That is the opposite of what I am getting at, which is:
FreeBSD is actually a surprisingly capable desktop OS, and if only there were a few more easy steps in the installer, and a few more hints, this is something that could be accessible and useful to a lot more people.
A very common way for people to learn a new OS is to make it their desktop and do their ordinary desktop stuff with it for a while. That is a great way to get familiar with it.
As such, this is something it would really benefit the installation program to acknowledge. Give it something like Debian’s tasksel, and make one of the options a tool to install and configure a graphical desktop.
As it was it took me about 2-3h of work and Googling and manually installing packages, and there is no need for that in 2022.
Some modest changes, to help people a bit further with the installation process, and this OS could win itself tens of thousands more users and some of those people will hang around and contribute. It would be a net benefit for the OS.
If you install a desktop, then that should pull in X.org automatically. When you’ve got a desktop, there should be an .xinitrc written automatically for every user account. Sudo ought to be there as standard, preconfigured with the appropriate groups – I mean, Octopkg even expects it!
I am not talking about massive changes that are needed for other’s benefits.
I am saying that for FreeBSD’s own benefit, the install program should not just build a basic text-only OS and then dump you at a shell prompt, because it is not 1992. That was 30Y ago now.
A few basic options – bare server, LAMP server, fileserver, graphical desktop – and when the user picks one of them, leave them with a working ready-to-use OS, complete with SSH configured and running, some seerver packages installed with default configs; or, if they pick a desktop, give them a basic desktop in which they can read the friggin’ Handbook.
I just recently reviewed MX Linux and to my own amazement I gave it a rave review. They have a good handbook, and they’re proud of it, and you know how you can tell?
Because they put a link to it right there on the desktop.
On my shiny new FreeBSD box, there is no visible sign whatsoever of this magical document you are all extolling. No icon, no menu entry, no login prompt that says “welcome to your first login, type handbook to RTFM.”
These are not big things. These are not difficult to do.
The hard work is already done.
What is left is just sweeping up the sawdust, throwing down a welcome mat and leaving a note to tell people where the mains switch is in their new house.
I should not have to install my own graphics drivers! That is horrendous! I should not have to write my own lines into init scripts! When I install a package, that should just happen. If there is some deep philosophical objection, then ASK and if the user keeps pressing Return, just do it.
Well, first of all, thank you for a very reasonable reply to a comment that apparently completely misunderstood yours!
I am not saying FreeBSD should be anything. I am not saying it ought to change because I say so. I am not saying heed my infinite wisdom and thee shall profit thereby. Nothing like that.
That is great. I’m sorry that is how I understood your comments (not the original blog post, just your comments here).
Because it’s fascinating to me to see how badly people misread what I say, and it’s educational. I am trying to learn from this. Trying to write less ambiguously, to learn what people don’t see or get wrong, so I can avoid doing it again.
In that spirit, here are a few things you wrote that made me think you were saying that FreeBSD ought to change for the sake of its survival:
I don’t think its community realises that right now it faces a make-or-break opportunity, though.
FreeBSD is a rival to basically every hardcore Linux distro out there. It needs to compete with those, because that’s where the mainstream is now.
No users means no money for developers. No developers means you die.
I am getting used to it now, TBH. I have a long way to go; there were well over 20 years between my 2 main full-time stints at doing this.
FreeBSD doesn’t have to do anything.
But right now is a big chance for it, I think… if it just moves a bit closer to the way things are done on the Linux side of the fence.
If it doesn’t do it: well, I would not bank on a healthy future, but then, I don’t for any of us; see elsewhere in the thread. It may just trundle along as it is.
Or, maybe, the Hello System will somehow prove to be a big hit, and it’ll gain lots of new users that way. Who knows?
But there is a chance. Inasmuch as there’s a mainstream BSD, it’s FreeBSD. It doesn’t have the political agenda I see in NetBSD. And it’s so nearly there that it is frustrating to see that the remaining gap is small.
If it had ended installation by asking if I wanted a modern editor, or if I wanted a GUI, and told me what to do next, that would have helped a bit. But nerp – and no mention on the web links I found either.
And it’s so nearly there that it is frustrating to see that the remaining gap is small.
I completely understand that. I’m sorry that I misunderstood what you were saying: I’ve re-read your comments and I guess I just emphasised the wrong things in my interpretation.
I suppose once I thought I understood what you were saying, I read the rest in the light of that (mis-)understanding.
Or, maybe, the Hello System will somehow prove to be a big hit, and it’ll gain lots of new users that way. Who knows?
I wasn’t aware of the Hello System before your comments. I don’t pay a lot of attention to FreeBSD - is the Hello System really unknown among FreeBSD users? From a quick glance at their docs, it looks like it answers (or, at least, is intended to answer) most of your complaints.
Anyway, in summary, I don’t care about server stuff. It’s not very interesting to me
In my defence, I’m the opposite. I don’t really care about desktop stuff. It either Just Works™ or I’m too old to waste my life configuring things. I’ve used Linux since 1996 but it’s always been shit as a desktop: I’m writing this on a Chromebook :)
And I see the poor tone and phrasing in my comments now, too.
As for wanting low-stress computing… I can totally understand that.
I have opted for the easy life where computers are concerned for a long time now. It was around the turn of the century, when I saw the needless but mandatory bloat in WinXP on the desktop (themes, video editors, etc.) and the blasphemous horrors of Active Directory on the server side, that I switched to xNix full time.
I ran Caldera Open Linux, then SUSE, then Ubuntu. I still run Ubuntu now. I never liked GNOME 2 much – mainly for its poor handling of vertical toolbars – so I liked Unity and I still use it. Since it’s not available on any other distro, for now, that’s kept me on Ubuntu.
I’ve worked for both Red Hat and SUSE, where Ubuntu and Unity weren’t really options, so I tried everything out there and settled on Xfce. It needs a bit more tweaking for me but once that’s done, it’s good.
But there is a big difference between playing around with an OS to try to get a feeling for it, on a spare machine or in a VM, and having to fight with it to use it as your primary OS. The evaluation part is fun, for me.
The sad thing, for me, is that Ubuntu reached a point where it was pretty damned good, quick, just went on and just worked. Then they lost focus. The downfall began with the disastrous HN thread which led to them cancelling all their innovative stuff and just copying RH.
https://news.ycombinator.com/item?id=14002821
Mark Shuttleworth failed to achieve his goals: although Bug #1 is fixed: Windows is no longer the automatic #1 OS – macOS and ChromeOS displaced it, not Ubuntu.
Ubuntu failed to make big headway on mobiles and tablets, too.
So he’s given up, AFAICS. He wants to float the company, and the way to make money from Linux is servers. So Canonical now focusses on servers, and the desktop is suffering from neglect.
Red Hat is flailing as it always has, and its nasty corporate culture of meritocracy (a word originally intended as satire), NIH syndrome and neophilia is making a mess of desktop Linux. Ubuntu is distractedly copying it.
SUSE bought a container company, so now, everything must be containers.
There isn’t much direction or leadership or focus on desktop Linux any more, outside of Google, which nobody can be bothered to copy. There are some good projects. I like Alpine, SpiralLinux is impressive, as is Garuda. The one I might actually use myself as my main offering is MX Linux.
But they’re mostly small or one-person efforts, or they lack corporate backing, or they have no server offering, and generally are not laying down a big bold path for others to follow.
But currently, it is much much too hard to install
I completely agree, for desktop uses. Even for server uses, it’s taken a long time to get Azure images with ZFS support, so I ended up using Poudriere to build my own (which works well… as long as you already have a FreeBSD machine to start from).
There used to be an ‘instant desktop’ metapackage. I’d love to have a few of these things around but even that doesn’t really help with some of the bits of core config. There was discussion many years ago about making the core system configs all use libUCL. That would be fantastic because libUCL supports configurations that have overrides and doing priority-based merging. This would make it trivial to have things like the xdm / gdm / kdm / whatever ports automatically install a file that got merged with /etc/ttys to add this as a console configuration.
I came across several mentions of Poudriere in my efforts last night, but nothing clearly tells me what it is.
This is a part of the culture of xBSD, I think.
Operating systems are cultures as much as software: they are way of doing things, with their own customs and traditions and so on. When I talk to xBSD people about things it can’t do, or doesn’t do well, they are often baffled. I have expectations, ones I think are reasonable; but they are not xBSD expectations.
The Red Hat world is very much the same; for RH people, it is the world, everything else is a rounding error and insignificant. This causes a strange perspective, and wow do they get angry when it’s pointed out to them.
Debian, equally.
Ubuntu was a breath of fresh air: all it assumed was basic PC competence, not even much understanding of Windows. It wasn’t the first – Caldera managed the same; Corel LinuxOS attempted it but didn’t get the momentum.
When writing docs, and help pages and installation-program screens, accept and acknowledge that you’re a minority, niche player, and explain clearly, in non-your-OS specific terms, what it needs and what it does.
The comments on my Reg articles on NetBSD and FreeBSD are hilarious examples of this blinkered attitude. “What does he mean there was no command-line editing? Of course there is!”
Then the slightly more perceptive read on, and go “oh! He was trying to use cursor keys. How strange. No, that doesn’t work, of course not.”
I feel that these teams need a bit of a kick up the arse, TBH, to be forced to see and register and acknowledge their context and that others don’t share it.
This could be a contender, but not with its current attitude.
Poudriere is a BSD-licensed utility for creating and testing FreeBSD packages. It uses FreeBSD jails to set up isolated compilation environments. These jails can be used to build packages for versions of FreeBSD that are different from the system on which it is installed, and also to build packages for i386 if the host is an amd64 system. Once the packages are built, they are in a layout identical to the official mirrors. These packages are usable by pkg(8) and other package management tools.
That’s it. It’s a tool that builds packages. It can also, in recent versions, build the FreeBSD source tree and construct disk images, though that support is fairly new and is marked experimental. The focus of this text is a bit weird (not sure why you care it’s BSD-licensed or if you should be expected to know what a jail is, though it does explain what it’s using a jail for, so maybe you don’t need to know what it is) but it seems to be clearly telling you what it is.
The FreeBSD Handbook is written as the introduction to FreeBSD. By the time you get to caring about Poudriere, you’ve reached a point where you’re the kind of person who wants to build custom packages themselves. I don’t think it’s unreasonable that the documentation for that is somewhat unapproachable for someone who has very little computer knowledge because we’re definitely doing something wrong if a novice user ever needs to run Poudriere.
The installer, in contrast, is still pretty rubbish and it sounds like the setup experience for some modern WiFi cards and GPUs is awful. That’s definitely something that the project should improve. The fact that you had to find answers to these questions in the forums, rather than in the handbook, in particular is a problem.
On the other hand, the last time I ran the installer was via a serial console on an Arm Morello development system and it worked very well there, without needing me to do anything other than stick a USB disk in the machine and reboot. I have no idea how I’d install Ubuntu (or Windows) on a headless machine with only a USB serial device as a console.
TBH, no, my primary go-to source of info when testing OSes and distros is Google. Good docs are rare – I speak as a former professional writer of such docs – and in general, if the docs are good, people will mention them and link to them and so they show up on Google. This is true of SUSE SLE and RHEL, for instance – although RH being RH, you generally get a message to log in to your account, and if it’s a free account, you don’t get to read it.
So I Googled poudriere when you mentioned it, and I got:
I have no need to build packages, and I consider it a small win that the Ports system is now an optional install and I never needed to go near it. I mentioned, I think, that I got a complete OS up and running without compiling anything at all, which is, IMHO, how it should be.
This upset the NetBSD folk when I reviewed it recently. I am unrepentant. If you can’t find it on Google, then effectively, it is hidden, and that’s no use to me or to most people.
BTW, I’m not disagreeing with you in any way here. I think all your points are solid; I’m just trying to explain why no, I didn’t read the handbook. I submit that in general, nobody does RTFM – and that’s why there’s a universally-recognised invocation to do so.
I wonder if this is part of the “cultural baggage” of FreeBSD, or sort of a community effect. FreeBSD is very much from an age when offline installs were common, there was no such thing as Google, and documentation was generally a prerequisite of distributing software. That FreeBSD has a handbook was pretty much the first thing you found out about FreeBSD and you usually had access to it one way or another (I think the first release with a handbook was one of the 2.x releases?). I haven’t really used FreeBSD in almost twenty years now, except for a brief stint around 9.0 and the occasional platform-specific bugfix, and if I need to configure something or whatever, my first reflex is still to check the handbook, rather than to Google it. (FWIW, because SEO and content marketing are such big things today, the results are often better, too ¯\_(ツ)_/¯)
TBH, yes, decades ago, that is how I did it, too. On a wired connection, with if possible a 2nd computer to hand with the docs open, or of course paper docs.
But it’s 2022 now. Things have changed. Also, my jobs tends to require me to produce 2 stories a day if possible, and if one of those stories involves evaluating a new OS, that means I have a maximum of about 4 hours to get it, install it, try it, and then write about it. Since the writing about it phase is half that, it doesn’t get long.
I don’t often manage to produce that many, but yes, it’s done in a rush. That is life in online publishing, I fear. But the flipside of the coin is that if someone is casually dabbling and trying out a new OS in 2022, they are not going to sit down and read hundreds of pages of docs first. To quote a wise woman, “ain’t NOBODY got time for that.”
So I aspire to be representative of the experience that someone smart, motivated and curious might have if they had an evening to spare and wanted to try something outside of Ubuntu.
I also run FreeBSD on a Thinkpad and didn’t understand why you found it so awkward to install while reading your article. However, this comment makes sense: I’ve been using FreeBSD for years and I know to look in the Handbook and manual pages, and sometimes the Wiki, because they’re well written. However, I can imagine someone using the installer and a search engine might struggle.
I suppose the installer could point out relevant documentation, but there’s a chance people would ignore it, and much of the installer runs offline.
Also, I use an ethernet cable when running the installer, perhaps because I struggled running it over Wifi in the past.
I feel that these teams need a bit of a kick up the arse, TBH, to be forced to see and register and acknowledge their context and that others don’t share it.
I’d argue the same goes for you.
This could be a contender, but not with its current attitude.
FreeBSD is a rival to basically every hardcore Linux distro out there. It needs to compete with those, because that’s where the mainstream is now.
Ubuntu has gone from a weird little outsider to the dominant Linux distro in 18 years because of a laser-like focus on being easy, simple, quick, asking as few questions as possible and delivering a good experience that can rival Windows, but for free.
That has won it a tonne of mindshare. If someone’s first experience of Linux when they were a teenager playing with an old PC was Ubuntu, then 1% of those people will be IT managers or directors a decade or so later, and if there’s a choice of free OSes, they’ll go for the one they remember.
That’s how a distro that set out to be an easy desktop found itself unexpectedly the leading server distro on cloud servers, and is now somewhat clumsily pivoting to embrace that.
Which has in turn left an opportunity for Google, a Hydra-headed company with little direction but a lot of R&D budget, to make an easier OS than Ubuntu, dodge the horrid fiasco of UEFI and the legacy mess of BIOS, and put out a cheap, dead easy, basic home computer that your grandma can turn on and get online.
And now it’s outselling Apple, and has many hundreds of millions of users, while Ubuntu doesn’t really know how many users it has but guesses at 20 million or so.
The year of Linux on the desktop came and went in about 2019 or 2020 and the Linux world didn’t even notice.
This is the market: free xNix-like OSes for x86 PCs, slowly moving to embrace Arm64 PCs too. That is the sea in which FreeBSD is swimming. OpenBSD is in a smaller pool, NetBSD is in a smaller pond still, and Dragonfly isn’t even on the radar AFAICS. This isn’t their problem, unless they choose to make it theirs.
What’s that got to do with being “a contender”? There are many operating systems that have a healthy user base and a secure team of developers that aren’t contending to be user-friendly home desktop systems like Ubuntu, macOS, or Windows.
From a mainstream-usage-courting perspective that does of course make sense. But surely there’s room in the world for people in niches doing what they like doing and not having to explain themselves to anyone else? I mean, if they tried to insist that everyone else outside their niches use their niche stuff, then sure, they’d need to make it externally comprehensible (or at least intelligible/interrogable) - but if they’re quite happily carrying on existing in splendid isolation in their niches, doing things their way, taking advantage of the niche adaptations they’ve evolved and talking to other niche-dwellers about their niche activities in ways understood only by fellow denizens who’ve spent time understanding how things work in such niches, then why shouldn’t they? Why should they be forced to recognise anything?
Relatedly, why does everything seem to have a to be “a contender”? What if it just doesn’t care about contending?
There is a sense of what Linux will turn into upon Linus’ exit. Looks like rule by committee. Somewhere between C++ and the Browser. Not claiming I know for sure but probabilities narrowing with developments over the years. You also have major national (and security) interests increasingly active and competitive in the Linux kernel. And I’m not talking about benign, at the moment, EU-like flavors here. So I wonder if the BSDs will fill a vacuum that Linux will leave behind on Linus’ exit.
Personally, the writing is on the wall and I feel some sort of retro nostalgia for some future BSD distro I never used. I tend to look every few months at FreeBSD. Searching for something I lost but actually never had. FreeBSD core people and advocates always leave a good impression on me. I never met one in real life though. I like what they have to say when they say it. They’re open and not grandiose in my experience.
For little-people like me to get behind FreeBSD to help take it to wider-use, branding would have to be appealing or at least benign to a wide-tent. To each their own, perhaps, and I’m not into forcing or pressuring people to do things like that. Maybe FreeBSD is okay with the status quo.
Decision makers that could spread FreeBSD into the corners and crevices of industry, government, and computing won’t take it seriously because of the current messaging. A Sheikh to an Indonesian technocrat to a Eurasiatic minister to a Main Street American enterpriser , or just the everyday landlocked person. These are all potential left-behinds (non-stakeholders) in a Linux Mega National Corp scenario. Many regions, not culturally like Silicon Valley, EU, or China, respectively, will race to become techno-opensource hubs in the future if Linux goes that way (and it looks like it).
So there are always forking possibilities to take it to a more universal and highly-funded level. It has to appeal to more than a unix hacker of a begone era, whom I’m fond of. A friendly-fork, like Vim and Neovim where they lift each others boats and don’t seek to break one another (to my understanding). Not just cosmetic - a contributor-stakeholder incentive model that propels merge requests.
Um. Your username is apt; TBH that is all so abstract that I can’t get anything much material out of it.
The few things I can seize on to…
Branding? Who cares about branding? I certainly don’t.
Non-European/American relevance… frankly, Linux does better there, because it has quite good support for non-alphabetic scripts and text entry and so on.
Fragmentation of Linux after Torvalds dies… frankly, I am not worried. The licensing is solid, the community is strong, and anyway, imminent civilizational collapse due to global warming is far more likely. If you’re not terrified of that, then you don’t understand it.
Thanks for the writeup. Some of those links are very informative. I have done quite a bit of work in the statistics of extremes, albeit outside climate, and I think part of the problem is that people do not understand qualitatively what changes in these distributions entail. Little changes in means can have disastrous consequences as rare events suddenly become much more common and their magnitude increases.
In my place we used to have 1 or 2 tropical nights per year (defined as minimum temperature > 16 °C). This was the average till early 2000s. During the last few years, we have a mean of more than 20 tropical nights per year! Due to the mild climate all year round, we are now getting colonized by aggressive Asian mosquitos. If the mean temperature changes a bit and or the shape of the extreme value distribution changes a bit, events that were expected once or twice per century become something that you now see every other year.
I think the amount of disruption to local economies is going to be pretty massive. The EU has released a report that estimates changes in agricultural land value, and it is daunting: https://www.eea.europa.eu/data-and-maps/figures/predicted-climate-change-impact-on. The fact that land in Norrland (Sweden), which is currently an artic tundra is going to appreciate so much in value tells a lot.
Basically there is room for an upstream unix os to build worlds upon. Many with money or influence not familiar with the unix hacking culture or are non-Western are decision makers. Talking about those that approve funding the role out of consumer devices and their OS on major markets. Or major computing infrastructure projects that could be downstream of FreeBSD one day. Kylin was approved for the entire Chinese market by central figures (just an example and not commenting on politics).
Better support for different language needs is helped by more people working on such things on the project, which is exactly what I’m commenting about. Everything takes time to build. And to get people to onboard on to a project requires motivations based on strategic and values overlap.
I believe many will take one look at the website and branding and dismiss it as risky looking or not serious. You shouldn’t judge a book by its cover, but people judge books by its cover. In the defense of those that value appearance, if FreeBSD wants to accommodate people from outside the unix hacker culture or non-Westerners and others, the critique may be more than superficial. Certain things in the West decision makers are sensitive about (e.g. Github and others switched to ‘main’ branches over historic ‘master’). It’s not a stretch that others may look at FreeBSD and not like it, which kneecaps FreeBSD out the gate, possibly. But maybe it’s okay and FreeBSD is happy we’re they are or I’m just totally wrong here. I’m not a part of that community. Just an observation. i think FreeBSD is awesome.
And I wasn’t talking about fragmentation, which is an interesting take to be honest, but more like consolidation by the major corporate and national stakeholders in the Linux kernel.
IMHO the biggest problem Linux might face is complexity. The implementation is getting too big and messy.
We need better guarantees and better trust principles to avoid security issues and malicious code. The userland is even more problematic perhaps.
This is just a general problem in software development. We do not have yet rigorous engineering practices. Moving into something like Rust (memory guarantees) + static analysis + static/dynamic verification (via design by contract) would be a great step forward.
We also need a better architecture. eBPF is a very interesting development as it allows to build great solutions to identify suspicious activity in a given machine.
Do think that complexity could increase if Linus isn’t around? Or making strong decisions in some direction more challenging on his retirement? Linus is ‘cautiously optimistic’ about Rust.
Both, especially the first one. I think that without a strong manager, things could become more complex and there is an increased risk of malicious code.
Even if Linus is around, I think it’s time for more rigorous engineering. Rust is great as it is among the very few systems languages that may facilitate verification thanks to e.g. good ownership semantics.
I just switched back to FreeBSD for my daily driver - ThinkPad X250 - and I’m loving it, for the reasons mentioned by the author. I had the advantage though of starting from a set of setup scripts that I’ve been gradually tweaking over the years: https://git.sr.ht/~duncan-bayne/freebsd-setup
I’m off work with COVID and this was very off-the-cuff. It wasn’t deeply researched or considered, just dashed off.
I find it very amusing that people are making comments like yours.
My piece was in fact meant to be condemnatory. I think it’s a bit of a mess and way too hard. The fact that I had to dedicate a whole disk to it is a damning indictment.
What I was trying to get it at was:
“If you do a tonne of unnecessary work that you really should not have to, it’s actually passable. This could do the job, if it were given some TLC, but as it comes and as it stands today, it’s almost impossible to get it to do anything useful. That’s a shame because underneath it is capable.”
I think Charles Stross’ comment on my blog nails it best. :-)
I find it very amusing that people are making comments like yours.
My piece was in fact meant to be condemnatory.
Haha :) I get that … and FWIW I agree, installing and configuring FreeBSD is very high-friction. It took me quite some time to learn enough to get it to the point of being a usable desktop environment.
But the bit that wasn’t condemnatory was quite complimentary ;-P
That’s a bit rambling, but sounds like he had an easier time with FreeBSD than I had with Debian on my MacBook.
I swear I hit every Linux pothole in existence getting that thing setup. Graphics issues, flaky binary blob WiFi firmware, sounds issues, suspend/sleep problems.. the whole nine yards. But it’s working great now.
I’m certain OpenBSD would’ve “just worked” on this hardware with minimal faffing around.
I feel the same.
And I also feel that Dragonfly would have been closer to openbsd’s “just works” than the FreeBSD experience. And it’d likely have performed better.
Might do. It is on my list to have a look at some time.
NomadBSD too, which is based on FreeBSD and is installable (despite the name).
It probably would.
I reviewed it recently: https://www.theregister.com/2022/04/22/openbsd_71_released_including_apple/
I found, exactly as I expected, that while FreeBSD has a distinctly BDSM flavour, OpenBSD drops the “D” and “M” parts and enforces working exactly its way.
Yeah, not my bag, thanks.
What do you mean FreeBSD has a BDSM flavour? What do you mean OpenBSD drops the D and M? Genuinely curious.
BDSM:
https://en.wikipedia.org/wiki/BDSM
Sounds like BS to me.
Just some thoughts on the why, from someone having used FreeBSD quite a bit in the past (but not really so much anymore currently).
I’d argue that FreeBSD used to be a better desktop system than it currently is because of the initial setup. Once set up FreeBSD can still be very good, because of its extremely active porters community, that pretty much makes every other OS look like a joke on this front. Up to date, stable, quality packages are something nobody talks about when it comes to FreeBSD, but in my experience its by far their greatest for day to day usage on both server and desktop. The nginx package and its options alone leave every Linux distribution far behind.
In my experience people tend to recommend FreeBSD on the desktop essentially for the proprietary NVIDIA graphics cards drivers. And while for some that might be a requirement, if you are not even using their graphics cards that won’t matter anyways.
That leaves the incredible amount of ready to install software as the remaining factor. And again, this might not be what you care about, because all you do is use your browser, and an editor anyways, with all the games you like being supported anyways.
But beyond that I agree with others. You might be better off with a different OS/BSD. Even though I enjoy it not having some quirks Linux does. Like sound coming out the wrong device based on whether it was attached at boot and some other little things that tend to bug me. But you get that with other BSDs as well.
I think the majority of people using FreeBSD on the desktop on a regular basis either have an ancient installation or a set of scripts/commands to execute, be that one of the guides or something personal. So they are used to it. And there’s just so many great guides to get you started.
The reason might be that most FreeBSD users don’t use it on the desktop as their daily driver. From my interactions the people that do pretty much only work on ports. People that run FreeBSD on servers on the other hand tend to have some kind of setup scripts, images, etc. made already or see set ups as a one time thing not to care about. Just copy over configs and you are fine. On top of that there’s quite a few tools to define a custom installation for you you, also for desktops. For example some people install FreeBSD and then run
pkg install -y desktop-installer && desktop-installer
.All of that might make better defaults a rather low priority for a large portion of contributors.
At least that’s my rationale. It would explain why FreeBSD has both criticisms like in the article and criticism overall when it comes to defaults. At the same time it manages to explain why OpenBSD (as well as DragonFly and maybe NetBSD) seem to do a much better job there, despite FreeBSD probably being the best funded - by companies that anyways have their custom versions of FreeBSD or just incorporate tools. Netflix, Apple, Sony, Juniper, NetApp, Trivago, etc. don’t really care about how FreeBSD behaves out of the box despite heavily relying on it.
I see similar problems in other open source projects, usually ones that are more “beginners only” or “customers only”, where the developers don’t really dog food their products. But with FreeBSD it’s very extreme, because a lot of potential contributors, and even user don’t follow what one might consider the standard way.
As for packages pulling in a lot of dependencies it’s a similar topic. FreeBSD has ports, which are highly configurable, but there’s also packages. So what a typical port would do is add options and set a lot of them to “enabled by default”. Sometimes like in the nginx example mentioned above there’s even multiple ports that are identical, with different default options, so different packages are being built.
This is yet another case, of how people use FreeBSD. If you have a serious setup you’ll likely run poudriere and have a couple of config options. On a server that might be build everything with Postgres 14 support, on a desktop that might be build everything with GTK or QT support and for example “Use sndio instead of PulseAudio”. Where Debian and its descendants package everything into dozens of packages FreeBSD makes everything an option.
And then there’s another cultural thing regarding “scaring away people”. Evangelism never has been a huge topic for FreeBSD. Quite the opposite, for a while people and companies were secretive about FreeBSD usage, as it was seen a competitive advantage. Of course for actual products you’d have to tuck on the license, for services not too much. And which macOS user here thinks about how every time they run grep it’s FreeBSD’s grep, every time they run docker a bhyve instance is started, etc.
OK, this is quite interesting.
A few things as general context:
I often get asked on the Reg why I don’t look more at server distros, or enterprise stuff. There are multiple reasons:
Anyway, in summary, I don’t care about server stuff. It’s not very interesting to me, I lack the resources or time or specialist knowledge to evaluate it.
But desktops I can test. Here, there are real differences, and in places, big ones. Some distros are just startlingly bad at some everyday things, and, occasionally, others startlingly good.
I don’t see many reviews of xBSD so I thought I’d do some. I am a competent xNix user with about 35Y of experience. I have experience of about half a dozen different xNixes, counting Linux as 1.
Saying that…
Well, that is startling. What changed?
That is hard to assess. Frankly, I find the repos for mainstream distros like Ubuntu and openSUSE to be superb, and almost anything that is mainstream and FOSS is just there and just works.
These days, if it’s not there or it’s not FOSS, Snap or Flatpak probably make it very fast and easy.
Not on FreeBSD.
Last night, I discovered that I did not have
nano
orpico
orjoe
or anything but rancid old Vi in FBSD13.1. I detest Vi. My preferred console editor, Tilde, isn’t in the repos.So, there’s a fail straight out of the gate.
I know nothing of that. It’s server stuff; see above.
Odd. Very easy on Ubuntu; fairly easy on openSUSE Leap. Can be a pain on Fedora. Is a pain on Debian etc.
Not sure why anyone would look to an xBSD for this, but please do enlighten me.
BTW, I strongly suggest you read my Register reviews on FreeBSD, NetBSD and OpenBSD to get a handle on where I’m coming from, because already, I think your view is wildly different to mine.
To me, your sentence I quote is equivalent to “people favour Morgan hand-built automobiles because they have wheels!” Well of course they have wheels. All cars have wheels. So what?
Um. I am guessing you are not aware, but I am the FOSS and Linux reporter for the Register. I’ve been using Linux for over 25 years now and have been writing about it professionally since the 1990s. I helped build the first customised cover-mounted Linux distro on a UK computer magazine, and wrote the accompanying 2-month multipage feature on it, about 25Y ago.
Before that, I mainly worked with SCO Xenix and SCO UNIX, but also AIX and Solaris a little.
I always hear that from BSD enthusiasts. I have never understood it.
For me, all the BSDs are about 100x quirkier and weirder than even the most way-out Linux.
Google never found that one, but it directly reinforces my point about how all the guides you’ll find are weird, quirkly, and will refer to a version several years old and you have no way to tell what works any more.
Then why the bloody blue blazes doesn’t the installation program even MENTION that?! How the hell am I supposed to know? My advanced psychic powers?
Strongly agreed.
That would indeed explain a lot.
I really don’t think it is. Installing a PDF viewer and it trying to install an entire desktop environment is not OK. That is a broken package IMHO.
This is directly falsified by the comment above, which you acknowledged.
Very true. I don’t think its community realises that right now it faces a make-or-break opportunity, though. Linux is going very mainstream now, to an extent that 99% of Linux users and vendors are totally oblivious to.
Chromebooks outsold Macs.
Chromebooks are standalone end-user Linux desktops and laptops. And while the pandemic gave them a huge boost because hundreds of millions of people suddenly needed cheap computers for working and studying at home, and that probably won’t happen again, nonetheless, something ITRO a quarter of a billion people now use Linux as their desktop OS.
That kind of Linux is influencing desktop Linux.
We are getting immutable-root, containerised Linuxes with apps delivered in bloated portable packages, run in sandboxes, that the user can’t change or alter in any material way. Old UI conventions are being ripped away, and a lot of users are very unhappy.
This time, since about 2019-2020, is the single biggest chance for FreeBSD that it’s ever had or ever will have. To scoop up those disaffected Linux users who hate systemd and snap and flatpak and all that.
But FreeBSD is, metaphorically, standing there oblivious, chewing the cud and gazing into space.
PC-BSD became TrueOS then got cancelled.
TrueNAS is oblivious to the fact that it alienated all the FreeNAS users because it doesn’t like to run from a USB key any more. Their sights are set on enterprise sales and they haven’t noticed that they have annoyed and alienated and driven away 100% of their desktop users AND their home-office free users.
FuryBSD was a good try. It’s dead.
I am not impressed at all by either GhostBSD or MidnightBSD. They will alienate more people than they attract, I think.
FreeBSD has another year or 2 to try to win over Linux users alienated by all the weirdness encroaching on Linux now. If it doesn’t, it will never escape its tiny niche.
I don’t think it ever will. It doesn’t care. It is what it is and you either meet in where it lives, or you can just go do something else.
The Hello System has a chance, a very small one. I really hope it succeeds.
I bet most FreeBSD users haven’t even noticed it, and can’t see any importance to it.
I am typing on a Mac. I am aware.
OTOH, most Mac users don’t use the CLI much. That’s a good thing. They shouldn’t have to. The original Mac didn’t even have one.
Most CLI type Mac users use Homebrew or similar extensively, meaning they replace the weird half-crippled Apple tools with Linux ones using a Linux package manager.
Also, macOS has its own unnamed hypervisor, which AFAIK is unrelated to bHyve.
https://developer.apple.com/documentation/hypervisor
I do not use Docker – again, server stuff, don’t care – but I wouldn’t be surprised if it used the “official” tool. I don’t know, though.
If you don’t like vi(1), FreeBSD also ships another editor in base that is very similar to GNU nano. See edit(1). I have to agree though that it is not easy to discover that it exists.
But
man -k editor
(orapropos editor
) would have revealed it.And I never used FreeBSD (but use OpenBSD and NetBSD), but I knew there would be a port for
nano
: it literally took me 10 seconds to get to it.EDIT: after giving it a few minutes, I decided to remove my unnecessary rant, which adds nothing to the discussion.
[Comment removed by author]
Both
man -k
andapropos
are meant to search for commands that you are not aware of the name, but have a fairly idea of the keywords that would refer to them—in your case, editor.You would have been capable to discover
ee(1)
using the editor keyword because you wrote (bold is mine):Also, I would assume you are aware of what
ports
are given you used the term repos above, and I simply foundnano
in the standard FreeBSD’s ports’ search website.Now, if you are not aware of
apropos
andman -k
, that is a totally different class of problem, which I could simply advise you to address, especially when fiddling with the console is part of what you do for a living: in my experience, being able to find information offline is a enormously useful (and almost necessary) skill in the UNIX world.I think I specifically mentioned… Let me check…
Oh, no, it’s only in the comments:
I am aware of the
ports
collection. I was interested to see it’s now an optional install. I ticked the box, but I never needed it. That’s good. I am happy I didn’t need it.If I am looking for an easy clean desktop OS, that means, for me, not having to compile any of my own software. I was using Linux in the mid-1990s. I remember building my own kernels, and not with any pleasure or nostalgia. I expect this stuff to just work, and to be in the repos, by which I mean 1 command installs a binary in the right place – wherever that may be, I don’t want to have to know – and then it is automatically kept updated forever.
I think this may seem like an odd attitude to FreeBSD habitués.
I don’t actually like
nano
orjoe
orpico
. The opposite, in fact. I dislike them all, I just dislike them less than I dislike Vi or Emacs, which I loathe.I like Tilde. Perhaps I should have looked in the ports tree for that, instead. I may still do that, if I remember.
Small follow-up (because I am listening and trying to learn here)…
No, I could not find Tilde in the ports tree.
I tried to install
ee
and got nowhere, and strings such as “ee” and “ree” are too short to search for – they return dozens or hundreds of hits.It took a while to find out it’s already there. That was… puzzling.
Anyway, yes, it’s easier, but I’m not sure it’s going to be much quicker.
I am put in mind of the Reg review comments: that BSD users were baffled I’d use Ctrl+cursor keys to move around. They’d never heard of that before, apparently.
Ctrl+cursor word-by-word movement has been part of the CUA standard for over 30 years now. This is a standard so old, it’s even older than the ancient “Unix means it uses AT&T code” canard.
IOW it predates Novell buying AT&T Unix Labs and giving the trademark to the Open Group… in 1993.
The basic CUA keystrokes are honoured by, and work on, basically every GUI editor on every xNix OS, as well as on Windows and macOS. They are not one rival standard: they are the standard and have been since the late 1980s.
I have no idea what keystrokes FreeBSD uses to move word-by-word around the command line, but it’s not the standard one. Maybe it is some strange Emacs-ism or something. No idea.
The reason I like Tilde is not because it’s easier or simpler: it’s because it works with the editing commands that have been part of my muscle memory since about 1989. That doesn’t apply to Joe, Nano, Pico etc. and it doesn’t apply to EE either.
So, good to know, but not actually much real help. :-/
Thanks – I will take a look.
Just to be sure, these are speculations based on just catching up every now and then.
I am not completely sure, but some thoughts are that Unix-like operating systems consolidated to Linux and Linux desktop being a niche FreeBSD became even more a niche. I also think a lot of people somehow got happy with macOS. While it was somewhat common for a lot of open source software to work just fine on any POSIX system, I think a lot of work now has to go into making things work well on FreeBSD, so that’s what people focus on.
Maybe also hardware got a lot more complex? Raising the bar. And while many companies nowadays also write Linux drivers, very few write them for BSDs (most stuff like enterprise network cards, etc.). Or take bluetooth, which is annoying both on Linux and the BSDs.
I am not sure but the community also seemingly shrunk, maybe as a side-effect. Probably lots of tiny things. Take video games. Nowadays Steam works fine on Linux, but FreeBSD requires Wine, OpenBSD doesn’t support it, and even if it did it wouldn’t work for 32bit stuff. So now Mono/XNA/… based games, like Stardew Valley, Northgard are what works on OpenBSD. Or take video streaming. Kind of ironic that Netflix won’t work out of the box on the system they use, because of DRM/Widevine which is also something that hinders browsers (and everything Electron based for example).
There’s also a ton of technologies that essentially are anti-porting. Software depends on one of systemd’s “parts”, or the default way of a service is spinning up a Docker container, or that current trend of using flatpak and snap.
What also simply went wrong is some desktop BSDs, like PC-BSD/TrueOS, which a long time ago was certainly on par with Linux distributions in the same space, but somehow ended up experimenting a bit too much, making risky decisions that didn’t really work out causing it to now be dead. DesktopBSD also stopped. But I guess that space is now recovering, as there’s some Desktop BSD projects. So maybe it will get better here.
Anyways, all of that I think simply made developers drop FreeBSD for macOS, which is close enough with its userland (base utilities, bhyve, dtrace, etc.). Since they weren’t too “religious” about OSs in first place they might just have switched, which means there’s fewer people that care about FreeBSD on the desktop. And those who do are fine with how it is for the reasons mentioned in the previous post.
I can’t talk about openSUSE, but I find Debian and Ubuntu a complete mess. Software is either ridiculously outdated (years), has been patched to not work, has non-default flags, and you need a ton of third party sources be it for postges (and postgis), for nginx, for your programming language of choice, etc. Good luck when they are not compatible, and good luck when they drop that service. Also this can be very annoying to debug. I’d argue that it’s a huge part of why Docker is successful as a workaround. And probably also why people use horrible hacks like snap and flatpak.
I think you misunderstood me/I wrote that badly. This was to say why people are being told to use FreeBSD over other BSDs, like OpenBSD with which they might be more happy in other regards.
So? I am not sure what you mean by that response as it doesn’t seem to have anything to do with the sentence you are quoting. You obviously are better off with a different OS since you don’t seem to be happy with your FreeBSD experience, or am I completely misunderstanding something?
I gave you an example that you seemingly just ignore, without giving a single counter example. I also wouldn’t consider myself a BSD enthusiast, as I am writing this on a Linux system. Also does “all the BSDs” include macOS and iOS?
Anyways, why not use Linux then? I don’t understand where you are heading with that.
On ChromeOS fanboying: I also think ChromeOS is really good. I think a major part of it is that it basically ignore the Linux world, because it has resources to do so. It just uses Linux for having a (kernel) interface that much software already targets. It’s a bit like with Android. By that standard FreeBSD is widely successful because of macOS, iOS and Playstations, Enterprise grade routers, Netflix, etc. But I guess that’s not what you talk about.
Like you are not interested on servers, I am not really interested in FreeBSD getting users.
How so? Why one to two years?
I’d think most FreeBSD users interested in FreeBSD desktops enough to read news on the topic did notice it. It was widely mentioned. I am no such user and still read about it many times.
But: Why is it important to FreeBSD users? Do you mean desktop users? Even then, how is it important to them?
Don’t really know about that. I was talking about Docker, which is the only instance where I’ve ever used a hypervisor on macOS. Also I was talking about FreeBSD users and developers using macOS for their desktop need saying that they don’t really have a reason not to.
I am not really interested in any reviews on them. I don’t think I’ve really shared my views on these OSs or at least it wasn’t my goal. I completely agree with the article, which is why I don’t use FreeBSD on the desktop.
You don’t care, but just as a note: Docker on macOS uses xhyve, which is bhyve for macOS, because it’s not Linux, requiring it to use a hypervisor. Fun fact, FreeBSD provides a Linux API.
I am honestly a bit unsure where you wanted to head with your response. I hope I somehow clarified something, because I wanted to add some context to the problems you mentioned in your original article and follow up on the bits where you asked questions.
Without going into a quoting frenzy, I will try to answer your general questions.
You gave the impression that there were specific changes which have made matters worse in recent versions, but you don’t seem to have any. That’s disappointing.
I agree with you about desktop BSD distros overreaching and thus failing. New desktops, new packaging formats, etc. Bad plan. The path to success is generally to change the minimum you can, and take as much advantage as possible of others’ efforts.
I find it interesting that you call projects like Ubuntu and Debian – arguably the two most successful non-Windows free OSes there are or have ever been – a total mess. I’d like to hear stuff that is more specific. They work great for me. Ubuntu has been my main OS since the first version and has served me very well indeed.
As for my talking about experience with other OSes, what I was trying to get at was very simple: I’m not a newbie, I’m an experienced professional with pretty broad experience at that. Whenever I criticize any of the BSDs in any public article or blogpost or whatever.
https://www.theregister.com/2022/04/22/openbsd_71_released_including_apple/
https://www.theregister.com/2022/08/10/netbsd_93/
… I get upset BSD fans saying I’m a fool who doesn’t understand anything. I am not. I suspect I may have broader xNix experience than anyone who has ever attacked me on this.
I am not evaluating FreeBSD as my potential new OS. (And no, I am not comparing it directly to any commercial variants or products that use it.) I was and am attempting to evaluate it as a potential free OS for general computer users. Whether it’s right for me is irrelevant. I am trying to point out and highlight weak points, and it saddens me that I am apparently failing to get that across.
You say that you’re not interested in getting users, which is exactly the same thing that I hear from Vim fans when I criticise Vim, or from Emacs fans when I criticise Emacs.
The core point that this response misses is that any and every FOSS project lives and dies on the health of its community. All projects need new people coming in, trying it, liking it, and sticking with it, whether they fix the code, or hunt bugs, or document it, or talk about it, or simply quietly sponsor it and get other people to do those things.
Software needs users. Not customers, if it’s free, but users who like it and want it to survive. No user community means certain death, and a rapid transition to being a fossil, maybe occasionally run in a VM for nostalgia.
Communities need to grow, because if they don’t, then their members age out and die, and then the software dies with them.
Currently the other 2/3 of the human race is coming online, the digitally disenfranchised billions in Africa and Asia. Meantime, the developed world is aging and childbirth rates are dropping – globally, a good thing for us all! – but bad news for old software that is beloved and maintained by aging people.
I recently wrote about Chinese Linux distros: https://www.theregister.com/2022/08/30/kylin_the_multiple_semiofficial_chinese/
It didn’t get many comments or shares. That’s a shame. This is a vital part of the Linux market, and I suspect that Ubuntu now has many many more users in China than in all other countries put together – and it doesn’t know, and it doesn’t take anything much from that distro.
For example, Ubuntu Kylin will if given a disk to itself install in a complex setup with a boot partition, two root partitions, and a separate data partition. I have not been able to find out much about this but I think it is in an attempt at fault-tolerance; Deepin Linux, the leading Chinese distro, does the same.
ChromeOS does this, which is one reason it’s almost impossible to dual-boot it with anything else. It’s very important tech but mainstream Western distros are completely ignoring it.
In a few years, all the big commercial distros are probably going to move to this sealed-down model, where the root filesystem is read-only, apps are in sandboxed modules layered on top, and you can’t change anything you don’t like. SUSE is doing this with MicroOS, Red Hat with Sliverblue and Kinoite and the remnants of Project Atomic, Ubuntu is doing it with Ubuntu Core. Smaller desktop distros like Endless OS are in fact leading the way.
Once this is normal and accepted and just how Linux works, that will soon be what everyone expects, and there will be no selling point any more in an OS where it isn’t true and it’s not like that.
That is why I say FreeBSD has a critical window of opportunity now, one which will soon close. Pick up some of the influential Linux migrants now, while it’s still a comparable offering, and before it’s too different and too weird and the window is gone.
That’s quite reasonable. Update: Sorry, I misread that as, “I get upset by BSD fans…”.
I think the controversial thing is that you aren’t just evaluating it as an OS for general computer users, you are also quite strongly saying that it should be an OS for general computer users. When you write things like this:
You are saying, in quite a strong way, that FreeBSD developers have the wrong goals and should be forced to change their goals to align with what you want. That’s obviously going to rub some people the wrong way!
Your justification, if I understand you correctly, is that if they don’t realign their goals then the project will fail. You seem to think that if FreeBSD doesn’t attract a bunch of Linux exiles, then FreeBSD will collapse. But it really isn’t clear why that should be so. Why can’t they carry on doing what they do well now, and leave the Linux users to their ChromeOS/Android fate?
Comments like this are why I try to engage with readers, why I read and respond to the comments on my Register articles, and why I post my blogs here.
Because it’s fascinating to me to see how badly people misread what I say, and it’s educational. I am trying to learn from this. Trying to write less ambiguously, to learn what people don’t see or get wrong, so I can avoid doing it again.
You have got my comment and indeed my blog post – and note, not an article, ‘cos I am off work with COVID and don’t have much focus or concentration at the moment – almost totally backwards.
I am not saying FreeBSD should be anything. I am not saying it ought to change because I say so. I am not saying heed my infinite wisdom and thee shall profit thereby. Nothing like that.
What I am saying is that this is, somewhat to my surprise, actually a pretty competent desktop OS.
It’s not billed as on, it’s not sold or described as one, and there is bugger all help in the installer in making it into one. But if you are determined and don’t give up, it’s significantly easier than it was just a few versions ago.
It offers a good selection of apps, and once you find the magic incantations to install a few things, a tonne of handy extras come in with them. So, by installing just half a dozen packages, not only do you have those apps, but you also have things like volume controls and media keys and a JVM and so on. That you can easily add a network icon to your panel.
I am not saying “FreeBSD needs to do all it can to be a better desktop OS.”
That is the opposite of what I am getting at, which is:
FreeBSD is actually a surprisingly capable desktop OS, and if only there were a few more easy steps in the installer, and a few more hints, this is something that could be accessible and useful to a lot more people.
A very common way for people to learn a new OS is to make it their desktop and do their ordinary desktop stuff with it for a while. That is a great way to get familiar with it.
As such, this is something it would really benefit the installation program to acknowledge. Give it something like Debian’s
tasksel
, and make one of the options a tool to install and configure a graphical desktop.As it was it took me about 2-3h of work and Googling and manually installing packages, and there is no need for that in 2022.
Some modest changes, to help people a bit further with the installation process, and this OS could win itself tens of thousands more users and some of those people will hang around and contribute. It would be a net benefit for the OS.
If you install a desktop, then that should pull in X.org automatically. When you’ve got a desktop, there should be an .xinitrc written automatically for every user account. Sudo ought to be there as standard, preconfigured with the appropriate groups – I mean, Octopkg even expects it!
I am not talking about massive changes that are needed for other’s benefits.
I am saying that for FreeBSD’s own benefit, the install program should not just build a basic text-only OS and then dump you at a shell prompt, because it is not 1992. That was 30Y ago now.
A few basic options – bare server, LAMP server, fileserver, graphical desktop – and when the user picks one of them, leave them with a working ready-to-use OS, complete with SSH configured and running, some seerver packages installed with default configs; or, if they pick a desktop, give them a basic desktop in which they can read the friggin’ Handbook.
I just recently reviewed MX Linux and to my own amazement I gave it a rave review. They have a good handbook, and they’re proud of it, and you know how you can tell?
Because they put a link to it right there on the desktop.
On my shiny new FreeBSD box, there is no visible sign whatsoever of this magical document you are all extolling. No icon, no menu entry, no login prompt that says “welcome to your first login, type
handbook
to RTFM.”These are not big things. These are not difficult to do.
The hard work is already done.
What is left is just sweeping up the sawdust, throwing down a welcome mat and leaving a note to tell people where the mains switch is in their new house.
I should not have to install my own graphics drivers! That is horrendous! I should not have to write my own lines into init scripts! When I install a package, that should just happen. If there is some deep philosophical objection, then ASK and if the user keeps pressing Return, just do it.
Well, first of all, thank you for a very reasonable reply to a comment that apparently completely misunderstood yours!
That is great. I’m sorry that is how I understood your comments (not the original blog post, just your comments here).
In that spirit, here are a few things you wrote that made me think you were saying that FreeBSD ought to change for the sake of its survival:
:-)
I am getting used to it now, TBH. I have a long way to go; there were well over 20 years between my 2 main full-time stints at doing this.
FreeBSD doesn’t have to do anything.
But right now is a big chance for it, I think… if it just moves a bit closer to the way things are done on the Linux side of the fence.
If it doesn’t do it: well, I would not bank on a healthy future, but then, I don’t for any of us; see elsewhere in the thread. It may just trundle along as it is.
Or, maybe, the Hello System will somehow prove to be a big hit, and it’ll gain lots of new users that way. Who knows?
But there is a chance. Inasmuch as there’s a mainstream BSD, it’s FreeBSD. It doesn’t have the political agenda I see in NetBSD. And it’s so nearly there that it is frustrating to see that the remaining gap is small.
If it had ended installation by asking if I wanted a modern editor, or if I wanted a GUI, and told me what to do next, that would have helped a bit. But nerp – and no mention on the web links I found either.
I completely understand that. I’m sorry that I misunderstood what you were saying: I’ve re-read your comments and I guess I just emphasised the wrong things in my interpretation.
I suppose once I thought I understood what you were saying, I read the rest in the light of that (mis-)understanding.
I wasn’t aware of the Hello System before your comments. I don’t pay a lot of attention to FreeBSD - is the Hello System really unknown among FreeBSD users? From a quick glance at their docs, it looks like it answers (or, at least, is intended to answer) most of your complaints.
In my defence, I’m the opposite. I don’t really care about desktop stuff. It either Just Works™ or I’m too old to waste my life configuring things. I’ve used Linux since 1996 but it’s always been shit as a desktop: I’m writing this on a Chromebook :)
That is good to hear. :-)
And I see the poor tone and phrasing in my comments now, too.
As for wanting low-stress computing… I can totally understand that.
I have opted for the easy life where computers are concerned for a long time now. It was around the turn of the century, when I saw the needless but mandatory bloat in WinXP on the desktop (themes, video editors, etc.) and the blasphemous horrors of Active Directory on the server side, that I switched to xNix full time.
I ran Caldera Open Linux, then SUSE, then Ubuntu. I still run Ubuntu now. I never liked GNOME 2 much – mainly for its poor handling of vertical toolbars – so I liked Unity and I still use it. Since it’s not available on any other distro, for now, that’s kept me on Ubuntu.
I’ve worked for both Red Hat and SUSE, where Ubuntu and Unity weren’t really options, so I tried everything out there and settled on Xfce. It needs a bit more tweaking for me but once that’s done, it’s good.
But there is a big difference between playing around with an OS to try to get a feeling for it, on a spare machine or in a VM, and having to fight with it to use it as your primary OS. The evaluation part is fun, for me.
The sad thing, for me, is that Ubuntu reached a point where it was pretty damned good, quick, just went on and just worked. Then they lost focus. The downfall began with the disastrous HN thread which led to them cancelling all their innovative stuff and just copying RH. https://news.ycombinator.com/item?id=14002821
Mark Shuttleworth failed to achieve his goals: although Bug #1 is fixed: Windows is no longer the automatic #1 OS – macOS and ChromeOS displaced it, not Ubuntu.
Ubuntu failed to make big headway on mobiles and tablets, too.
So he’s given up, AFAICS. He wants to float the company, and the way to make money from Linux is servers. So Canonical now focusses on servers, and the desktop is suffering from neglect.
Red Hat is flailing as it always has, and its nasty corporate culture of meritocracy (a word originally intended as satire), NIH syndrome and neophilia is making a mess of desktop Linux. Ubuntu is distractedly copying it.
SUSE bought a container company, so now, everything must be containers.
There isn’t much direction or leadership or focus on desktop Linux any more, outside of Google, which nobody can be bothered to copy. There are some good projects. I like Alpine, SpiralLinux is impressive, as is Garuda. The one I might actually use myself as my main offering is MX Linux.
But they’re mostly small or one-person efforts, or they lack corporate backing, or they have no server offering, and generally are not laying down a big bold path for others to follow.
That, ISTM, leaves an opening.
Not every: nix is doing well in those areas https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/nginx/modules.nix , https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/nginx/generic.nix
I completely agree, for desktop uses. Even for server uses, it’s taken a long time to get Azure images with ZFS support, so I ended up using Poudriere to build my own (which works well… as long as you already have a FreeBSD machine to start from).
There used to be an ‘instant desktop’ metapackage. I’d love to have a few of these things around but even that doesn’t really help with some of the bits of core config. There was discussion many years ago about making the core system configs all use libUCL. That would be fantastic because libUCL supports configurations that have overrides and doing priority-based merging. This would make it trivial to have things like the xdm / gdm / kdm / whatever ports automatically install a file that got merged with
/etc/ttys
to add this as a console configuration.I came across several mentions of Poudriere in my efforts last night, but nothing clearly tells me what it is.
This is a part of the culture of xBSD, I think.
Operating systems are cultures as much as software: they are way of doing things, with their own customs and traditions and so on. When I talk to xBSD people about things it can’t do, or doesn’t do well, they are often baffled. I have expectations, ones I think are reasonable; but they are not xBSD expectations.
The Red Hat world is very much the same; for RH people, it is the world, everything else is a rounding error and insignificant. This causes a strange perspective, and wow do they get angry when it’s pointed out to them.
Debian, equally.
Ubuntu was a breath of fresh air: all it assumed was basic PC competence, not even much understanding of Windows. It wasn’t the first – Caldera managed the same; Corel LinuxOS attempted it but didn’t get the momentum.
When writing docs, and help pages and installation-program screens, accept and acknowledge that you’re a minority, niche player, and explain clearly, in non-your-OS specific terms, what it needs and what it does.
The comments on my Reg articles on NetBSD and FreeBSD are hilarious examples of this blinkered attitude. “What does he mean there was no command-line editing? Of course there is!”
Then the slightly more perceptive read on, and go “oh! He was trying to use cursor keys. How strange. No, that doesn’t work, of course not.”
I feel that these teams need a bit of a kick up the arse, TBH, to be forced to see and register and acknowledge their context and that others don’t share it.
This could be a contender, but not with its current attitude.
Did you look in The FreeBSD Handbook, which says:
That’s it. It’s a tool that builds packages. It can also, in recent versions, build the FreeBSD source tree and construct disk images, though that support is fairly new and is marked experimental. The focus of this text is a bit weird (not sure why you care it’s BSD-licensed or if you should be expected to know what a jail is, though it does explain what it’s using a jail for, so maybe you don’t need to know what it is) but it seems to be clearly telling you what it is.
The FreeBSD Handbook is written as the introduction to FreeBSD. By the time you get to caring about Poudriere, you’ve reached a point where you’re the kind of person who wants to build custom packages themselves. I don’t think it’s unreasonable that the documentation for that is somewhat unapproachable for someone who has very little computer knowledge because we’re definitely doing something wrong if a novice user ever needs to run Poudriere.
The installer, in contrast, is still pretty rubbish and it sounds like the setup experience for some modern WiFi cards and GPUs is awful. That’s definitely something that the project should improve. The fact that you had to find answers to these questions in the forums, rather than in the handbook, in particular is a problem.
On the other hand, the last time I ran the installer was via a serial console on an Arm Morello development system and it worked very well there, without needing me to do anything other than stick a USB disk in the machine and reboot. I have no idea how I’d install Ubuntu (or Windows) on a headless machine with only a USB serial device as a console.
Aha, got it. Thank you.
TBH, no, my primary go-to source of info when testing OSes and distros is Google. Good docs are rare – I speak as a former professional writer of such docs – and in general, if the docs are good, people will mention them and link to them and so they show up on Google. This is true of SUSE SLE and RHEL, for instance – although RH being RH, you generally get a message to log in to your account, and if it’s a free account, you don’t get to read it.
So I Googled poudriere when you mentioned it, and I got:
https://www.freebsd.org/cgi/man.cgi?poudriere <- it’s something to do with building packages?
https://github.com/freebsd/poudriere <- it’s a testing tool of some kind?
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-poudriere-build-system-to-create-packages-for-your-freebsd-servers <- it’s, er, something for people building lots of custom servers?
I have no need to build packages, and I consider it a small win that the Ports system is now an optional install and I never needed to go near it. I mentioned, I think, that I got a complete OS up and running without compiling anything at all, which is, IMHO, how it should be.
This upset the NetBSD folk when I reviewed it recently. I am unrepentant. If you can’t find it on Google, then effectively, it is hidden, and that’s no use to me or to most people.
BTW, I’m not disagreeing with you in any way here. I think all your points are solid; I’m just trying to explain why no, I didn’t read the handbook. I submit that in general, nobody does RTFM – and that’s why there’s a universally-recognised invocation to do so.
I wonder if this is part of the “cultural baggage” of FreeBSD, or sort of a community effect. FreeBSD is very much from an age when offline installs were common, there was no such thing as Google, and documentation was generally a prerequisite of distributing software. That FreeBSD has a handbook was pretty much the first thing you found out about FreeBSD and you usually had access to it one way or another (I think the first release with a handbook was one of the 2.x releases?). I haven’t really used FreeBSD in almost twenty years now, except for a brief stint around 9.0 and the occasional platform-specific bugfix, and if I need to configure something or whatever, my first reflex is still to check the handbook, rather than to Google it. (FWIW, because SEO and content marketing are such big things today, the results are often better, too ¯\_(ツ)_/¯)
That’s an interesting point.
TBH, yes, decades ago, that is how I did it, too. On a wired connection, with if possible a 2nd computer to hand with the docs open, or of course paper docs.
But it’s 2022 now. Things have changed. Also, my jobs tends to require me to produce 2 stories a day if possible, and if one of those stories involves evaluating a new OS, that means I have a maximum of about 4 hours to get it, install it, try it, and then write about it. Since the writing about it phase is half that, it doesn’t get long.
I don’t often manage to produce that many, but yes, it’s done in a rush. That is life in online publishing, I fear. But the flipside of the coin is that if someone is casually dabbling and trying out a new OS in 2022, they are not going to sit down and read hundreds of pages of docs first. To quote a wise woman, “ain’t NOBODY got time for that.”
So I aspire to be representative of the experience that someone smart, motivated and curious might have if they had an evening to spare and wanted to try something outside of Ubuntu.
I agree. If you are kind of people who don’t read the handbook, you probably shouldn’t use FreeBSD.
I also run FreeBSD on a Thinkpad and didn’t understand why you found it so awkward to install while reading your article. However, this comment makes sense: I’ve been using FreeBSD for years and I know to look in the Handbook and manual pages, and sometimes the Wiki, because they’re well written. However, I can imagine someone using the installer and a search engine might struggle.
I suppose the installer could point out relevant documentation, but there’s a chance people would ignore it, and much of the installer runs offline.
Also, I use an ethernet cable when running the installer, perhaps because I struggled running it over Wifi in the past.
I’d argue the same goes for you.
Contender to what?
FreeBSD is a rival to basically every hardcore Linux distro out there. It needs to compete with those, because that’s where the mainstream is now.
Ubuntu has gone from a weird little outsider to the dominant Linux distro in 18 years because of a laser-like focus on being easy, simple, quick, asking as few questions as possible and delivering a good experience that can rival Windows, but for free.
That has won it a tonne of mindshare. If someone’s first experience of Linux when they were a teenager playing with an old PC was Ubuntu, then 1% of those people will be IT managers or directors a decade or so later, and if there’s a choice of free OSes, they’ll go for the one they remember.
That’s how a distro that set out to be an easy desktop found itself unexpectedly the leading server distro on cloud servers, and is now somewhat clumsily pivoting to embrace that.
Which has in turn left an opportunity for Google, a Hydra-headed company with little direction but a lot of R&D budget, to make an easier OS than Ubuntu, dodge the horrid fiasco of UEFI and the legacy mess of BIOS, and put out a cheap, dead easy, basic home computer that your grandma can turn on and get online.
And now it’s outselling Apple, and has many hundreds of millions of users, while Ubuntu doesn’t really know how many users it has but guesses at 20 million or so.
The year of Linux on the desktop came and went in about 2019 or 2020 and the Linux world didn’t even notice.
This is the market: free xNix-like OSes for x86 PCs, slowly moving to embrace Arm64 PCs too. That is the sea in which FreeBSD is swimming. OpenBSD is in a smaller pool, NetBSD is in a smaller pond still, and Dragonfly isn’t even on the radar AFAICS. This isn’t their problem, unless they choose to make it theirs.
Does it want to be a contender?
No users means no money for developers. No developers means you die.
What’s that got to do with being “a contender”? There are many operating systems that have a healthy user base and a secure team of developers that aren’t contending to be user-friendly home desktop systems like Ubuntu, macOS, or Windows.
From a mainstream-usage-courting perspective that does of course make sense. But surely there’s room in the world for people in niches doing what they like doing and not having to explain themselves to anyone else? I mean, if they tried to insist that everyone else outside their niches use their niche stuff, then sure, they’d need to make it externally comprehensible (or at least intelligible/interrogable) - but if they’re quite happily carrying on existing in splendid isolation in their niches, doing things their way, taking advantage of the niche adaptations they’ve evolved and talking to other niche-dwellers about their niche activities in ways understood only by fellow denizens who’ve spent time understanding how things work in such niches, then why shouldn’t they? Why should they be forced to recognise anything?
Relatedly, why does everything seem to have a to be “a contender”? What if it just doesn’t care about contending?
See my response above.
There is a sense of what Linux will turn into upon Linus’ exit. Looks like rule by committee. Somewhere between C++ and the Browser. Not claiming I know for sure but probabilities narrowing with developments over the years. You also have major national (and security) interests increasingly active and competitive in the Linux kernel. And I’m not talking about benign, at the moment, EU-like flavors here. So I wonder if the BSDs will fill a vacuum that Linux will leave behind on Linus’ exit.
Personally, the writing is on the wall and I feel some sort of retro nostalgia for some future BSD distro I never used. I tend to look every few months at FreeBSD. Searching for something I lost but actually never had. FreeBSD core people and advocates always leave a good impression on me. I never met one in real life though. I like what they have to say when they say it. They’re open and not grandiose in my experience.
For little-people like me to get behind FreeBSD to help take it to wider-use, branding would have to be appealing or at least benign to a wide-tent. To each their own, perhaps, and I’m not into forcing or pressuring people to do things like that. Maybe FreeBSD is okay with the status quo.
Decision makers that could spread FreeBSD into the corners and crevices of industry, government, and computing won’t take it seriously because of the current messaging. A Sheikh to an Indonesian technocrat to a Eurasiatic minister to a Main Street American enterpriser , or just the everyday landlocked person. These are all potential left-behinds (non-stakeholders) in a Linux Mega National Corp scenario. Many regions, not culturally like Silicon Valley, EU, or China, respectively, will race to become techno-opensource hubs in the future if Linux goes that way (and it looks like it).
So there are always forking possibilities to take it to a more universal and highly-funded level. It has to appeal to more than a unix hacker of a begone era, whom I’m fond of. A friendly-fork, like Vim and Neovim where they lift each others boats and don’t seek to break one another (to my understanding). Not just cosmetic - a contributor-stakeholder incentive model that propels merge requests.
Um. Your username is apt; TBH that is all so abstract that I can’t get anything much material out of it.
The few things I can seize on to…
Branding? Who cares about branding? I certainly don’t.
Non-European/American relevance… frankly, Linux does better there, because it has quite good support for non-alphabetic scripts and text entry and so on.
Fragmentation of Linux after Torvalds dies… frankly, I am not worried. The licensing is solid, the community is strong, and anyway, imminent civilizational collapse due to global warming is far more likely. If you’re not terrified of that, then you don’t understand it.
No, if you are terrified of civilizational collapse due to global warming, you don’t understand it. Such is extremely unlikely, according to IPCC.
Yeah, no. You’re 100% dead wrong, but this is not the place.
Can you elaborate a bit further, even if it’s slightly offtopic?
Here’s a blog post I wrote last year, when the Thwaites Glacier started to crumble: https://lproven.dreamwidth.org/303704.html
It has some numbers for energy transport and things which you tend not to see much.
Well, it is continuing to deteriorate: https://edition.cnn.com/2022/09/05/world/thwaites-doomsday-glacier-sea-level-climate/index.html
Even the unpaywalled bit of this sets the context: https://fortune.com/2022/08/02/worst-case-climate-scenarios-dangerously-underexplored/
On multiple trend lines – more or less every one you look at – we are consistently hitting worse-case curves. A couple of examples – Warming: https://twitter.com/PCarterClimate/status/1566638132925448193 Oceanic acidification: https://twitter.com/PCarterClimate/status/1567345902637166592 CO2: https://twitter.com/PCarterClimate/status/1567980456548900864 Ice loss: https://twitter.com/CsuiteTechPoint/status/1568200250203979781
We are heading for a worst-case outcome: https://www.nzherald.co.nz/world/climate-change-scientists-say-worst-case-scenario-should-not-be-ignored/M4RBEJGO46PJQOZ3XQSFQY7ZXU/
The Paris accords were that 1.5º C would be catastrophic and must be avoided. We are now at around 1.1º-1.2º. 1.5º C by 2030 looks quite likely.
Even the financial papers are alarmed: https://www.bloomberg.com/news/articles/2022-09-08/climate-tipping-points-may-be-triggered-even-if-warming-peaks-at-1-5c#xj4y7vzkg
At the current rate, a rise of 5º-7º C by the end of the century looks quite likely.
This has been clear for over 20 years now: https://www.sciencedaily.com/releases/2001/07/010720093052.htm
Even at half that, most of the land that currently houses most of the human race will become uninhabitable: https://bigthink.com/strange-maps/what-the-world-will-look-like-4degc-warmer/
That is plausible in my lifetime, and I am 54. But my daughter is not yet 3.
In 15-25 years or so, entire nation states disappearing, and climate refugees in the billions heading for the sub-polar regions.
That is a situation that I do not think our technological civilisation can withstand.
Thanks for the writeup. Some of those links are very informative. I have done quite a bit of work in the statistics of extremes, albeit outside climate, and I think part of the problem is that people do not understand qualitatively what changes in these distributions entail. Little changes in means can have disastrous consequences as rare events suddenly become much more common and their magnitude increases.
In my place we used to have 1 or 2 tropical nights per year (defined as minimum temperature > 16 °C). This was the average till early 2000s. During the last few years, we have a mean of more than 20 tropical nights per year! Due to the mild climate all year round, we are now getting colonized by aggressive Asian mosquitos. If the mean temperature changes a bit and or the shape of the extreme value distribution changes a bit, events that were expected once or twice per century become something that you now see every other year.
I think the amount of disruption to local economies is going to be pretty massive. The EU has released a report that estimates changes in agricultural land value, and it is daunting: https://www.eea.europa.eu/data-and-maps/figures/predicted-climate-change-impact-on. The fact that land in Norrland (Sweden), which is currently an artic tundra is going to appreciate so much in value tells a lot.
Basically there is room for an upstream unix os to build worlds upon. Many with money or influence not familiar with the unix hacking culture or are non-Western are decision makers. Talking about those that approve funding the role out of consumer devices and their OS on major markets. Or major computing infrastructure projects that could be downstream of FreeBSD one day. Kylin was approved for the entire Chinese market by central figures (just an example and not commenting on politics).
Better support for different language needs is helped by more people working on such things on the project, which is exactly what I’m commenting about. Everything takes time to build. And to get people to onboard on to a project requires motivations based on strategic and values overlap.
I believe many will take one look at the website and branding and dismiss it as risky looking or not serious. You shouldn’t judge a book by its cover, but people judge books by its cover. In the defense of those that value appearance, if FreeBSD wants to accommodate people from outside the unix hacker culture or non-Westerners and others, the critique may be more than superficial. Certain things in the West decision makers are sensitive about (e.g. Github and others switched to ‘main’ branches over historic ‘master’). It’s not a stretch that others may look at FreeBSD and not like it, which kneecaps FreeBSD out the gate, possibly. But maybe it’s okay and FreeBSD is happy we’re they are or I’m just totally wrong here. I’m not a part of that community. Just an observation. i think FreeBSD is awesome.
And I wasn’t talking about fragmentation, which is an interesting take to be honest, but more like consolidation by the major corporate and national stakeholders in the Linux kernel.
IMHO the biggest problem Linux might face is complexity. The implementation is getting too big and messy.
We need better guarantees and better trust principles to avoid security issues and malicious code. The userland is even more problematic perhaps.
This is just a general problem in software development. We do not have yet rigorous engineering practices. Moving into something like Rust (memory guarantees) + static analysis + static/dynamic verification (via design by contract) would be a great step forward.
We also need a better architecture. eBPF is a very interesting development as it allows to build great solutions to identify suspicious activity in a given machine.
Do think that complexity could increase if Linus isn’t around? Or making strong decisions in some direction more challenging on his retirement? Linus is ‘cautiously optimistic’ about Rust.
Both, especially the first one. I think that without a strong manager, things could become more complex and there is an increased risk of malicious code.
Even if Linus is around, I think it’s time for more rigorous engineering. Rust is great as it is among the very few systems languages that may facilitate verification thanks to e.g. good ownership semantics.
I just switched back to FreeBSD for my daily driver - ThinkPad X250 - and I’m loving it, for the reasons mentioned by the author. I had the advantage though of starting from a set of setup scripts that I’ve been gradually tweaking over the years: https://git.sr.ht/~duncan-bayne/freebsd-setup
I am glad that you identified with the piece. :-)
I’m off work with COVID and this was very off-the-cuff. It wasn’t deeply researched or considered, just dashed off.
I find it very amusing that people are making comments like yours.
My piece was in fact meant to be condemnatory. I think it’s a bit of a mess and way too hard. The fact that I had to dedicate a whole disk to it is a damning indictment.
What I was trying to get it at was:
“If you do a tonne of unnecessary work that you really should not have to, it’s actually passable. This could do the job, if it were given some TLC, but as it comes and as it stands today, it’s almost impossible to get it to do anything useful. That’s a shame because underneath it is capable.”
I think Charles Stross’ comment on my blog nails it best. :-)
Haha :) I get that … and FWIW I agree, installing and configuring FreeBSD is very high-friction. It took me quite some time to learn enough to get it to the point of being a usable desktop environment.
But the bit that wasn’t condemnatory was quite complimentary ;-P
That’s a bit rambling, but sounds like he had an easier time with FreeBSD than I had with Debian on my MacBook.
I swear I hit every Linux pothole in existence getting that thing setup. Graphics issues, flaky binary blob WiFi firmware, sounds issues, suspend/sleep problems.. the whole nine yards. But it’s working great now.
Yeah, MacBooks remain tricky.
I made a lot of notes the last time I did one, and blogged about them: https://liam-on-linux.dreamwidth.org/2021/04/07/
Comments and additions welcome!