The mumblings of a Christian autistic husband, dad, IT guy and amateur radio operator - Will Brokenbourgh / AF7EC
I Want to Love FreeBSD and OpenIndiana -- I Really Do
Related: FreeBSD Follies
For nearly ten years I've used an 'alternative' operating system on my work computer and have had the usual ups and downs that come with using anything designed and maintained by human beings. Here, 'alternative' means "non-Windows" and "non-Mac". I've used and/or tried all of these (and probably more) at one point during my near ten year stretch. In no particular order…
Debian Linux, Arch Linux, FreeBSD, Slackware Linux, GhostBSD, OpenBSD, AntiX Linux, CentOS Linux, NetBSD, OpenIndiana, Solaris, Salix Linux, PCLinuxOS, Minix, Haiku, Redox OS, Puppy Linux, Knoppix Linux, DragonFlyBSD, Ubuntu Linux, Fedora Linux, Void Linux, Alpine Linux and a few others.
The more unique the operating system, the more I want to run it as my 'daily driver', but it has to actually work well and have the packages I need. And a huge requirement is that if it's Linux, it cannot be using systemd as the init system!
systemd - The beginning of the end of the true 'spirit' of
systemd was probably created from good intentions, but how quickly it consumed the familiar modular set-up of Linux. I cannot list all of the things systemd does now (besides being the init system), but the Borg-like assimilation of various functions that were previously provided by modular components is at the least concerning, and at the most downright disastrous. Folks, I do NOT want this nonsense on my computer!
With so few Linux distros able to meet all of my requirements -- no systemd, must have VirtualBox running reliably, must have the networking tools I need to connect remotely to people who need help, must have the development libraries and tools to build software, must be updated frequently for security and bug fixes, must be actively supported and not glitch on me every five minutes -- I turned my attention to the BSDs and OpenIndiana.
The BSDs - A mixed bag with a hole at the bottom
For over a decade I have been trying to get one of the BSD's to work well for my purposes, and the closest I've ever come is FreeBSD. FreeBSD has nearly all the packages I require, the core system is nearly rock-solid and it's so easy to configure. Downside: Packages/ports consistency and quality stinks.
Some FreeBSD ports have had zero problems, while some ports (like Firefox, Thunderbird and PCManFM) crash frequently for no apparent reason. VirtualBox sometimes works, sometimes just freezes, depending on the guest operating system. I actually was using FreeBSD as my main operating system until just the other day, when I was trying to troubleshoot an OpenIndiana problem in a virtual machine, only to have the guest OS freeze every time I tried to update it. (Yes, I've tried all the settings and tricks posted online). I didn't have time to file yet another problem report about FreeBSD ports -- I needed to actually get something done and stop wasting time. So I had to go to my fall-back OS, Linux, where VirtualBox works flawlessly and I was able to get the OpenIndiana guest working properly.
The FreeBSD forum is filled with a ton of very knowledgeable people, however you sometimes have to endure some harshness before you get the information you want. Many of the users on the forum are hard-core FreeBSD users who don't relish the thought of -- (gasp!) -- outsiders invading their precious territory! It's an operating system y'all -- it's not like I'm coming to pillage your village or carry away your livestock! hehe
With OpenBSD, I found that it's fairly stable and while package management is not on-par with FreeBSD, and while OpenBSD's installer is crazy weird when it comes to partitioning, I'd probably be using OpenBSD right now if I could actually run VirtualBox on it. I get it, the OpenBSD folks don't want to litter their kernel with proprietary blobs and so-forth. It makes the OS that much safer and less complex, but for users like me, well, too bad about that VirtualBox, eh?
NetBSD has not really seen much up-time on my computer, when I can install it at all. I chuckle a little when I think of NetBSD's motto "Of course it runs NetBSD". My computer just recently has been able to install NetBSD due to some fixes they must have added, but with the lack of working VirtualBox in their main package repo, it's a big red 'NO' for me, unfortunately. Wake me up with VirtualBox is fully supported on NetBSD, and I'll be thrilled to give it another spin.
OpenIndiana - A personal dream that's still a bit out of
The first real operating system I used at work (besides 'toy' OSs like MS DOS and Windows 3.1) was SunOS. I remember my time using the SPARCStation in the early 1990's as fun and interesting, as Windows wasn't nearly as cool and my employer wasn't really using Macs for anything of consequence. That time of using SunOS, although brief, piqued my interest and put me onto a path that has kept me looking for a modern version of my beloved SunOS ever since.
As most know, Solaris is a successor to SunOS which is still available through Oracle. I'm not sure what I feel about Solaris itself as I haven't been able to use it for long. I'm also very concerned that it's under Oracle's stewardship because of their less-than-friendly attitude toward the open-source community. I have similar worries about VirtualBox and Java, too.
OpenIndiana Hipster is one of many 'answers' to the Oracle Solaris problem. It is a reasonably well-put-together distro that appears to provide compatibility with Solaris. I was using Hipster for a little while as my main OS until some unfortunate problem came up with -- you guested it -- VirtualBox. I installed a contributed version of VirtualBox and was enabling the associated services when Hipster started to go into an endless reboot cycle. Because my ZFS chops aren't at the same level as my ext4 and UFS knowledge, I could only access my Hipster system read-only, and couldn't make any repairs to salvage it. I even asked for help through the OpenIndiana IRC chat, but no one came up with any replies.
OpenIndiana also has some weirdness when it comes to audio and video hardware. I had to move from a newer AMD Radeon card back to a much older NVIDIA GT-610 video card in order to run Hipster at the correct resolution, and the OS was having difficulties configuring audio. In the three times I've re-installed OpenIndiana Hipster, my audio has acted differently each time. It's a little unnerving knowing that your operating system is going to act unpredictably every time.
On 2017-04-09 cwekurtz replied: "Your issues with audio are due to Pulseaudio, not the OpenIndiana sound subsystem."
Compared to FreeBSD, Debian, Ubuntu and others, OpenIndiana Hipster's
package-management is super-slow. When searching for something on FreeBSD
or Debian, the results come up almost instantaneously, while a search can
take five to ten seconds with Hipster. Sometimes Hipster package searches
actually fail due to a repo timing out. Dependency resolution isn't too
pkg doesn't do the smart thing by default when
you're trying to install packages from alternative repos. You'll want to
at least add the SFE repo for packages that don't come with the default
install and you'll probably want to add the Encumbered repo if you want to
listen to or view anything other than OGG or WAV files.
On 2017-04-09 Aurelien Larcher replied: "You should correct this part because you compare apples and oranges. By default pkg search applies to all actions i.e package names, files, directories, users, groups, services ... while apt search in packages name. So basically you compare one algorithm looking through all existing file paths in the repository (pkg ~ 1M) and one looking at package names (apt ~40k)."
The default desktop environment on Hipster, Mate, is pretty good for general use. I'm a lightweight software kind of guy, so I like Fluxbox, fbpanel and PCManFM, but Mate wasn't so heavy on the resources that it got in the way of work. I like my windows in specific locations and sizes on my screen, so I was definitely missing Fluxbox's apps rules. You can use Fluxbox on OpenIndiana Hipster, but you'll need to compile it yourself (thus far) and you'll have to do some minor copy/editing of sessions files to get Fluxbox to show up in Light DM's session menu.
OpenIndiana Hipster definitely is worth a look if you are a Solaris fan and don't want to use what Oracle is pushing. Hipster is actively developed and maintained and the community is very friendly. I have to say they probably go out of their way to be friendly, so don't be afraid to post on their mail list or IRC channel. It's definitely not the FreeBSD or Arch community!
The end of the adventure, for the moment
When VirtualBox was messing up the other day in FreeBSD, I called it quits and booted into Linux. I knew that the Linux distro I'm using was going to do what I required of it, and not do stupid stuff like crash frequently and for no particular reason. I am NOT a Linux fanboy, folks, just someone who wants to get work done. Even with the advances with FreeBSD and OpenIndiana, I had no choice but to fall back to the particular Linux distro I use because I know it will get the job done for me.
Because there are so few active (or motivated) developers in the FreeBSD
camp, bugs and feature updates don't get worked on very quickly. I imagine
that the few hard-core FreeBSD devs are working on the core system,
security issues and maintaining popular packages, which leaves the other
packages to go stale or remain broken. Just about every package you
install with FreeBSD's
pkg command has the 'This port does not
have a maintainer…' warning on it. That stinks. If there were more folks
using FreeBSD, more than likely some of them are going to developers who
want to help out. The ports wouldn't be so inconsistent and maybe someone
would figure why in the stinkin' world Firefox and Thunderbird crash
suddenly and dump core when idle when not being actively used.
OpenIndiana Hipster is a really cool project, and I really look forward to them tightening up Hipster as time goes on. I can't wait until it's stable enough to use every day, and that more work has gone into supporting a wider range of hardware. I'd really like to see another branch of OpenIndiana that is less concerned with maintaining legacy Solaris compatibility and is more functional, with a faster pkg system (maybe work with NetBSD's PkgSrc project?) and is geared more toward general desktop users.
FreeBSD needs an infusion of fresh blood and OpenIndiana needs more time, so for now, I'm stuck with my fall-back -- Linux. I really can't wait to get away from Linux, though, and use a more Unix-like operating system that can run the things I need it to, without a bunch of crashes, glitches and broken updates.
God bless you, and thank you for reading!