Thought this might interest some people here. I want to be as fair as possible here. I have been using FreeBSD 10, and wanted to try OpenBSD 5.5 with no bias to see what it does better, and what it does worse. This will not be a deep tutorial that analyzes deep design philosophy differences, just the general experience of a guy wanting to use BSD as a stable desktop that follows Unix designs.
...
I first noticed that OpenBSD fails to detect my SATA HDD on my Gigabyte GA-945GCM-S2C mainboard. I presume because this mainboard lacks true AHCI mode, and instead does some IDE simulation nonsense, with no BIOS options to change the behavior. Thankfully, it let me install in USB HDD mode, so I just had to put the drive into an external enclosure first.
I then appreciated how much quicker the OpenBSD installation media loads. You only do this once, but it was still nice. The installer was entirely text-prompt driven, as a series of questions. I don't like this any more or less than FreeBSD's text-mode UI installer, nor Debian's graphical-mode UI installer. They all get the job done and are easy to use.
I was disappointed to see that GPT is not supported. I found the whole-disk formatter to have dreadful defaults, and way too many separate partitions. I was also disappointed that the FS was 4.2BSD. I would have at least liked to see UFS for TRIM support and compatibility with FreeBSD. ZFS would have been even nicer so that I could do software mirroring. No geli, so no whole-disk encryption option available either.
Installation proceeds nicely and quickly, and I'm rebooted into the new system.
I notice that Xorg can be loaded from the installer, but not /usr/ports. This is curious to me. I added PKG_PATH to env so I could start loading software.
I found it easy to add software (pkg_add -v xfce), but I found it took substantially longer. Xfce took around 15-20 minutes on OpenBSD, compared to around 1-2 minutes on FreeBSD, despite being roughly the same number of meta-packages. I noticed that it kept prompting me about conflicts, which I found kind of annoying. Eg file-roller asks you whether you want gtar, or gtar-static. gnumeric asks whether you want ghostscript, ghostscript-a4, ghostscript-a4-gtk, or ghostscript-gtk. I don't know which is better, I would prefer it if the package manager chose to best option for me. I ended up receiving no less than a dozen of these prompts throughout software loading.
I found the available ports to be quite lacking. There was no clearlooks-phenix-theme (which is the only GTK+ theme other than the hideous Adwaita that can theme GTK+ 3 applications; otherwise they look like GTK+ 1.2 did.) There was no brasero or xfburn4, so I would have to find a new way to burn CDs. There was no ibus-mozc (Japanese IME), so I would not have the convenience of an offline IME pad for looking up unknown Japanese characters. But other than a few key misses, most of the essentials were there.
I did quite enjoy the way I did not have to ask for dbus or hald to run to get input on Xorg, and that I didn't have to tune kern.ipc.shm_allow_removed=1 to get Chromium to display pages. I didn't get into mounting drives, so I don't know if you still need devfs rules or not. I also enjoyed the way Firefox's fonts out-of-the-box were properly anti-aliased. I did not have to install MS web fonts nor create a fonts.conf override like I did with FreeBSD. Also very nice was that once my user was in sudoers, the Xfce restart/shutdown options were enabled without having to create an org.freedesktop.consolekit.pkla file. These are minor steps, but important for someone who's never used the system and wants to try it out quickly. So I have to give credit to OpenBSD for configuring their installed binaries more thoroughly upon installation.
Since there is no official nvidia binary (and like FreeBSD, no nouveau), Xorg defaults to nv. I don't know what the deal is with nv. It feels like instead of just software-rendering, it uploads my window graphics to the NASA Voyager satellite, waits for it to respond with the data, and then displays it on my screen. I moved a 600x400 settings window from the left to right of my monitor. My entire system deadlocked for the next 3-5 minutes as I watched, horrifyingly, as each and every step of the movement was rendered, watching each and every line rendering, from the bottom up, of each window movement. I had to go to VESA, and since I lack any video cards that offer 1920x1080 in VESA mode, that meant I was stuck at 1440x900, the best I had.
I was really, really surprised to see that glxgears ran in software mode (albeit at 177fps, compared to around 130,000fps with the nvidia driver.) Hopelessly slow OpenGL is better than no OpenGL, so I wish more systems would make Mesa setup transparent and out-of-the-box like that.
I noticed that OpenBSD lacks memcontrol, so the only way to configure MTRR to speed up VESA more would be by writing my own program to invoke the relevant ioctl's. That sucks. I skip it for now, as even stock Xorg vesa is about 100x faster than Xorg nv. It's also missing a logout command, so I have to use exit (what am I, a farmer?)
It comes with sudo in base, but it seems it verbally abuses you if you type your password wrong. I have a sense of humor, so I'm not offended, but it's still not very professional. We don't need to give reasons to PC PHB's not to use the BSDs. I wasn't immediately sure if "are you on drugs?" meant I wasn't in sudoers, or that I typed the wrong password.
I didn't notice my FreeBSD 10 bugs of libvte+/bin/sh causing random terminal crashes, nor Firefox deadlocking Xorg for up to 30-seconds on 8MP+ images without MOZ_DISABLE_IMAGE_OPTIMIZE exported, so that was also nice. Thunar is still screwy, and the refresh button doesn't actually refresh the folder, so you don't see file size/type changes until you navigate to a different path and back. I suspect this is a Thunar bug more than a BSD bug now.
Next, I noticed that OpenBSD lacks OSS, instead having sndio. I kind of wish I could have tried it (to test latency, mixing and non-blocking options), but OpenBSD does not support my Creative X-Fi Go USB audio card out of the box. But I'm still unhappy with it not being OSS, as I already have written audio drivers for OSS, ALSA, PulseAudio, PulseAudio-Simple, libao, OpenAL, SDL, DirectSound and XAudio2. And I still need to do WASAPI and JACK. I am kind of tired of writing audio drivers for my programs.
I can't fault OpenBSD 5.5 for having newer software than FreeBSD 10, but it seems to be much further along in having GTK+ 3 versions of various programs. gnome-system-monitor, file-roller, etc. Xfce needs some of these Gnome components to be fully functional, and it was very native and clean with Gnome 2 apps. But since I get GTK+ 3.10 instead of FreeBSD's 3.8, I also get fun like the Gnome devs deciding GTK+ apps should draw their own title bars, even though the window manager still draws its own title bar as well, so my gnome-system-monitor draws Inception title bars (a nested title bar inside of another title bar.) But, I know that FreeBSD 11 is going to have this same issue. Still, I like that I get one last year of respite from the Gnome devs before I have to find replacements for every GTK+ 3 application I use.
...
In conclusion, there's a lot to like, but a lot to dislike. I feel that while Debian Linux is incredibly bloated, FreeBSD seems to trim most of the fat. OpenBSD seems to trim all of the fat, and begins to cut into the muscle. It's so lean that I find myself wanting for things as basic as a way to burn CDs or make GTK+ 3 applications look nice.
It's a bit easier to get a desktop up and running out of the box with no experience (still nothing compared to Debian's ease in this regard), but the lack of binary nVidia drivers really cripples the system for most users. I liked that, despite its insistence on security, that I didn't find anything harder to set up or do. For some reason, I expected I would not be allowed to su to root with my user account out of the box, and other things like that. But it was all smooth sailing.
I like OpenBSD's extra security measures quite a lot. But I don't find it to be worth the dearth of ports, the missing hardware support (I couldn't use my GPU, my SATA HDD, nor my USB audio card; all of which FreeBSD happily used), or the lack of important technologies that I really enjoy: no ZFS (and thus, no software mirroring/striping/RAID, no volume management), no DTrace, no GPT, no powerd (CPU throttling), no memcontrol (MTRR configuration), etc.
It just feels too barebones. I feel I've already sacrificed a lot for FreeBSD (no Flash, no Java, no Steam; some of which I could get if I jumped through flaming hoops, I know), which already sacrified a lot from Windows (no Falcom PC games, no Photoshop, no scanner driver; again, hoops I don't want to jump through.) OpenBSD seems to go a bit too far, and I feel a lot like when I use (what I consider to be) purely hobbyist toy OSes like Haiku, Plan9, QNX Neutrino and Inferno. I would start to have difficulties getting real work done.
Given its immature SMP, I could only heartily recommend it for a low-traffic, low-maintenance server. If you want high-traffic scalability on a server, or a workable desktop, I'd recommend FreeBSD. It's totally worth the extra bits of setup you have to do, and hey, those teach you more about the system anyway, right?
But it's promising, though. If FreeBSD were to ever implode (like it did for a while with 5.x's necessary SMP transition), it could potentially be made a fallback with enough effort thrown at it.
My biggest take-away of what I want to see more of in FreeBSD is ports/packages creating/modifying the necessary configuration files for you. Maybe that scares system administrators that installing Xorg would enable dbus, or that installing Xfce would create a consolekit policy file for you, but I think that would be a step in the right direction overall.
...
I first noticed that OpenBSD fails to detect my SATA HDD on my Gigabyte GA-945GCM-S2C mainboard. I presume because this mainboard lacks true AHCI mode, and instead does some IDE simulation nonsense, with no BIOS options to change the behavior. Thankfully, it let me install in USB HDD mode, so I just had to put the drive into an external enclosure first.
I then appreciated how much quicker the OpenBSD installation media loads. You only do this once, but it was still nice. The installer was entirely text-prompt driven, as a series of questions. I don't like this any more or less than FreeBSD's text-mode UI installer, nor Debian's graphical-mode UI installer. They all get the job done and are easy to use.
I was disappointed to see that GPT is not supported. I found the whole-disk formatter to have dreadful defaults, and way too many separate partitions. I was also disappointed that the FS was 4.2BSD. I would have at least liked to see UFS for TRIM support and compatibility with FreeBSD. ZFS would have been even nicer so that I could do software mirroring. No geli, so no whole-disk encryption option available either.
Installation proceeds nicely and quickly, and I'm rebooted into the new system.
I notice that Xorg can be loaded from the installer, but not /usr/ports. This is curious to me. I added PKG_PATH to env so I could start loading software.
I found it easy to add software (pkg_add -v xfce), but I found it took substantially longer. Xfce took around 15-20 minutes on OpenBSD, compared to around 1-2 minutes on FreeBSD, despite being roughly the same number of meta-packages. I noticed that it kept prompting me about conflicts, which I found kind of annoying. Eg file-roller asks you whether you want gtar, or gtar-static. gnumeric asks whether you want ghostscript, ghostscript-a4, ghostscript-a4-gtk, or ghostscript-gtk. I don't know which is better, I would prefer it if the package manager chose to best option for me. I ended up receiving no less than a dozen of these prompts throughout software loading.
I found the available ports to be quite lacking. There was no clearlooks-phenix-theme (which is the only GTK+ theme other than the hideous Adwaita that can theme GTK+ 3 applications; otherwise they look like GTK+ 1.2 did.) There was no brasero or xfburn4, so I would have to find a new way to burn CDs. There was no ibus-mozc (Japanese IME), so I would not have the convenience of an offline IME pad for looking up unknown Japanese characters. But other than a few key misses, most of the essentials were there.
I did quite enjoy the way I did not have to ask for dbus or hald to run to get input on Xorg, and that I didn't have to tune kern.ipc.shm_allow_removed=1 to get Chromium to display pages. I didn't get into mounting drives, so I don't know if you still need devfs rules or not. I also enjoyed the way Firefox's fonts out-of-the-box were properly anti-aliased. I did not have to install MS web fonts nor create a fonts.conf override like I did with FreeBSD. Also very nice was that once my user was in sudoers, the Xfce restart/shutdown options were enabled without having to create an org.freedesktop.consolekit.pkla file. These are minor steps, but important for someone who's never used the system and wants to try it out quickly. So I have to give credit to OpenBSD for configuring their installed binaries more thoroughly upon installation.
Since there is no official nvidia binary (and like FreeBSD, no nouveau), Xorg defaults to nv. I don't know what the deal is with nv. It feels like instead of just software-rendering, it uploads my window graphics to the NASA Voyager satellite, waits for it to respond with the data, and then displays it on my screen. I moved a 600x400 settings window from the left to right of my monitor. My entire system deadlocked for the next 3-5 minutes as I watched, horrifyingly, as each and every step of the movement was rendered, watching each and every line rendering, from the bottom up, of each window movement. I had to go to VESA, and since I lack any video cards that offer 1920x1080 in VESA mode, that meant I was stuck at 1440x900, the best I had.
I was really, really surprised to see that glxgears ran in software mode (albeit at 177fps, compared to around 130,000fps with the nvidia driver.) Hopelessly slow OpenGL is better than no OpenGL, so I wish more systems would make Mesa setup transparent and out-of-the-box like that.
I noticed that OpenBSD lacks memcontrol, so the only way to configure MTRR to speed up VESA more would be by writing my own program to invoke the relevant ioctl's. That sucks. I skip it for now, as even stock Xorg vesa is about 100x faster than Xorg nv. It's also missing a logout command, so I have to use exit (what am I, a farmer?)
It comes with sudo in base, but it seems it verbally abuses you if you type your password wrong. I have a sense of humor, so I'm not offended, but it's still not very professional. We don't need to give reasons to PC PHB's not to use the BSDs. I wasn't immediately sure if "are you on drugs?" meant I wasn't in sudoers, or that I typed the wrong password.
I didn't notice my FreeBSD 10 bugs of libvte+/bin/sh causing random terminal crashes, nor Firefox deadlocking Xorg for up to 30-seconds on 8MP+ images without MOZ_DISABLE_IMAGE_OPTIMIZE exported, so that was also nice. Thunar is still screwy, and the refresh button doesn't actually refresh the folder, so you don't see file size/type changes until you navigate to a different path and back. I suspect this is a Thunar bug more than a BSD bug now.
Next, I noticed that OpenBSD lacks OSS, instead having sndio. I kind of wish I could have tried it (to test latency, mixing and non-blocking options), but OpenBSD does not support my Creative X-Fi Go USB audio card out of the box. But I'm still unhappy with it not being OSS, as I already have written audio drivers for OSS, ALSA, PulseAudio, PulseAudio-Simple, libao, OpenAL, SDL, DirectSound and XAudio2. And I still need to do WASAPI and JACK. I am kind of tired of writing audio drivers for my programs.
I can't fault OpenBSD 5.5 for having newer software than FreeBSD 10, but it seems to be much further along in having GTK+ 3 versions of various programs. gnome-system-monitor, file-roller, etc. Xfce needs some of these Gnome components to be fully functional, and it was very native and clean with Gnome 2 apps. But since I get GTK+ 3.10 instead of FreeBSD's 3.8, I also get fun like the Gnome devs deciding GTK+ apps should draw their own title bars, even though the window manager still draws its own title bar as well, so my gnome-system-monitor draws Inception title bars (a nested title bar inside of another title bar.) But, I know that FreeBSD 11 is going to have this same issue. Still, I like that I get one last year of respite from the Gnome devs before I have to find replacements for every GTK+ 3 application I use.
...
In conclusion, there's a lot to like, but a lot to dislike. I feel that while Debian Linux is incredibly bloated, FreeBSD seems to trim most of the fat. OpenBSD seems to trim all of the fat, and begins to cut into the muscle. It's so lean that I find myself wanting for things as basic as a way to burn CDs or make GTK+ 3 applications look nice.
It's a bit easier to get a desktop up and running out of the box with no experience (still nothing compared to Debian's ease in this regard), but the lack of binary nVidia drivers really cripples the system for most users. I liked that, despite its insistence on security, that I didn't find anything harder to set up or do. For some reason, I expected I would not be allowed to su to root with my user account out of the box, and other things like that. But it was all smooth sailing.
I like OpenBSD's extra security measures quite a lot. But I don't find it to be worth the dearth of ports, the missing hardware support (I couldn't use my GPU, my SATA HDD, nor my USB audio card; all of which FreeBSD happily used), or the lack of important technologies that I really enjoy: no ZFS (and thus, no software mirroring/striping/RAID, no volume management), no DTrace, no GPT, no powerd (CPU throttling), no memcontrol (MTRR configuration), etc.
It just feels too barebones. I feel I've already sacrificed a lot for FreeBSD (no Flash, no Java, no Steam; some of which I could get if I jumped through flaming hoops, I know), which already sacrified a lot from Windows (no Falcom PC games, no Photoshop, no scanner driver; again, hoops I don't want to jump through.) OpenBSD seems to go a bit too far, and I feel a lot like when I use (what I consider to be) purely hobbyist toy OSes like Haiku, Plan9, QNX Neutrino and Inferno. I would start to have difficulties getting real work done.
Given its immature SMP, I could only heartily recommend it for a low-traffic, low-maintenance server. If you want high-traffic scalability on a server, or a workable desktop, I'd recommend FreeBSD. It's totally worth the extra bits of setup you have to do, and hey, those teach you more about the system anyway, right?
But it's promising, though. If FreeBSD were to ever implode (like it did for a while with 5.x's necessary SMP transition), it could potentially be made a fallback with enough effort thrown at it.
My biggest take-away of what I want to see more of in FreeBSD is ports/packages creating/modifying the necessary configuration files for you. Maybe that scares system administrators that installing Xorg would enable dbus, or that installing Xfce would create a consolekit policy file for you, but I think that would be a step in the right direction overall.