news
Review: An alternative OS for work and play
Quoting: DistroWatch.com: Put the fun back into computing. Use Linux, BSD. —
By Day #5 I felt I had a pretty good feel for what would work and what my limitations were on NetBSD. The portable little operating system was, in some ways, more capable than I had anticipated. On the other hand, it had some limitations and problems that were more debilitating than I had foreseen.
My biggest issue with NetBSD was probably hardware support. I didn't mention this near the start of this review as I didn't want to get bogged down in the details, but NetBSD has a few issues in this area. NetBSD is highly portable and it has been made to work on many CPU architectures - NetBSD famously runs on anything from servers to toasters - but it lacks hardware support for devices attached to those CPUs. In particular, wireless networking support is limited and my laptop's wireless card did not function.
This is a known issue and, from what I've read, a common problem for NetBSD users. It almost brought my trial to a very early stop. Luckily, for me and this experiment, I am accustomed to using various methods to get on-line. Anything from phone tethering to Ethernet cables to open source friendly USB wireless cards are in my toolkit. However, with the exception of one gamer I know who uses a network cable plugged directly into his router, I'm the only person I know of who uses anything other than wireless networking. Friends, colleagues, even my grandmother uses wireless and none of them are likely to have an Ethernet cable or open source USB dongle amongst them. My point is: NetBSD has a known weak point in wireless support and this is likely a deal breaker for most people.
People who can get over that first hurdle will likely find their next problem being sparse documentation. Throughout this review I have mentioned NetBSD's documentation and guides and they can be useful. They are also often out of date and thin on details. NetBSD is an operating system which requires a lot of manual work and does not provide much handholding. In these sorts of situations good documentation is essential. Unfortunately, NetBSD's documentation tends to act more as a quick reference for people who already know their way around the operating system rather than providing detailed information for newcomers or people who need to troubleshoot. Instructions are sometimes vague, don't mention specific files we will be using, or assume we know where to find things such as files, repositories, and package sets.
Those were the main stumbling points I ran into, especially early in my experiment. I will say NetBSD does have some strong points in its favour. The operating system is pleasantly small and clean. Almost everything is handled through simple commands and editing text files. What documentation there is tends to be written in clear language, and the package repository is well stocked. Some more obscure software is missing, but the main items, the basics people are likely to use on the desktop or for development, are present.
If I were setting up a simple, general purpose workstation or a server (ideally plugged into a network cable) then NetBSD would probably be a good solution for me. It's clean, simple, and stable. It is the kind of operating system you can set up and forget about until it's time to upgrade in a year or two. (New NetBSD point releases are published around once a year, though they do not appear to have a fixed schedule.) However, getting NetBSD set up and performing all the tasks we want initially can be a challenge.
Throughout my trial virtually anything I wanted to do was never as simple a just "install the package and run it". There was almost always some troubleshooting steps involved, some extra service to enable, a configuration file to edit, a setting to fix. Mounting a FUSE resource has permission problems; using QEMU requires enabling a module; a SquashFS archive can't just be mounted, it needs to be unpacked; Xfce ran from the command line, but not when launched from xdm; networking functioned, though very slowly until IPv6 was disregarded. It's possible to make all of these things work, often with just a few tweaks, but my point is that on most Linux distributions these items work automatically. Even on some operating systems closer to NetBSD, such as FreeBSD, these tasks tend to work without the user performing extra steps.
I suppose NetBSD was the ideal operating system for this self-appointed challenge. Virtually everything functioned, or there was a workaround available, but the operating system made me work for it. I probably spent an extra six or seven hours this week just trying to find ways to perform tasks I'd usually consider basic functionality on a Linux distribution. Usually, in the end, the tasks did work and I could celebrate the achievement, until it was time to try to install the next application or enable the next service and then the process would start over again.
After five days I was happy to return to Linux where even the less hand-holdy distributions tended to do what I wanted with minimal fuss. At the same time, I very much appreciated this chance to explore NetBSD in more depth than I have in the past. It's a platform I've only played with briefly in the past and mostly on a surface level. Getting into its nuts and bolts, squeezing more functionality (and sometimes unusual functionality) out of the operating system was a fun challenge. It has certainly given me more confidence in my ability to work with NetBSD, especially in small server or embedded environments where, in the past, I might not have considered using it in favour of more mainstream options.