Re: Leaving the Desktop Market

From: Jordan Hubbard <jkh_at_mail.turbofuzz.com>
Date: Tue, 1 Apr 2014 12:11:19 +0500
On Apr 1, 2014, at 10:46 AM, Eitan Adler <lists_at_eitanadler.com> wrote:

> That is why on this date I propose that we cease competing on the
> desktop market.  FreeBSD should declare 2014 to be "year of the Linux
> desktop" and start to rip out the pieces of the OS not needed for
> server or embedded use.
> 
> Some of you may point to PCBSD and say that we have a chance, but I
> must ask you: how does one flavor stand up to the thousands in the
> Linux world?

The fact that this posting comes out on April 1st makes me wonder if it’s just an elaborate April Fool’s joke, but then the notion of *BSD (or Linux, for that matter) on the Desktop is just another long-running April fool’s joke, so I’m willing to postulate that two April Fools jokes would simply cancel each other out and make this posting a serious one again. :-)

I’ll choose to be serious and say what I’m about to say in spite of the fact that I work for the primary sponsor of PC-BSD and actually like the fact that it has created some interesting technologies like PBIs, the Jail Warden, Life-preserver and a ZFS boot environment menu.

There is no such thing as a desktop market for *BSD or Linux.  There never has been and there never will be.   Why do you think we chose “the power to serve” as FreeBSD’s first marketing slogan?  It makes a fine server OS and it’s easy to defend its role in the server room.  It’s also becoming easier to defend its role as an embedded OS, which is another excellent niche to pursue and I am happy to see all the recent developments there.

A desktop?  Unless you consider Mac OS X to be “BSD on the desktop” (and while they share some common technologies, it’s increasingly a stretch to say that), it’s just never going to happen for (at least) the following reasons:

1. Power.  As you point out, being truly power efficient is a complete top-to-bottom engineering effort and it takes a lot more than just trying to idle the processor whenever possible to achieve that.  You need to optimize all of the hot-spot routines in the system for power efficiency (which actually involves a fair amount of micro architecture knowledge), you need a kernel scheduler that is power management aware, you need a process management system that runs as few things as possible and knows how to schedule things during package wake-up intervals, you need timers to be coalesced at the level where applications consume them, the list just goes on and on.  It’s a lot of engineering work, and to drive that work you also need a lot of telemetry data and people with big sticks running around hitting people who write power-inefficient code.  FreeBSD has neither.

2. Multimedia.  A real end-user’s desktop is basically one big UI for watching things, listening to things, and running apps.  A decent audio / video subsystem is just one part of the picture, and one that has always been really weak - entire engineering teams can spend years working on codecs, performance optimizations, low and guaranteed latency support for audio I/O, etc.  What’s worse, the bar is only being raised.  You want to be part of the next wave of folks who can author and edit content for the new 4K video standard?  Not on FreeBSD or Linux, you’re not.

3. Applications.  A desktop without real and useful applications is not a desktop, it’s just an empty display surface.  Sure, there are users out there who are happy with just a mail client, a web browser and maybe a calendaring app, but those users are also arguably even better candidates for Chrome or other simplified environments where all of that simply happens in a fancy web browser and you get things like “software updates” and cloud integration essentially for free since it’s all just one cohesive picture there.  The ability to solve those user’s needs very simply makes them ripe targets for the web application delivery platforms.

For the other folks who want to do fancier stuff like mix audio, edit videos or even just play mainstream 3D games that were actually published sometime in the last year, they’ll use a real desktop OS and won't even bother looking at one of the free ones because guess what, the free ones just can’t do those things, or do them badly enough that their users feel like they’re perpetually living in a kind of self-selected ghetto.  Metaphorically speaking, sleeping on the floor in a sleeping bag in your one-room apartment is fine when you’re young, but as you get older, you want to be more comfortable and have a real bed in a real house!

Those are just three reasons.  There are lots more, not least of which among them is the fact that it’s damn hard even just to *create* significant applications with the weak-ass APIs that *BSD and Linux provide.  You have to stitch together some Frankenstein collection of libraries out of ports (or linux packages) and then hope the whole pile of multi-“vendor" bits will sort of work together, which of course they rarely do because they were written by several hundred different people with no mandate to interoperate.

April fool’s joke?  Yes, the desktop has always been one in the OSS space.  It’s a lousy OSS problem to try and solve because all the hardest parts are things nobody wants to do for free, and there’s no money to be made just providing the OS (even Ubuntu, the current leader, seems to have “pledge drives” every other week).

- Jordan
Received on Tue Apr 01 2014 - 05:11:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC