Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Crowding out OpenBSD (lwn.net)
98 points by Xyzodiac on Nov 17, 2012 | hide | past | favorite | 57 comments


" OpenBSD simply does not have enough developers to influence the direction of projects like X.org, GNOME, or KDE. "

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.


Well, the question is how long OpenBSD will continue to survive without a modern desktop version. Linux has been enjoying a remarkable growth of support over the last few years thanks primarily to its slow incursion of the desktop market. Can OpenBSD continue to live only as a server / router / network service operating system for the long term? I don't know.

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.)


"Well, the question is how long OpenBSD will continue to survive without a modern desktop version."

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.


Fair point, but Cisco IOS is supported by a large company with deep pockets and a vested interest in its continued development. And, OpenBSD is far more complex than IOS; it has a much larger problem set to solve.

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?


In 15 years of working in IT organizations at various companies I've seen hundreds of people run Solaris as their Desktop OS (mostly 1996-1998 at Netscape), various Macintosh System OS's and Irix as their desktop, at times everyone was running Linux as their Desktop OS, and nowadays OS X seems to be popular (obviously there has always been a lot of Windows Desktop Usage)

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'm not saying that nobody does

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.


I run OpenBSD with a desktop on an iMac G4, mainly as a hobby machine to continuously loop through and display photo slideshows. But I take your point about its real role.

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.


Thanks. OP is misleading because it implies OpenBSD used to have a non-negligible share of the desktop.


I agree whole heatedly with you about the quality of a obsd router/fw. I don't support enterprise networks so my viewpoint is a little different. Unlike ios and cisco hardware current OpenBSD releases are finicky with commodity hardware. I remember being able to pick any old box (486, ancient pizza box sparcstations) and being able to set up a OpenBSD firewall on it pre/post ipf debacle. Recently I have ran into a number of boxes that I could not get openbsd to boot on, most recently two older shuttle boxes. Hardware support is what really troubles me.

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.


And DragonFly's dntpd! It's time sync algorithms are actually pretty cool.


What does it do differently than chrony or the reference implementation?


> 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 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.


Funny enough, this is how I see and use Linux as well - as a server OS. I have little concern of its Desktop prominence.


It's also a great platform for C development/testing. Its really tight security configuration has a way of shaking out subtle memory bugs that go unnoticed on Linux or OSX.


I use OpenBSD as a desktop. It works just fine for me. I use Linux systems too.


> Linux has been enjoying a remarkable growth of support over the last few years thanks primarily to its slow incursion of the desktop market.

Please provide a source for this.


Desktop would be a waste of energy. Already too crowded of a market, and the single point of success would be hardware support.


Perhaps my comment was too long.

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).


My bad, I thought this was a separate point.


The question is, like the parent post said, for networking OpenBSD is actually better in my experience. This has little to do with user base, a startup that I was working on had a firewall cluster made of OpenBSD systems using CARP and pfsync we tried using Linux and conntrack, since the admins are Linux guys, but the OpenBSD solution was more stable for us.

In this regard I think OpenBSD worked better, for everything else, including workstations, Linux was well above anything that OpenBSD could offer.


> that point of view has resulted in OpenBSD being completely unavailable on Linode, prgrmr, EC2, Slicehost/Rackspace, etc.

However, it will probably work just fine on a cloud platform based on KVM.


The linked messages from Marc Espie are specifically about desktop software. And the impetus for the discussion was the fact that upcoming Gnome versions are moving towards requiring systemd.

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.


Given your anecdotes, what do they have to do with the statement you're quoting? It really seems out of context.


I was trying to make it clear that discussing the future of OpenBSD as a function of how much upstream support for Desktop Performance it has, it as meaningful as discussing the future of Cisco IOS as a function of how many video cards it supports. Not meaningful at all.


>...saved us several 10s of thousands of dollars over the equivalent Cisco systems.

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.


I am very disappointed by this article, since it in my opinion clearly misrepresents the things Marc Espie said:

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.


Well it is LWN which has a history of crappy reporting. It's like reading an East German newspaper in the 1980s.


Yeah, LWN is pretty bad, I wonder why does it have so much appeal?


Honestly, I don't understand your and the parent's comment. I really, really like LWN and appreciate what it does for the Linux and broader FOSS community. In my opinion LWN doesn't only shine when compared to some crappy "linux news pages" coughphoronixcough but also when compared to higher-quality, "traditional" media.

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?


