Crowding out OpenBSD
lwn.net
lwn.net
I, and several of my colleagues, have been running dozens of OpenBSD systems for about 10+ years. In particularly, OpenBSD had an elegant IPv6 Firewall/failover mechanism about 5 years before Cisco finally decided to port Active/Failover to their ASA platform - so we were forced through sheer necessity to deploy OpenBSD in what was otherwise an all Cisco shop. Further to that, OpenBSD's ability to track several hundred thousand shortlived UDP sessions state fully on inexpensive x86 systems saved us several 10s of thousands of dollars over the equivalent Cisco systems.
At one point, all of HPs internal infrastructure was transitioned off of the Cisco ASA onto OpenBSD firewalls - OpenBSD is reliable, and industrial.
Needless to say, I'm a fan of OpenBSD and consider it critical to the various infrastructures that we deploy.
I've never been tempted (nor, to my knowledge, have my colleagues) to even consider installing X-Windows on an OpenBSD system. So the entire thesis of this article is beyond silly to me.
And, even in the server market, it's falling behind in terms of support. The VPS market has gotten really big really quickly; the OpenBSD team has legitimate concerns about trying to run a "secure by default" operating system in a virtualized environment, but unfortunately that point of view has resulted in OpenBSD being completely unavailable on Linode, prgrmr, EC2, Slicehost/Rackspace, etc.
I have no idea if OpenBSD's installed user base is growing or shrinking overall. But, I expect that it's rapidly shrinking relative to the amount of support that Linux is currently enjoying, and that's going to lead to OpenBSD getting less and less upstream support, which is eventually going to strangle the project. The small OpenBSD development team simply won't have the resources to rewrite all of the big upstream packages. (And I'm not talking about Gnome here; OpenBSD already has its own httpd and its own smtpd, for example.)
Please provide a source for this.
In this regard I think OpenBSD worked better, for everything else, including workstations, Linux was well above anything that OpenBSD could offer.
1. I posit that without desktop support, OpenBSD will continue to lose upstream support, including support for packages related to network services,
2. and that this might eventually kill OpenBSD, because they don't have the resources to continue reimplementing their own version of everything, as they have with e.g. httpd and smtpd,
3. and that OpenBSD already has nearly nonexistent support in a new, rapidly growing server market (VPS).
How long will Cisco IOS continue to survive without a modern desktop version?
Even our most die-hard OpenBSD "everywhere" fanatics (and we have a number of them) don't run it as their Desktop OS, and have never suggested you should. OpenBSD is a server/router/network service OS.
OpenBSD has found it's sweet spot. It owns the market for stable, well defined, well documented, consistent, x86 Firewalls and secure servers. People need to realize that trying to shove OpenBSD onto the desktop is the ultimate case of square peg/round hole.
Also, I'm not arguing that OpenBSD needs to compete as a desktop OS. I agree that that is not its niche. But I am arguing that without a desktop presence, upstream support for OpenBSD will continue to diminish, and at some point that is going to seriously harm the project. Today, it's Gnome; imagine if tomorrow the Samba team decided that future versions of smbd would require systemd, and justified their decision by saying, "Well, it's not like the BSDs have been active on our mailing list." What does OpenBSD do then?
At what point does their niche become too small to sustain the project?
I have never, once, seen OpenBSD run as a Desktop OS. This despite working at several companies where OpenBSD was actually core to our entire infrastructure.
I'm not saying that nobody does (I expect the OpenBSD developers probably do), but I am strongly suggesting that OpenBSD needs no desktop presence whatsoever to be extraordinarily successful. I've never installed it on the desktop. I've never seen anybody install it on the desktop. Not once in 15 years. There is no rationale reason to run OpenBSD as a desktop, and I'll go further and say I will likely never see X-Windows run on OpenBSD.
And, as for a niche - I consider OpenBSD to be the pre-eminent platform for Firewalling, IPsec, IPv6. Their continual focus on consistency makes the system a joy to use - all of the lessons I learned in 2001/2002 are almost 100% (hell, they might be 100%) applicable to managing an OpenBSD system today.
They may be a niche but it's a pretty darn big one.
With regards to your argument regarding "upstream" support - most of the upstream support required is around elements that are not associated with the desktop, and, in many areas, openBSD has just decided to rewrite the upstream contribuions in their own "OpenBSDsh" way anyways.
I'm confident they will do fine even if upstream support for desktop, and associated applications, no longer considers BSD as a first-rate platform.
I did, once, for a year or so. It was around 2004, I think, and what caused me to transition was a slightly too big number of bugs in FreeBSD at the time. And not too good support for USB and sound, IIRC.
OpenBSD was stable like mountain, rock solid, ran xfce (my second favorite WM) without any problems and was even better documented and even tidier in it's design than FreeBSD. It supported all of my hardware at the time, the sound card was enabled by default and the ports were in much better shape than in FBSD - they actually compiled, every single one that I tried, while FBSD had quite a few broken ones. Overall, the experience was very good and I migrated back to FreeBSD much later than I was able to (ie. when all the issues were fixed) just because of this.
So no, I would say that this entire thread is missing the point - OpenBSD has a potential to be a good desktop OS, at least at one point in time it actually was a good desktop OS and it could benefit from being one once again (if it somehow ended not being one now, I don't know about present).
I hate Linux with it's numerous distributions with passion - any BSD is just so much more elegant, consistent, intuitive (probably I just got used to them) and clean - and I won't use Linux anymore (I did, for a few years back when Y2K bug was popular). For people like me FreeBSD is an obvious solution, but if it irritates me again I'll look in OpenBSD direction. I'd be very happy if it was ready to accept me as a desktop user then.
Oddly enough, I switched from NetBSD as when its iMac support for X was broken for several months, and I haven't switched back. (For the uninitiated, it's NetBSD that is supposed to be the one that runs on anything.)
I really like having it around to do things like experiment with pf, and test C development in a non-Linux environment. Especially for C for one who is used to Linux, it's a bit of fresh air on OpenBSD.
I also have a few VPSs around, including one with FreeBSD. I wish more of them offered the BSDs.
On a completely unrelated note I think too many people overlook the contributions of the OpenBSD development team when it comes to Openssh. On a much lesser scale they have also given a lot to the OSS community with OpenNTP. For clock synchronization you have the ntp reference implementation, openntp and Miroslav's chrony. For desktop machines the reference implementation leaves a lot to be desired (especially when it comes to power saving) and or is massive overkill for the problem at hand. Unfortunately chrony seems to be the only clock synch tool that is mindful of power saving and suspend/hibernation. OpenNTP synchs clocks with acceptable accuracy for common use cases without running a ton of code that only a few people fully understand.
OpenBSD 4.9 had much more solid ACPI support than Ubuntu 11 on my Acer NAV50 netbook (Ubuntu will latch wireless network interfaces to off on wake-from-sleep half the time, among other things). I had to switch to Linux because Adobe will not port Flash to OpenBSD, and all the shiny plug-and-play stuff that comes by default with Lubuntu. OpenBSD ports was also really behind for things like Firefox. If OpenBSD had Flash, pulseaudio, Chrome with gtalk plugin and/or Skype, and good plug-and-play support for memory cards/USB sticks/external displays, it would be a perfectly fine desktop OS.
However, it will probably work just fine on a cloud platform based on KVM.
None of the server-focused elements of OpenBSD are in any immediate danger of "linux pollution" (especially the network stuff), so you don't have to worry. Many other people involved in the OS do, apparently.
If companies donated even 5 to 10% of the savings to the projects(if they're able to i.e), then the open source projects wouldn't have such trouble with lack of manpower.
If you look at his original:
-) "Those vendors say "we're not in the distribution business, distribution problems will be handled by OS vendors. We can break compatibility to advance, and not think about it, this is not a problem." [...]
"This is a mindset we need to fight, and this has to be a grass-roots movement."
-) "in some cases, you even have some people, who are PAID by some vendors, agressively pushing GRATUITOUS, non compatible changes. I won't say names, but you guys can fill the blanks in."
-) "Either you're a modern linux with pulseaudio and pam and systemd, or you're dying."
Source: https://lwn.net/Articles/524608/
Not being a BSD guy myself, but being a fan of minimalistic linux systems, being a fan of keeping dependencies low, of not necessarily throwing out software that has done it's job for 10+ years to just get the newest gadget in, i actually think he's right with many things he says.
I'm really interested in hearing of sites that others assert a high quality to. Would you please care to elaborate which sites you prefer instead of LWN?
The people there tend to make mistakes when talking about other operating systems.
I guess that's what those comments are about.
It's also a place where discussions are mostly polite.
If you don't like the article, maybe you should mention what you didn't like about it. I thought it was pretty even-handed. It even ends with a plea by Corbet to avoid a Linux monoculture-- not something you might expect out of the editor of Linux weekly news.
"Just as the original song professed its love for Brazil, "World, you'll love my Linux" is the passionate call of an idealistic dreamer who can't bear the thought of software that will only run under Windows, and yet loves the situation with software that will only run under particular Linux distributions. This problem has proliferated itself into the standards bodies, with Posix adopting Linuxisms ahead of any other variant of Unix.
Posix and Unix have made it where you can write reasonably portable software and have it compile and run across a multitude of platforms. Now this seems to be changing as the love for Linux drives the standards bodies into accepting everything Linux, good and bad.
We also are faced with groups writing software that only works with particular distributions of Linux. From this we get software that not only isn't very portable, but often not particularly stable. Our idealistic dreamer in the song loves running one, or more than one distribution of Linux for a particular purpose. Unfortunately, the rest of us are left with the unattractive choice of doing the same, or relying on herculean efforts to port software that is being actively developed in a way to discourage porting it to other platforms."
OpenBSD was my first unix, and as much as I tried to contribute, I didn't last through their toxic developer community long enough to be a useful contributor.
This high bar is required to keep the system as secure as they want, but the trade off means scaring off devs, which is the real core of the bsd/Linux divide.
[1] https://github.com/torvalds/linux/pull/17#issuecomment-56599...
It's the wider community I'm talking about. Mailing lists, forums, etc. It is a pain in the ass to entertain dumb questions and give the same answers over and over, but it's how you turn noobs into developers.
I have built a firewall from an old slow 1U Sun Netra "server" with OpenBSD/spark64 and it is still in production after almost 7 years? Why? Because punks cannot hack it with Linux/x86 exploits.) Because it has enough resources to be a gateway (firewall, openvpn, secondary dns, etc.)
Well, nowadays you anyone could buy a $50 box with linux flashed inside to do some fire-walling and some routing, and the art of making BSD-based gateways and servers almost disappeared.
Nevertheless OpenBSD is a multi-platform network server, secure and stable, in the first place. Modern X11 is irrelevant.
btw, they finally implemented kernel pthreads in the last release, so, our postgres...))
But, credit where credit is due: Around 2005-6, I chose to run OpenBSD on my desktop computer at home because its support for wireless network interfaces was far and above better than Linux or any other open source OS. At that time, getting on my home network with Linux was a complete no-go, while OpenBSD worked flawlessly out of the box.
At that time there were several OpenBSD devs doing the hard, ugly work of reverse-engineering the crappy binary blobs that were accepted in mainstream Linux distros (and FreeBSD), and instead turning out reliable, open-source drivers.
Today I find Linux more practical to run on my laptop, but I really hope OpenBSD never goes anywhere. We need different approaches like theirs. (Actually, the non-availability of Flash was a big reason I switched back to Linux, and that's becoming less of an issue with HTML5...)
Now with the advent of ARM, the sence to have open source drivers becomes more palatable and hopefully sainer. More options for your hardware to run upon and be sold upon is more sales. If you open source things and let the community help then they help and you get more win win. It is the area's were companies want to protect IP they have above and beyond the patent protection. There are cases if they are using others IP in there product which they pay to use that prevents them from releaseing the source and at best able to do binary blobs. If we had binary blobs that you could add your own wrapper around and accomodate a OS's needs, then you would still have more platforms than not open to you.
But this realy is mostly down to fancy networking cards, graphics cards and anything with a radio in it mostly. But there are always options and with the right purchaseing you can vote with your money. Support the ability to change your OS even if you don't plan on it today, think of the children :).
We need a completely open patent unencumbered platform as well as software. Unfortunately the barrier to entry on this is seriously high; much larger than even bringing medicine to market.
There's some irony in the OpenBSD objection to handling binary blobs. A lot of the cool old systems OpenBSD supports are LOADED with microcode and ROM the user can never see or understand. It's hidden. To a degree this is even true in the case of the everyday AMD64 machine (which loads microcode updates and some of its boot logic from BIOS ROM/EFI, thank you).
OpenBSD's position, in conjunction with its support of these systems that load all that stuff from ROM at boot time and its lack of support for the ones without a proper ROM to store the stuff (raspberry pi, for example), keep it from having to handle these blobs personally. The principle involved here isn't "let's shun the use of binaries for which we don't have the source code." The principle is "binaries are yucky, don't get any on you." It's not hugely impressive.
At the source level, NetBSD developers came up with exactly this idea, which is now colloquialy known as bus_dma (http://en.wikipedia.org/wiki/Busdma). FreeBSD and OpenBSD picked up the interfaces modulo a few changes, and now get to share drivers relatively easily.
So BSD is being marginalized for other reasons, not desktop software.
The lwn article here is pretty vacuous.
edit: I'm happy to see some people in this thread already coming to OpenBSD's defense. It is really really fine software, built by a team of really smart people. If you haven't donated to the project, or at least bought one of their CD sets, please do. It does help.
that is most certainly true, but I am wondering, has any of the work done in BSDs in recent years influenced linux development in any way?
kernel: Wireless drivers, aslr, pf etc. userland: ssh, ntpd, carp, bgpd etc.
POSIX standardizes approximately nothing relating to sound, so the same problem is there too for PulseAudio. Nor does it standardize anything about devices being added or removed, so there's no standard API covering udev or some other hotplug solution.
One argument you could make is that Linux should offer no features that are not standardized in POSIX. I bet that would not make many developers or users happy, though.