> Currently, FreeBSD lags behind in key areas such as [...] laptop-specific functionalities like suspend/resume
Many years ago I migrated to FreeBSD and absolutely loved it. I was forced to migrate back to Linux once I started a job and ended up staying with Linux to this day.
A few months back I decided to give FreeBSD another shot. The one thing that was an immediate deal breaker was being unable to suspend/resume on my desktop computer. For my workflow, that's an unnecessary waste of power / energy.
Just wanted to share this testimonial to outline the importance of suspend/resume for non-laptop hardware. Almost every time I see this discussion, it's focused on laptops.
By the way, I'm extremely excited about this initiative to make FreeBSD more attractive to non-server users in general (not only new ones). That will surely be a huge benefit to the entire community. If I can't run FreeBSD on my machine, I won't runt it on my servers.
Am I the only one that never uses suspend/resume? If I'll be away from my laptop, I save everything and shut it down. If something is running, I plug it in and lock the screen.
I did, routinely, with my ThinkPad until a month or two ago. See, it would surreptitously turn itself back on (to hit Windows Update!) and kill its battery overnight. I tried turning everything off; didn't work.
Just over a month ago, https://news.ycombinator.com/item?id=41442490 was posted. I went into the BIOS, changed the "sleep mode" to "Linux" (at least ThinkPads still consider this), and... in sleep mode, I lost about 2-3% of battery overnight. Tops. I still hibernate for most situations, as I don't use the laptop much, but when I know I'm going to be using it often, it's nothing, and it works the way things were supposed to.
The regressions in standby/suspend are staggering inthe last 3-5 years. Peak stability was with my t480s, just proper s3 support. Currently it's hit and miss with this silly s0ix shenanigan.
Idk about “the only one” but surely that’s rare. Why would you want to take the time to save, quit, reboot, and reopen everything instead of closing your laptop which takes less than a second?
I used to do the same, but being able to put my laptop on a shelf for a week or two and get back to what I was doing is really convenient. It's basically as if you had instant fast boot with no downsides.
Since getting a MBP I'm not shutting it down. Not sure what magic they are doing (some very deep sleep) but shutting it down't is absolutely not needed... When I step away I just close the lid and then open in it 1h or a couple of days and have everything as it was ready to work in split second...
Suspend-to-disk does pretty much that - it saves the contents of your RAM to swap. Suspend/resume should be transparent to most applications, perhaps excepting those that rely on a real-time network connection.
I mostly live in the windows world, and since at least Win 7 its sleep and hibernate have been reliable enough that I use them regularly. When I'm deep into a project for work I can easily have a dozen apps open. Having to reopen them multiple times a days is (to me) just a waste of time when sleep works great.
I only use suspend/sleep because it's much faster to get back to what I was doing. If I shutdown I have to open everything again and some things (Fusion 360 for example) take a good 30-60 seconds to open the program and documents and be in a usable state.
I run xubuntu as my main os on my laptop for many years now and I never suspend. Always full shut down.
I do let it sleep when plugged in but that's just sleep not suspend/hibernate. So on my desk at home it's usually just a mouse wiggle to resume where I left off. But when I shut down it's a shut down.
I don't know why people say it's some kind of deal breaker neccessity. I have it available and don't use it.
I would just never turn off my computer if I had to do this. It’s far too much effort. I much prefer suspend, it’s a nice compromise between power saving and convenience of always on
Why not? I can’t see any reason to waste time booting when your computer can be ready to go in an instant, with everything you were working on undisturbed.
Nope, I don't see the point now that we have SSDs and fast boot. Browsers, IDEs, even stuff like Notepad remembers where it was after a reboot so it's not like you'll lose any in-progress work you couldn't be bothered saving.
I disagree. There are still tons of apps that don't "save state" exactly where they left off, including browsers. I absolutely dread restarting every time I am forced to do it for kernel updates, because that means I have to re-open all the same programs and navigate back to where I was again. And I don't like saving any browser history so that means re-logging into a handful of sites, doing the 2FA dance etc etc., it's really a big hassle.
If you have chosen not to save your browser history then obviously the history will not persist - the feature you opted not to use has been disabled as designed. If you set your browser up to have persistent history (the default for all mainstream browsers) and ensure the option to restore tabs on browser restart is enabled (I think also the default nowadays due to rise of mobile) it really does just work. Worst case after an epic crash that even the browser itself doesn't recognize Ctrl-Shift-T will get you back, even if you had dozens of open tabs in multiple windows, even after a reboot.
For other stuff, if you always have the same set of programs open and always put them in the same place, your window manager should restore that for you after a reboot on UNIX. It's been two decades since I used X frequently but even back then window managers could pin apps to fixed screen positions. On Windows default positioning has often been a bit less predictable, but there are custom window managers there too if you really want it. In any case the default window manager has plenty of keyboard shortcuts to very quickly open and arrange apps how you want them.
My work laptop boots to logon before I even get the charger, mouse and monitor plugged in, and after typing my password I'm back with my browser and IDE running, VPN connected, WSL up etc in less than a minute, usually while still mid smalltalk/greetings with my colleagues.
With the move to cloud-saved everything and the expectation of users that all their data should always be synced across all their devices, you need to go out of your way to find and/or configure apps to not automatically persist settings and state these days. For some apps I make that decision deliberately because I don't trust the middle man (e.g. bookmarks and tab sync) but that's a personal choice I make to forgo convenience for privacy. If the FreeBSD (or Linux) desktop experience is not doing this kind of stuff out of the box, then I think that's one of the first things it could do to meet the expectations of people coming from Windows/Android.
From my perspective suspend/restore is perhaps fine if your laptop never leaves the office, but I usually find myself more annoyed than delighted when it kicks in by accident. Your battery life starts to hinge on literally the efficacy of your laptop's physical hinge, which if you bash your computer around a lot during commute is less dependable than an on/off switch. And nothing worse than having your back suddenly get hot because your laptop decided to wake up while you're cycling in multi-lane traffic, especially if your morning schedule has you in meetings instead of charging at your desk.
In general I disagree with what you're saying, there are still tons of programs that don't have any cloud syncing, plus not everyone wants to use that. There's also many WM/DEs that do not re-open running programs or keep window positions, including basically all the ones I use. Plus I also run many programs as different users, for privacy/isolation purposes, which no DE can handle in that case.
I also have historically (and still) had major issues with suspend/resume when a discrete GPU is involved or some other hardware device that linux can't resume properly, I always end up having to just reboot anyways which defeats the purpose.
> If I can't run FreeBSD on my machine, I won't runt it on my servers.
How does offering a laptop or desktop OS experience relate to being a great server OS?
Anyway, the last time I was using FreeBSD on a client was in the late 90s. I am still running FreeBSD servers. It never bothered me that running that particular OS on a laptop maybe could be a challenge. The FreeBSD project has limited resources in terms of money and developers and I'm quite content seeing that going towards building a great server OS.
Diverting people and money towards a better laptop support just means competing with Linux and I don't see FreeBSD bringing something really compelling to the table. At best it'll just do everything Linux already does.
I use to be a FreeBSD user ages ago, but stopped at v5. I tried again at v8 and loved it, but back then I had to remove it due to disk space.
But one think bothered me. They love to patch some packages, a notable one is ssh. I wish at least in that case they trust the OpenBSD folks :)
But one thing I like a lot is jails and I had a jail for GIMPS and an ssh portal to transfer files to/from work. I think jails are much better than Linux docker and friends. I wonder if creating jails have gotten easier since v8 ?
Now all I have is laptops, and I have stayed away because of I heard of poor laptop support. I toy with giving FreeBSD a shot again, but will wait for the outcome of the Laptop project they started.
> I wonder if creating jails have gotten easier since v8?
I think iocage was released after v8, so yes, definitely! Not only creating, but managing jails as a whole. In many ways, iocage can be compared to docker when it comes to container management.
It really depends hard on the quality of the systems firmware, i.e. the BIOS/UEFI, no matter if laptop or desktop/thinclient.
I recently got some obsolete/EOL thinkcenters for homelabbing fun. They do S3(suspend to RAM) with everything I've thrown at them. Even most exotic stuff like https://genode.org/ (though only running 'live' from the USB-Image that they offer, didn't install so far). FreeBSD did it, NetBSD did it, various Linux Distros did it, without exception. The one currently running does it, too, without having had to setup anything.
Be it via the little power-button on the front, or some hot-key combination choosable from the UEFI, OR simply another hot-key delivered by the keyboard. In my case that blue thing between ALT-GR and right-CTRL+F12, then slapping any key afterwards turning it back on. (might by undesirable if you have cats, kids, whatever)
Anyways, WITHOUT exception! I did try this like mad, off'n on off'n on like a stroboscope, at least a 100 times.
One of the problems with suspend/resume is simply: nobody is looking at it or trying to improve it. There is no progress because nobody has tried. The current recommendation is "if suspend/resume doesn't work, disable all of the drivers until you work out which one (of many?) is causing the issue, and work on a fix - sure, people could do that, but most won't - and not even knowing which driver is the issue is annoying.
Until recently, rc scripts (think initd on Linux) had functionality that could be executed on system resume, but not on system suspend - like stopping a service on suspend. Why? Simply because nobody added that functionality for ages [0].
Similarly, drivers often have suspension but not resume capabilities (why?) which means they need to be added by someone who actually tries to use suspend/resume. [1] is an example of this (around midway through the section).
I recently took the time to get FreeBSD set up on my MacBook Pro from 2015, and it took quite a few kernel patches to get it working - many of which I don't think should have been missing already [2].
Webcam support is another issue; at the moment, webcamd is unmaintained because the developer passed away. Even then, it is just an emulator for Linux's USB subsystem and relies on some random person's GitHub for v4l2-loopback support using a branch called "my-build"[3].
Wifi is also an issue, with the best option for fast wifi support being the usage of a nano Alpine Linux VM, and using Linux's drivers [4]. If your wifi device is even supported, it's probably quite slow.
If all three of these things ever progress, I can see FreeBSD being more accepted by the masses. It is a great OS, but for personal computing, there are clear issues.
Suspending desktop systems is unusual, but these days traditional ACPI S3 (and S4) suspend is missing from more and more systems in favor of the far less efficient modern suspend just so your notification terror continues around the clock.
I think what FreeBSD and any other systems need is either compatibility or something similar to NixOS. Declarative systems management seems ripe for BSD derivatives.
But it has to be done right. As much as I love GUIX for example, GUIX is hampered by not being able to support a lot of hardware by design.
- Native (and modern) ZFS, you don't have to worry about a kernel update breaking your filesystem as with ZFS on Linux
- Containerization in the form of Jails
- A high quality type-2 hypervisor
I personally think the effort of getting better desktop support is a lost cause, it really shines on the server and should really double down in that area with improvements to things like CPU microcode updates (I really like the way SmartOS handles those) maybe pull in some things from OpenBSD like unveil and pledge (FreeBSD has Capsicum but it's not as good IMHO.) Perhaps also some kind of smartmon-like tool integrated into base.
They also need to fix the long standing issues with ports vanishing. It's that issue where you update all your packages and some port you once used has some dependency that prevented it from building and now you're stuck without that essential port until it gets fixed. I don't know how to fix this but Linux does not have this problem but I've been bitten by it on FreeBSD a couple of times and it hurts.
Yes you can, "iocage export/import" or "iocage fetch" with export you have a single compressed file (the zfs filesystem) and a manifest file...that's it.
However you can also use podman (aka docker) or other "Container-tools":
It can be done. I do it every few days, so the mechanisms to do that exist, but there is no agreed upon exchange format to form a community around to reuse work packaging application deployments.
Not really though I think there are some half-baked projects that aimed to do that. You can get somewhat close by doing a `zfs send` to a file. You still need the jail configuration though (I suppose you could put that _into_ the filesystem.)
There's no "jailhub" that I'm aware of but could be completely wrong. IIRC there is some risk of importing a zfs dataset that you didn't create as the data stream is sent straight through the kernel.
> What do you mean, “lost cause”? I use it just fine on the desktop.
I don't see the benefit in trying to compete with MacOS, Windows, ChromeOS or Linux in the Desktop space. Those platforms have the desktop app mind share there's very little commercial desktop software created specifically for FreeBSD while on the other hand there have been several successful commercial embedded and server products created on FreeBSD. To me, it makes sense to focus on the strengths of FreeBSD.
Saying that, I realize anyone is free to work on what they find interesting!
> Regarding your last comment with vanishing ports, it’s not something I’ve experienced with 20 years of FreeBSD usage.
I'm a Linux user who has never used BSD. I'm not attached to Linux specifically, but it's still hard to imagine switching. It just feels like whatever motivations might exist to switch are at the wrong layer.
It's easy to imagine trying a new flavor of ice cream, but switching to BSD is more like trying a new brand of spoon.
These days I'm a Linux user mostly because it's the best place to use nix. So along those lines if BSD wants new users then I think it should start by attracting the kind of user who is going to do something noteworthy with it. Be the foundation for an attraction, don't try to be the attraction.
I'm not sure what that'll be specifically, but it's probably currently the ambition of someone who is a die hard BSD user who needs help bringing BSD with them to someplace cool and not the casual preference of somebody looking for a place to write hello world.
It's a step up from Windows, but you're still in an experience crafted by a huge company with goals that you might not agree with. For instance you need a third party app to prevent your screen from sleeping I guess because Apple needs a third party to blame for when doing so reduces your battery life?
Plus the window manager is awful and all of the third party apps that improve it are gimped by Apple's limited API (they can arrange windows spatially but they can't move focus spatially, i3-style).
If you're going to bother climbing out of the corporate control labyrinth you might as well go all the way and pick something community maintained.
* Docker is important, I don’t want ‘experimental’ support that breaks all the time. I need it to just work.
* Headsets need to work. Bluetooth never works and my USB headset just screeches every boot because it seems to open the mic and play it back through the speakers.
* Wayland support is iffy at best. Screen sharing just doesn’t work.
* webcams are supported by webcamd which is maintained by one guy who unfortunately died suddenly a couple of years back.
You have to clearly and honestly answer "Why BSD and not Linux?" Does anyone here have a concise answer that could apply to many?
The 2nd question is what do folks get with Linux which they don't get with BSD? For me choosing Linux is somewhat off the beaten path, choosing BSD is like vacationing on Mars. There's going to be very little/sparse support living there.
I specifically choose an OS/distro that's well used/tested. That used to be Ubuntu but I don't trust Canonical leadership, so now it's Debian (or at least Debian repository-based). I don't have such a choice with BSD (unless it's a Mac).
If you want a desktop, it may or may not be for you.
If you rely on VPSes, it may not be for your because your options for providers here are somewhat limited.
However, if you are running your own hardware for your own server, and you are of a sysadmin temperament that likes to know exactly what's going on (because you put it there), then FreeBSD is excellent. Stable, reliable, everything works like the Unix you wanted and signed up for.
I have several decades of experience working through the commandline, and that's how I prefer to do things. FreeBSD makes this a first-rate experience. And I have to say that the deep integration of ZFS on a server under your control is life-changing.
I use a Macbook for the everyday things, like making presentations or playing games or movies. It is by far the best experience, since everything just works. (A Windows machine may be the same for others, I just prefer MacOS.) So a Linux desktop has no particular value for me.
But if you want to keep a stable of servers, each running under your specific control, to the point you have a poudriere machine to provide specifically built packages for your herd of machines and a bevy of automation scripts to keep them under control, FreeBSD is certainly something to look at.
So let's focus on the case where I'm setting up a bunch of bare-metal hosts as servers. What's the value proposition of using FreeBSD over Debian/Ubuntu if we're not counting familarity?
Either experience will be CLI first, so this is a tie.
ZFS integration is one point. If that's important to you, then you'd want to pick a distro like Ubuntu with first-class support. All major development happens on the Linux on ZFS branch as far as I understand, so this should be okay.
As the original post points out, FreeBSD used to have unique features as selling points: zfs, dtrace, the network stack (before SMP became ubiquitous?), kqueue, jails. I'm sure there are others. But these days it seems Linux has caught up with developments like ebpf, cgroups, namespaces and io_uring.
I'm sure the fragmented nature of Linux means that some of these low-level techs are easier to use on FreeBSD. The counterpoint is that the higher-level stack is more well-supported on Linux. You may not have to care too much about the details of namespaces and cgroups if high-level docker/kubernetes/... tooling works for you.
Ironically, these were the kinds of issues keeping Mac/Windows folks from Linux 15-20 years ago. The difference now is that Linux is the incumbent. Users were willing to suck it up—not so much anymore.
There were clear reasons why people wanted an alternative, general-purpose operating system back then, but now that Linux completely owns the niche, what are the reasons to use FreeBSD?
As a user since around 4.10, I'd argue that it's easier to use, has a better community, and has better documentation. However, these points have to contend with the enormous market share and proliferation of GNU/Linux, which makes problem solving on the platform just as easy, if we're being honest (especially with AI-driven tools that can resolve many day-to-day needs).
I can connect to wifi on my old Thinkpad running Haiku. There's no reason FreeBSD shouldn't have full support for wifi out of the box. Even OpenBSD has better wifi support. After many years, reasons start to look like excuses. Make it work.
But at the end of the day, if I work a long time at it I can get FreeBSD to do everything Linux can do. But that's kind of the problem. New users are casual users. What does FreeBSD offer that Linux, MacOS and Windows don't that isn't related to running services on big hardware?
FreeBSD just ends up being like another distro people hop to occasionally, find it doesn't support all their hardware or the software they're used to, and they hop to something else.
To me, the BSDs are zen gardens to Linux's Kowloon chaos. I use both, lovingly.
A lot of what I build and manage I expect to touch maybe once a release. Even between LTSes, that can require a lot of catch up on Linux. With the BSDs, knowledge and practices are generally transferable, even decades later.
As for your front end, my advice is to use whatever shiny sparks your joy. Local (desktop) resources are a solved problem on every platform, hence why I still use an inexpensive 4GB Chromebook. If I need to serve any particular desktop environment from a remote host, that's trivial. Why would I try to limit myself?
- something simple like ufw where you can get a good, safe base set of firewall rules without having to be an expert. Or at least a clear set of pf rules people can use for web servers etc, like the default/base rules for ufw.
- Docker support. I understand why people don't like it, but it's just a reality now that people need to use.
Lifetime Linux user here (desktop and server) - FreeBSD has always been off my radar because I never had a real reason to care about it. Why should someone like me consider it over the cornucopia of perfectly good Linux distros out there?
I don’t think there’s a good reason. BSD has comparatively poor hardware support, and software availability, while generally ok, is worse than Linux. BSD is simpler to modify because it’s all one stack and it has a license that benefits selfish users. That’s about it. Linux mopped the floor with BSD and it’s probably in large part due to a license that prohibits selfish users. Everybody needs an operating system and the GPL benefits everyone who uses Linux, including those who compete with each other. I wonder how many BSD modifications and drivers never see the light of day because developers aren’t required to share.
In April this year we had to move a FreeBSD server to another colo: Uptime 3172 days, just rebooted, did not bother with an update and ever since it has been
serving some high traffic sites. All relevant security patches are applied but in all this time there was not a single vulnerability we had to fix that required a reboot.
FreeBSD doesn't suffer from the bazaar complex that linux does, in that for each given system there is generally only one way to do things, and the documentation is both succint and comprehensive. One of the most frustrating things about Linux to me is that every flavor requires its own understanding and it doesn't seem like anyone can agree on standards (gnome vs kde, systemd vs init.d, rpm vs deb vs snap etc etc)
It does have a Linux compatibility layer that sort of works, but not enough to run everything I tried to run on it.
Can't speak to FreeBSD, but I've run OpenBSD on firewalls for like 30 years, mostly because it is actually good at this, and the syntax, while changing, did so more slowly, and was more sensical to use than all of the linux ipchains/iptables/nftables menagerie (which, I will admit has improved - nftables isn't half bad).
It's also good from an ecosystem perspective to have a few parallel implementations of the same thing, as it avoids a bugs/flaws that could affect all of a monoculture.
Also, I'd rather have something made by people who are more paranoid than me, and are driving forward unix implementations - for example, the work done on 64 bit time_t.
It just works better for my specific use case. If you have a use case where FreeBSD works better, go for it.
Some BSDs are known for having more performant network stacks, and more cohesive software libraries. Each BSD seems to stake out a niche: OpenBSD is security, NetBSD runs everywhere, and (IIRC) FreeBSD started free when others cost money.
Were known for high performance TCP/IP stack around 10-15 years ago. Linux caught up (and overtook) FreeBSD long ago. The rest were simply never there.
Allan Jude is involved in a couple of podcasts and his advice is always the same: you pick FreeBSD because that's what you know. That's pretty much it.
I haven't seen an apples to apples network performance test in a while. Maybe some shops pick their OS based on network performance, but most pick their OS for other reasons and then bend it until the network performance meets their needs. Most OSes have at least good enough network performance; I wouldn't run a public tcp server on MacOS because they don't have syncookies, and I wouldn't run a large multicore server on OpenBSD because afaik, they're missing cpu pinning and I don't know if their scheduler is biased towards keeping processes on the same core --- everything else should be fine.
Netflix has contributed some general network performance increases, but the real big increases are only there if you are serving files from disk, with TLS, and you have a NIC that can accelerate the bulk crypto.
I like FreeBSD and choose it when I can, but I've never had occasion to benchmark it. I prefer the stability of user experience and the expectation that old documentation still applies that FreeBSD has and Linux doesn't. When I've dug into kernel source, I feel like FreeBSD source is better organized and easier to understand, but that might be familiarity bias.
Ultimately it becomes just as silly as any microbenchmarks. Most people don’t care that they can do 100G line rate. But the superior QoS implementations available for Linux make a real performance difference for many people. For example, as a typical gateway, Openwrt will perform better than pfsense simply because of cake. I am not Netflix, I do not have their problems and very few do.
Nevermind their competitors doing fine with Linux.
I’ve messed with it as as a desktop OS and always found it not worth the setup when fedora/ubuntu just work on most systems I’ve used them on. FreeBSD is an outstanding server though, I run several services on cheap VPS out in the cloud and it’s rock solid and security issues see to come up far less often which is very important to me for anything outward facing to the wild and wooly internet
> OpenBSD gets this right, they have clearly defined their global audience as being the “secure OS”.
True but what's funny is I use OpenBSD on my laptop because it "just works" and is super simple to configure and maintain. The security part is a nice side effect! I don't have to fiddle with Xorg.conf, suspend/sleep just work right out the box, lovely.
But especially with OpenBSD, an unreasonably large number of features that less extreme users expect, simply aren't there or do not work properly. Hardware compatibility is still an enormous problem, even on Linux. It's not uncommon to have to buy 3 different USB wifi adapters to find one that works reliably outside of Windows. Many laptops still won't even boot the installer or have some essential missing hardware support like bluetooth. It's always a never-ending battle it seems. Sure for some users who get lucky and just happen to have the right hardware and possibly don't need such features it "just works" for them, but definitely not for everyone. Not by a long shot.
Definitely! The "security" hook works to pull people in, but what keeps us is how much simpler it is and how messy everything else feels after getting used to it. FreeBSD has a ton of cool stuff, but none of it is really unique or messaged in a way that draws people. Where OpenBSD advertises security, NetBSD advertises portability and hackability - Free has all those too, but it doesn't communicate them well.
Make it look nice and be simpler/easier to use. Support more hardware. Advertise it more.
Unfortunately people like what's familiar... and so to really appeal to the masses you have to inch further and further away from what actually makes plan9 different from everything else, at least visually.
I have a thinkpad x1 nano, not sure if that is considered old or not.
I've ran: Windows, Debian, FreeBSD, and OpenBSD on it and OpenBSD is the one I've gone back to and kept because everything works out of the box (except maybe the fingerprint reader - not sure because I don't use it anyway)
Another angle to look at this is ravynOS, a desktop OS that could attract people interested in MacOS. The project is based on FreeBSD and has lots of customization to provide a familiar desktop experience. While the main site hasn't been updated for a while, the GitHub has a release from this year.
That project misses the forest for the trees. What matters is that I have a setup I can buy that just works. Applications behave consistently. I don’t have to worry that some major software isn’t compatible.
That’s a much higher barrier but it’s the important one.
Between the FreeBSD foundation's investment in Bluetooth / WiFi (mentioned in OP's post) and this goal of ravynOS, what specific things are being missed here? Please share your insights!
Trivial macOS and Darwin applications may run directly on ravynOS. This is an active area of work and research. AppKit-based source code may build and run natively.
Power management and proper trackpad support (gestures, multitouch, etc) will be major stumbling blocks. There's also effectively zero projects that target only AppKit. GNUStep has been around for almost 30 years and has not gained any momentum on the Linux desktop.
I am very worried that as soon as ravynOS gets popular, a giant lawsuit from Apple, possibly over the UI or something else, will force it to stop development forever.
If I was working on a project like that I would be doing it completely anonymously.
I'm not sure if NomadBSD offers a "live" desktop experience, but like GhostBSD, it is another attempt at a complete FreeBSD desktop: https://nomadbsd.org/
Docker, Proton, and with the exception of creating a password it should be possible to do a full install by doing nothing but pressing enter throughout the entire install process.
Speaking on that, the install process is weird when trying to add a user. It always fails because the group does not exist (it should probably create the group at this time).
What kind of new users do you want to go after? Are you targeting the demographic of users who are tired of windows and microsoft's shenanigans and who are looking towards switching to Linux, for example?
I’ve been using FreeBSD occasionally for about 20 years. I like FreeBSD; it’s a no-nonsense operating system with excellent documentation and high-quality source code.
There is a question that affects all of the BSDs: what does it mean to be a non-Linux Unix in the 2020s? 20 years ago, there were many commercial Unixes that were in use, such as Solaris, AIX, HP-UX, and IRIX. POSIX was the main interface that the Unix world, commercial and open source, had in common. The BSDs benefitted in this ecosystem by being able to run software that kept portability in mind, since there were so many Unixes to support.
20 years later, commercial Unix seems to be largely dead, and Linux has become the dominant Unix-like OS. I get the sense that some software developers are less concerned about compatibility across Linux, *BSD, and macOS and are instead singly targeting Linux. This leads to software with many “Linuxisms.”
Should there be an updated POSIX to tackle new technologies, or should the BSD world recognize that Linux has become the standard and thus focus on implementing interfaces to technology from the Linux world?
I love the BSDs, but I’m concerned that the FOSS ecosystem is increasingly ignoring them.
On a related note, the BSDs are respected by its users for its conservative, deliberate approaches to new technologies. There is a tendency in the Linux ecosystem for solutions to be pushed before they are fully formed, and there is also a tendency to prioritize features over adherence to the Unix philosophy. I see pushback from the BSDs when it comes to Linux containers, systemd, and Wayland. However, if Linux technologies become the standard by application developers, then the BSD world will either be forced to write compatibility layers or will have to do without those applications.
For me, integrate an init system that allows for proper dependency management between services. Also, one that keeps track of all processes spawned by a service, allowing me to shut down a service, even if it isn't a well-behaved one with a single daemon process.
That's more or less the only thing stopping me from using FreeBSD (on servers).
And that’s okay, I doubt systemd would ever end up in current BSD derivatives meaning that it’d attract new contributions, some of which could be merged into the originals.
Seems like there's quite the uptick in posts about the various types of BSDs out there. I wonder why that is. Cool group of OSes though, they feel pretty well engineered.
Personally I still often find myself wanting to use something that makes running OCI/Docker containers for mostly-contained workloads as easy as possible.
Better Wifi and the ability to control AMD-GPU Fans, makes not sense that i can play Eldenring on FreeBSD for 2 minutes, then full crash because of GPU overheat ;)
GPU's are getting more important every day, not just for workstations but servers too (LLM's for example)
i think their market should focus on enterprise offers. Like the author mentioned, flush out the features of their hypervisor. Additionally some built in quality of life setup and native features (web dashboard? feature parity with vended solutions)for operating any infrastructure services like DHCP, file server, directory services, etc. This would compel orgs that need a “set and forget” system for this stuff. This isn’t anything new for FreeBSD — and in many cases they are really close, but it’s the clincher.
How about FreeBSD focus on paid high quality apps?
Linux has already cornered the market of freeloaders who never want to pay for anything and programmers who have to compile and configure and terminal-hack even the most basic functionality, because developers don't want to polish their apps to be easy to use for the benefit of freeloaders.
The greatest strength of MacOS is that you can buy the highest quality app that exists for anything that you can do with a computer, for a rather cheap price usually. If you need a feature you can talk to the developer, and they're usually happy to implement a feature since their customers are paying them for their effort.
Hell, if you can make a FreeBSD desktop environment of sufficient high quality, you can even charge for that (just as OS X used to be paid), and let the other stuff remain free. Let the open source folks stay in the Linux swamp and move on with FreeBSD to something better.
Maybe settle on a few hardware devices on the list of most popular sold hardware and give them the attention to make sure that FreeBSD 100% works on those. Then the users can have a list of devices that they can purchase if they want to use FreeBSD, instead of trying to shoehorn it onto their current device.
Valid suggestion but there are a few issue with the premises
> the market of freeloaders who never want to pay for anything
Wanting something you have full control over does not means you don't want to pay for anything. But most current monetization schemes fails with experts. In other professions, the tools are actually power tools with sensible contracts. In the software world, it's mostly rent-seeking.
> because developers don't want to polish their apps to be easy to use for the benefit of freeloaders
If I create something that works fine for me or for the community, why should I go out of my way to add features for another person or another group? I'm not creating a business. It's like asking Médecins Sans Frontières to give you free consultations at home.
> The greatest strength of MacOS is that you can buy the highest quality app that exists for anything that you can do with a computer
Except server stuff, or gaming, or anything that requires to have full control over the hardware. I love MacOS SDK, and couple with how it allows for proprietary builds and low effort to support, I understand that it's a nice platform for creating paid apps. But paid apps often comes with nonsensical restrictions, all to protect the business.
###
> Maybe settle on a few hardware devices on the list of most popular sold hardware and give them the attention to make sure that FreeBSD 100% works on those.
Why not asking hardware vendors to be more open about their drivers? A nice example is the Asahi project, a lot of work have been done and are being done just because Apple don't want to document the hardware or even the firmware that drives it.
> In the software world, it's mostly rent-seeking.
I can't agree at all with this. Most people using computers would have no chance of making the software they are using, and why should they? Do you really expect a magazine designer to first program her own publishing software? There's no point in that, she is a designer and should spend her time with what she is best at. You can then call any and every profession "rent-seeking", since they all involve becoming an expert in something that other people could also become experts in if they sunk the same time into it. I can learn how to make my own leather shoes provided enough time, but I prefer to buy them and focus my time and effort on things I'm better at.
> If I create something that works fine for me or for the community, why should I go out of my way to add features for another person or another group?
That's why I'm saying that FOSS people should stay in the Linux swamp (or garden if that's your thing) and maybe FreeBSD could explore other relationships between developer and user. Why should you go out of your way to make your software easy to use? Because then it will be useful to people who are not programmers, which is 99.999% of computer users. I have to remind readers that the question was how to make FreeBSD attractive to newcomers. Being able to use your computer the way you need without being a programmer is essential for a newcomer. Programmers are not newcomers, even if they switch OS.
And why not make it a business when you are providing a professional service? You can earn quite a lot each year as a side-income before you need to make any special tax arrangements or even register a business.
> Except server stuff, or gaming, or anything that requires to have full control over the hardware.
Server stuff is what I consider the back-end. This is not for normal users, it's not for newcomers. But to be honest, I'm quite curious as how Mac OS X Server was as a software before it was discontinued. Could it be used by non-sysadmins for their needs? Not considering cost-efficiency which is not important on small scales, just considering setting up working servers.
Computing has regressed on some important fronts. For example making websites was something that anybody could do in the past, with graphical tools such as Microsoft Frontpage, Netscape Composer and Artisteer. Now I don't know any such modern tools, unless you want to host on Wix. Why is that? Your ISP used to give you a space to host your own website.
> Why not asking hardware vendors to be more open about their drivers?
Because the question was how to make FreeBSD more attractive for newcomers. Why would hardware vendors care about that at all? Unless FreeBSD becomes so attractive that customers start voting with their wallet for hardware that is good with FreeBSD.
> Most people using computers would have no chance of making the software they are using.
Building software and selling it is ok. The issue comes comes when you no longer sells it, but rent it instead, which is what the current subscription trend is about. Some are ok with renting, but some prefers to buy it and own the current version. They don't expect the seller to maintain it for free (which no one does in the real world), and are perfectly fine buying a new version when the old one isn't working anymore, like when people buy a new pair of shoes. But companies like Adobe or Microsoft don't like that.
> Being able to use your computer the way you need without being a programmer is essential for a newcomer.
I agree, but every tool comes with a manual. And I strongly believe that a general purpose computer is a specialized tool. MacOS and Windows are not easy either. They have an army of customer agents, have published lots of training content, and added lots of safeguards to give the illusion that the computer is easy to use. But anyone who does not have a tech person close will struggle. To get what you want is to build a console, like the chromebook.
> For example making websites was something that anybody could do in the past
I think that because there's no money incentive to do it. Everyone is on platform like Facebook, X, or Linkedin.
###
I fully agree on making something easy for people that just want to work on something, and that's why you build specialized interface hiding anything that's not relevant. But there's cases that requires more flexibility and access to behind-the-scenes.
> Building software and selling it is ok. The issue comes when you no longer sells it, but rent it instead, which is what the current subscription trend is about.
I couldn't agree more, and that's why I like the great ecosystem of pay-once quality apps for MacOS, which you can get for a fair price. Instead of subscribing to Photoshop and installing spyware, I can buy Affinity Photo for a very fair price. Same thing with all kinds of pro or prosumer software. Could this be a path for FreeBSD for people who like that kind of deal, but as an alternative to Apple? Apple will never make it easier to install a different OS on their hardware, because their business model is hardware+OS.
If you provide people with a GUI for doing things, you vastly increase the amounts of newcomers you can service. The terminal scares most people, because they are worried about destroying their computer. Which they have reason to.
Or maybe FreeBSD could become a community where also the developers pay each other for software? This would provide incentive for developer effort where it is most needed. First for the basic tools and later to more and more specialized and end-user focused tools. Compared to FOSS, where developers are just focused on what they think is interesting to work on and there's no other incentive.
> MacOS and Windows are not easy either.
It was super easy for me to switch to MacOS after years of Windows. Most newcomers to FreeBSD wouldn't be people who have never used a computer. They'll be familiar with the mouse, GUI buttons, etc.
> But there's cases that requires more flexibility and access to behind-the-scenes.
I agree, and these functions should always be accessible graphically. Think 3D modeling software, music production software, or spreadsheets. Even for iOS Safari, you can access extremely detailed settings with a graphical interface. No need to type about:flags
My 2 cents: I started to use Linux in the 90s , having only experience with DOS/Windows. What helped me a lot at the time was Midnight Commander:
https://en.wikipedia.org/wiki/Midnight_Commander
then I stopped to use it being proficient with Linux command line interface.
At some point, I had to start working with AIX, it has something similar but more powerful , SMIY/SMITTY:
that also has an explain function that permits you to see the command line it is about to use to execute your instructions. That explain functionality has very high educational value and could facilitate the initiation ritual for people already Unix-like initiated. So should be nice to have a similar tool of FreeBSD , if not already present ( if it's present, please tell me in the comments because I would like to evaluate a FreeBSD based laptop ).
I used to use FreeBSD, but went to Alpine Linux because jails were too hard/much work to setup and configure (especially the network). Basically all I really want is docker compose.
Yeah, it was several years ago, so I can't remember what my issue with it was, just that it didn't feel anywhere close to as nice or polished as the base system. Anyway, looks like the project is dead now (the github repo is archived).
As a developer it’s support for more programming languages and tooling. As well as rallying behind semi modern hardware like the Framework laptop.
I’d love to be able to put FreeBSD on a Framework and have the WiFi work right off the bat.Then be able to download Dart and Flutter, and build directly on FreeBSD.
As it stands, I can make it work with my thinkpad and if I want to program in C/C++ In Emacs and Vim things work just fine, but most people want more than that in this day. and age.
I wish someone made a whole graphical OS like Windows with its own base windowing API ala the Win32 instead of depending os DEs.
Want to install a font? There must be a GUI in the system for that and that means the system needs its own GUI toolkit instead of deferring to GTK or Qt.
Right now Linux isn't an alternative to Windows. It's GNU/Linux/Systemd/GTK/GNOME. Why not put all of these five different things into a single DesktopBSD package like Windows?
FreeBSD lacks three things before it’s a contender on the desktop/laptop:
- WiFi speeds competing with Linux/MacOS/Windows
- Bluetooth support that doesn’t suck
- suspend/resume
We can talk gaming later.
I use FreeBSD as my primary OS despite these major flaws. I consider other things in my computer system more important.
FreeBSD has the best package manager for both sources and pre compiled binaries.
Thanks to virtualisation, I can at least get fast WiFi. Still holding out for the other missing features.
You'd be happier with a virtual machine I think. Last time I put FreeBSD on a RPi it was less than satisfying, though to be fair it was a Pi Zero and it was quite a while ago, so support was very early.
The FreeBSD Handbook is a great resource. Read it and see if it tickles your fancy.
> FreeBSD: How Can We Make It More Attractive to New Users?
The slices system and requirement for a primary partition was a hard deterent.
I need to check how it plays with GPT and UEFI. Also giving some hints about some minimum partition size and inode settings with UFS will be nice.
I don't care about wifi or bluetooth or suspend, and i like the old init system.
If by "users" you mean people interacting with Plan 9 directly (i.e., using Plan 9 to access a service over the internet) rather than IT workers making web sites, my reply is, Make it possible in Plan 9 to run a web browser that handles random web sites as well as the mainstream browers do.
Note that on the mainstream OSes, although browsers do their own rendering, the rendering is tuned to match the rendering done by the OS. I.e., the degree and kind of antialiasing, hinting and font shaping is chosen so as not to visually clash with the rendering done by the OS.
I say this because last time I ran plan9port on a Mac, the text in the drawterm window clashed very strongly with the text in the other windows, particularly browser windows. (My guess is that drawterm was using bitmapped fonts.) I found switching my gaze back and between drawterm and the other windows to be quite punishing. A few days ago we had a discussion on this site of Uxn. I downloaded and test drove this Uxn, and it had the same problem. Again, the problem is that although I expect I could quickly get used to the way the text is rendered by Uxn or by Plan 9, I would never get used to the unpleasant things that happen in my brain when I switch my gaze back and forth between text rendered by Uxn or Plan 9 and text rendered by one of the mainstream OSes.
I was thinking more about IT workers, primarily targeting server and some workstation workloads, which is still more or less what FreeBSD targets. I don't think either should push for general appeal.
Most drivers relies on being able to do their job unencumbered. Which means giving them information they need, and relaying their messages to the material. And that usually means tight coupling to the kernel. Creating a translation layer is maintaining the Linux API (aka all current functions). And BSDs have different submodules for some stuff.
Most drivers issue stems from the hardware being undocumented. Not knowing the initialization parameters, not knowing the protocol, and the functions,as well as the various settings that influence each other. And Linux allows for binary blobs, which means things are opaque even when working.
The problem is that this only works if your hardware supports emulation and you can actually use PCI pass through - for USB devices, you'd need to pass the whole USB hub, for example.
I'm not convinced it is a realistic goal to attract more new desktop users, given that what would get /me/ to consider moving is if FreeBSD offered a better UX than the big 2, Linux and macOS. As it is, it doesn't: performance is less, feature set is less, software availability is less; and as a result, developer enthusiasm to fix any of these is less. Libraries and workflows are already tuned to work on either x86_64 Linux or ARM64 macOS. Second system effect will always get you, especially when you're the fourth system! We've already seen this play out with OS/2, a technically superior system at that point in time which lost the long race and only bought itself some life support with Windows compatibility, ATM install base, and general corporate torpor. Your product must win on its merits, but those merits have to be ones that appeal to buyers, not you-the-product's-developer.
Where I find FreeBSD especially suited, and what I think FreeBSD should lean into is making its platform THE attractive embedded/specialist/RTOS(?) option for companies building products they don't necessarily want to open source. Go do what Linux did to Solaris and Irix, and put VxWorks and QNX out of business. The BSD license and the current 'fair source' trend (responding to the friction between Stallmanesque Open Source and capitalism) seems to me a synergistic pairing. Get funding from companies to maintain the base so they don't have to, and charge them handily for integration consultancy. Use that to bootstrap achieving parity with Linux, and then perhaps more folks will climb on the bandwagon.
You mean what Intel/AMD/Dell/Nvidia did to Solaris and Irix.
SGI couldn’t sell enough hardware, the OS was of no consequence. Back when SGI was circling the drain, most of their customers were perfectly OK to migrate over to NT.
Linux eventually fucked over Microsoft. Because Microsoft kept the desktop but (mostly) lost the datacenter.
> put VxWorks and QNX out of business.
Numerous potential customers of these products use Linux (the kernel GPL often isn’t an issue). Those that can’t are unlikely to migrate to FreeBSD either. Their remaining incumbent customer base is often in an industry where migration costs are higher (qualifications, certifications), those companies provide value adds (GUIs, toolkits, specialized hardware and simulation libraries) far beyond just the kernel (Wind River will even gladly sell you Linux if you want). Undercutting a little on a kernel license isn't compelling.
And it’s not like FreeBSD is a great RT kernel or has much to help with safety certification. FreeBSD is usually not technically appropriate to replace vxWorks, and when it is, Linux will usually do just fine.
Whatever it is it needs to run Docker... it should do that. Jails are cool and bhyve is neat, but the world has chosen docker and cgroups and I got sick of not being able to join the party. I've since replaced my FreeBSD install with Proxmox on Debian (with docker in a privileged container) and never looked back.
I read "can we migrate to more attractive, new users", b/c I was thinking of neckbeards.
Petition to target femboys in coding socks instead! Who is with me?
Holy shit this page layout is hilarious on a desktop-sized browser, the text is crammed into a tiny box that takes up 1/3 of the horizontal and vertical space and has its own tiny little scrollbar. I feel like it is 2003 and I am looking at a Livejournal that was meticulously designed to perfectly frame everything on its author's 800x480 screen, except for the lack of rococo details placed around the little text window.
Yep if you want to make it more attractive don't break the browser for anyone trying to read your blog. Page Up/Down did nothing, there was no indication on how to navigate this page. I didn't read it.
1. Change the logo from a demon to something else. (no matter if it is a play on the word "deamon", it is repulsive to many of the 2.4 billion Christians that can be potential users of FreeBSD)
2. Make an officially supported windows-like desktop environment.
3. Explain what is the purpose of FreeBSD and how does it help us solve our problems.
If you find the logo offensive or even repulsive then that's your right and I wouldn't presumable to challenge that. However, I know for a fact that there are many Christians who do not have a problem with it. "Repulsive to many of the 2.4 billion Christians" is obviously false. Many of them would probably find it equally offensive that you're (ab)using their faith and speaking in their name.
Even if the logo wasn't the devil, it would still be unattractive to a general audience of people.
The windows logo, in my opinion, is a good logo because it doesn't convey anything superfluous, it is a window.
Seriously, the point is not to make it appealing to a certain group of people, but to make it a tool for everyone who needs it.
May it be a Christian or any other person.
You are getting downvoted, but there are obviously tens (hundreds??) of millions of people of faith--not just Christians--who would instantly reject any product with a demon as its mascot.
Funny how the desire to attract new users seems genuine up until someone mentions the glaring elephant in the room, and then you're downvoted to oblivion.
I, like many others, would never use FreeBSD precisely because it promotes the idea that demons are cute, and it's made by people who see nothing wrong with that.
There is, but your karma is not high enough to be able to see and use the feature. However, you can notice comments that were downvoted more than upvoted by their grey text color (if you are sighted).
Many years ago I migrated to FreeBSD and absolutely loved it. I was forced to migrate back to Linux once I started a job and ended up staying with Linux to this day.
A few months back I decided to give FreeBSD another shot. The one thing that was an immediate deal breaker was being unable to suspend/resume on my desktop computer. For my workflow, that's an unnecessary waste of power / energy.
Just wanted to share this testimonial to outline the importance of suspend/resume for non-laptop hardware. Almost every time I see this discussion, it's focused on laptops.
By the way, I'm extremely excited about this initiative to make FreeBSD more attractive to non-server users in general (not only new ones). That will surely be a huge benefit to the entire community. If I can't run FreeBSD on my machine, I won't runt it on my servers.