LWN is, rather obviously, (highly) Linux biased.

The people there tend to make mistakes when talking about other operating systems.

I guess that's what those comments are about.


I think I'm with Hendi on this one, I'm not a heavy reader of LWM but I check it every now and then and go through stories I think may interest me. Overall, I would say it has some fairly decent writing but if you have alternatives you think are better I would very much like to know about them.


LWN has appeal because it has actual original content, often written by some of the people who work on the Linux kernel and related projects. It's not just a link aggregator (although it is that too.)

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.


I'm surprised that nobody has brought up the 5.2 song[1]. The 5.2 song is about these problems with upstream and confusing Linux for posix, the "liner notes" for "Aquarela do Linux!":

"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."

[1] http://openbsd.org/lyrics.html#52


You need more upvotes.


Part of the reason Linux has such a huge number of devs is because the community is welcoming and forgiving of noobs.

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.


Right, the Linux community is very forgiving of noobs. [1]

[1] https://github.com/torvalds/linux/pull/17#issuecomment-56599...


Linus is a dick. Theo is a dick. No argument from anyone there. That's the Linux kernel though, and I would argue that has the same problem of scaring off potential devs.

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.


Not accepting Github pull requests because they're not up to Kernel standards is not exactly proof of unforgivingness.


The comment you refer to isn't to the (noob) pull request author (Roman), it's to a troll (Joseph) that has since deleted his comments.


OpenBSD isn't for desktop, it is a small networked server. (And what modern X environments you're talking about without nvidia/radeon drivers and accelerated OpenGL?)

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...))


The article suggests OpenBSD lacks support for newer hardware. Not sure if that's true today, or in certain categories (graphics cards?).

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...)


One data point: the on-board Broadcom NICs (BCM 719) on HP DL360 Gen8 servers isn't supported in OpenBSD yet.


Let me guess, this is about Gnome3 and systemd (and other poetteringisms)? I think that maybe dropping Gnome3 and focusing on alternate desktops would be the way to ensure survival. Trying to keep up with Gnome3 is an uphill battle. And in smaller projects BSD developers would have proportionally larger voice.


Indeed. Maybe focusing on alternative desktops could even be turned into an advantage for the BSDs.


It would be nice if there was a unified driver model that the OS developers could easily add a wrapper level to accomodate there needs. If hardware companies had full open source drivers then this would be less of an issue, this is not the rosey situation we have and in many area's we have binary blobs. Binary blobs targeted at an OS and CPU.

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 :).


> It would be nice if there was a unified driver model that the OS developers could easily add a wrapper level to accomodate there needs.

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.


ARM is even worse when it comes to binary blobs. Take a look at any major SoC out there and you will see BLOBs for the LAN and graphics interfaces. Occasionally boot firmware is a BLOB as well.

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.


I'm sure that's true but it's important to keep one thing in mind: not all binaries are the result of an Nvidiaesque attempt to keep from open-sourcing something. Loading updateable binary microcode to implement an ISA is often a beneficial processor design technique and it dates back to seventies.

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.


Nonsensical article: In the game of big numbers Linux is almost irrelevant in the Desktop as well, but it is winning like crazy in the server market, where BSD could compete.

So BSD is being marginalized for other reasons, not desktop software.


Previous discussion: http://news.ycombinator.com/item?id=4772133 (104 comments).

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.


I myself wear mostly OpenBSD/OpenSSH t-shirts. Just because Puffy is cool, you know.


> BSD is a place where developers can experiment with different approaches to kernel design, filesystems, packaging systems, and more.

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?


Yes it has, just to name a few:

kernel: Wireless drivers, aslr, pf etc. userland: ssh, ntpd, carp, bgpd etc.


Nitpick: ASLR was first implemented by PaX for Linux. OpenBSD ported it from PaX a few years later.


If Linux developers were to adhere to the POSIX standard, would compatibility be an issue?


The usual complaint regarding systemd is about its extensive and fundamental use of cgroups for process group tracking. There is nothing in the POSIX standard that offers a feature similar to cgroups -- a simple example is to track all processes spawned by a given child process (or by anything it in turn spanws), and be able to kill them all, even if that particular child process terminates early. So any implemention of this feature, whether or not it uses Linux cgroups, must be independent of what's specified in POSIX.

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.


POSIX doesn't specify "pulseaudio, PAM and systemd". So, mu.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: