Thinking Past Platforms: the Next Challenge for Linux

In my first SuitWatch Newsletter, on September 5, 2002, I wrote this: "A funny thing happened to Linux on the way to World Domination: it succeeded. That's the good news; the bad news is its success has hit a few hitches, and it's unclear how long those hitches will last."

The biggest hitch  dominating PCs the way Linux has dominated servers and embedded devices  is still around, almost five years later. And it will remain a hitch as long as hardware OEMs continue to follow Microsoft rather than lead the marketplace.

That's the gauntlet I threw down last Wednesday, in my last SuitWatch. And now I'm throwing it down here. I want to challenge the big hardware OEMs  Dell, HP, Lenovo, Sony and the rest of them  to break free of the only form factors Microsoft will let them make, and start leading the marketplace by making make cool, interesting, fun and useful stuff that isn't limited by any one company's catalog of possibilities. Stop making generic stuff. Grow greener grass beyond the Windows fences. Stop thinking of Linux as "generic" and "a commodity". Start looking at how building only Windows PCs forces you to make generic, commodity products.

A few weeks ago I was talking with folks who worked inside one of the large hardware OEMs. Somewhere in there they told me about their "Linux strategy". I told them they needed a "Linux strategy" about as much as a construction company needs a "lumber strategy".

If you're going to have a Linux strategy, make that strategy about getting past an OS-bound view of the world. Because the big difference between Linux and Windows is that you can build anything you want with Linux. With Windows you can only build what Microsoft lets you build.

Think about it.... Does Microsoft tell HP how to make printers? Does it tell Sony how to make camcorders or flat displays? Hell no. Then why do those companies let Microsoft tell them how to make desktops and laptops? Another way of putting it: Why should the choice of personal computing hardware form factors be limited by the things Windows can do? Why wait for Microsoft to provide the base designs for desktops, laptops, notebooks and hand-helds? Why not let your engineers' imaginations run wild? Why not listen to customers who want personal computers that do stuff Windows can't? (Or Apple's OS X, for that matter.)

The short answer is politics. "All technical problems are political as well as technical", Craig Burton once told me. "And the technical problems can always be solved". The politics of OS-choosing is the politics of marriage. That's why the big hardware OEMs have been acting for decades like they're married to Microsoft, which is why they act as if putting Linux on boxes that already have Microsoft logo tatoos is like cheating on their spouse.

But looking at Microsoft and Linux as an either-or choice is an old game with a false premise. That's because Linux isn't a "platform" like Windows. It's not a foundation for a silo. It's just building material -- the computing equivalent of 2 x 4s and 2 x 6s in the development equivalent of frame construction. As with frame construction, you can build anything you want with it. With Linux there's no one company telling you what you can make. With Linux, it makes no more sense for any company to tell you how to build a computing device than it does for Weherhaeuser to tell you how to build a house.

Sitting in the next room from me is a new HP 3-in-1 printer. It's an amazing device. When we put it in, we retired a fax machine, a copier, a scanner and two color ink jet printers. Any computing device in our house can use it, including our Linux laptops. But here's the coolest thing about this device: no one company told HP how to make one. It is an HP invention. No other company is telling HP how few varieties of printers (or anything, other than PCs) it can make.

The Linux community also has to get past the belief that Linux is mostly an alternative to other OSes. The Windows vs. Mac choice is between two silos that both do their best to lock customers in and maximize the dependencies of developers on proprietary platform SDKs and the like. Linux is not an alternative to any platform. It is an alterative to platforms themselves. It is the path to an open marketplace, not just another silo.

There's a great series of fake ads that Novell has put together recently, each a parody of the Apple ads where two guys represent a PC and a Mac. In these ads, Linux shows up in the form of a smart and attractive young woman. It's a brilliant twist away from the usual penguin representation. But it still makes the mistake of portraying Linux just as an alternative to other operating systems. It still lets Microsoft and Apple set conceptual limits for what you can do with a PC.

For the last few weeks I've been asking folks about what they'd like in computing devices other than the usual desktops, laptops, notebooks and hand-helds. Here are a few of the things we've come up with:

A note-taking tablet that has no keyboard, finds the Net wirelessly and is always on.

A Linux-liberated "backplane for the dashboard" for cars, so customers can plug whatever they want into their rides -- including multiple pieces that each have a function and all work together, regardless of manufacturer.

Combination audio record-playback devices with server software that can jack into anything, anywhere.

Truly open mobile phones, not locked into any one carrier.

Home cordless phones that are as full-featured as cell phones  and can easily pass back and forth their address books with phones and computers.

HD digital camcorders with wireless connections for off-device storage that can record in a variety of codecs.

Whole-house audio systems that lack all forms of lock-in and welcome connections with anything.

A NAS (network attached storage) device with a CD slot that's built not just to serve music in a house, but to make it easy for ordinary folks to copy their CD collections onto it.

Never mind that many of these things already exist in various forms, can be built by hackers using available parts, or can be built inside the Microsoft development silo. What matters is that there is no limit to what can be built once the computer industry arrives at the place where the construction industry arrived long ago: everything is essentially modular, and no one source of building materials or designs can set limits on what everybody else can make or do.

The problem we're solving is lock-in, and it goes far beyond Microsoft alone. Apple does it with iTunes and the iPod. Sony does it with proprietary codecs and HD camcorders. What Linux should now do is lead the way toward the widespread realization that you'll get more happy customers by making a bigger choice of better stuff than you'll get or keep by locking them in.

People don't like iPods because they're locked into Apple's silo. They like iPods because they're the best handheld media players with the most useful and appealing designs. If Apple opened their silo tomorrow, and let anybody make an iTunes equivalent to work with the iPod, they wouldn't sell one iPod less. In fact, they'd probably sell even more. (Hard to imagine, but I'm sure they would.)

Thanks to the politicized marriages between hardware OEMs and Microsoft, there is a huge pent-up demand for Linux-based hardware, even inside the market for existing form factors. Look at Dell's IdeaStorm, where the company opened itself up to the marketplace and was immediately -- and continuously -- barraged by demand for Linux-based products. As of last Tuesday the top requests were:

That's the list from the first page of results. Out of 3788 contributed ideas.

One word sums all these up: freedom. That's what both the supply and demand sides of the market want. And they want to exercise that freedom together. This should be obvious, but it isn't. Yet. All that stands in the way is politics. (Attention HP, Lenovo, Sony and the rest of you: Take these clues before Dell does. Let's have some competition here.)

Start with the easy pickings. Look at the huge hole in the middle and low ends of the desktop and laptop markets, opened by a combination of Apple's success at the high end and Microsoft's failures at the middle and low end (aging of XP, lack of genuine "wow" around Vista). Go fill it with new stuff that's open, innovative and unfettered by any OS vendor's agenda.

Okay. So that's the challenge to hardware OEMs. Now here's my parting SuitWatch challenge to the Linux community: let's move beyond Linux advocacy as a cause in itself. We're pretty much done with that. The cause that matters now is Make what you want, any way you want to make it.

Look at Google search trends for Linux over the past few years. Since the end of 2003 (when Google's chart begins) Linux searches have fallen by nearly 50%. (Another reveleation: none of the top ten sources of searches is from a location where English is the first language.) As I said when we started SuitWatch in 2002, Linux has won. Its victory is old news. What matters now isn't the old news but the long news.

In the fall of 2005, on the last Linux Lunacy Geek Cruise, somebody (maybe it was me) asked Andrew Morton if he thought we'd still be stomping out Linux kernel bugs 200 years from now. Without hesitating he said "Yes". That's the perspective we should all adopt now.

Linux is the frame construction of computing. Nobody's going to offer a more popular or useful alternative. Yes, there will be other choices, and that's fine. But the basic approach to building OS-based computing hardware has been worked out. That work-out was born with Unix, and reached maturity with Linux. Today the LAMP stack is a couple hundred thousand letters long. Other Unixes are shortening. OS X can't compete. And now Windows can't either. It was already post-peak with XP, and Vista so far is a non-starter. Microsoft would now be well-advised to start making software for Linux as well. They will eventually in any case.

Doc, thank you for continuing to push people's thinking. I wholeheartedly agree with your assertions with the exception of, "Linux is the frame construction of computing. Nobody's going to offer a more popular or useful alternative." An immediate challenge to this assertion is Torvald's resistance to GPLv3 and potential reactions to that resistance. Solaris will very likely be GPLv3 as soon as the final form is agreed to. Linux is just the kernel of the GNU/Linux OS. GNU/Solaris can be a very nice substitute, and if Torvald does not change his tune, I will not be the only one switching to GNU/Solaris just as soon as I am able. When I turned to GNU/Linux in 2001 it was not because it enabled me to compute better. I turned to GNU/Linux because that was where Freedom was. However, I'm not a geek and must wait for others to make my distro workable. I won't be able to adopt GNU/Solaris until it is ready for me. The second issue is that as the monolithic Linux kernel becomes ever more complex, the quest for a workable microkernel structure may take on an urgency it does not currently have. The GNU project's Herd, or some other microkernel solution, may become the obvious direction of computing.

I agree that vendors of hardware could do a much better job at alternative OS: witness the OS2 debacle.

But beyond that, the biggest drawback for me in moving to Linux is that it is still WAY too hard to dig out "how to" and "help" in the OS. I'm not afraid of the command prompt, but of the 4 different Linux distos I've tried, NONE were setup in a way that would take a semi-proficient dos guy and say "instead of this, try that." Likewise, in the GUI, finding how to setup a dial-up connection was really hard to find. There are other examples, but the problem with Linux right now is that there is little standardization across distros. Bad as it is, Windoze is ( more or less ) accessible to most newbie computer users.

I'm sure that a lot of the problem lies in me. Still, even microsucks' help engine is fairly usable, even to a newbie. True it is sometimes helpfully unhelpful, but I shouldn't have to run all over the install and the internet looking for "how to" info for my linux install.

It gets harder when you near 60, but I would truly LOVE to tell MS syanora once and for all. I even have 6 file servers I would love to move to Linux, If I can ever figure out how to administer it.

PC sale profit margins are razor thin. Sticking exclusively with a proprietary MS OS shifts much of the support costs for OS issues to Microsoft. Support costs for Linux is compounded also by all the different distributions, plus all of the additional open source software packages that come with no support. It is also compounded by customer expectations that their computer run legacy windows based proprietary apps. All of these are a legitimate business consideration for any PC manufacturer totally apart from any extortion by Microsoft and mitigates against any company from taking up your challenge.

A possibly bigger issue is "legal" -- the whole proprietary codecs issue and software patents that make it difficult, if possible at all, to create a truly free Desktop OS that supports all the user functionality needed. To use a cold war analogy -- Communism as it existed in the old Soviet Union had already lost, and the west has already won in some sense back at the start of the cold war in the '50s in that, with "freedom", individuals were free to build anything at all! A centrally managed state economy with little individual freedom was bound to fail eventually. But, by using military force, the Soviet Union was able to prevail for another 40 years.

So, in this sense, I agree with you. The freedom and power of Linux and free software and the explosion of diverse innovations that it makes possible, like those you list, should over time overwhelm the ability of proprietary vendors to keep up. It is also notable that we do not see compelling new applications being developed exclusively for the Windows platform outside of the Gaming communities anymore -- rather things are developed cross-platform on the web, often on Linux.

But large proprietary companies and their allies (like the RIAA) can, do and will leverage the legal system and their economic power to handicap Linux Desktops and keep Linux off the desktop in a significant way for many years. These are also legitimate business considerations for PC manufacturers.

I hope someone will take up your challenge. I wish Dell would just pick Ubuntu and run with it. But I can see why PC manufacturers in general are reluctant to do so.

One reason is that Microsoft controls the show, and between giving their employees the extra week in hawaii or dell a slightly less razor thin margin, guess which won out?

Microsoft is going to have to start paying big bucks to oems to get even a fraction of all the advertizing it gets for free on Windows and Windows apps. And how about those defaults? They cost big bucks too.

' 'Support costs for Linux is compounded also by all the different distributions, plus all of the additional open source software packages that come with no support.' '

A very big obstacle for sure, but one that can be addressed by agreeing upon a core platform that is relevant to PC users.

The "additional packages" are only a problem because distros often don't clearly delineate the boundary between their OS product and all the "extra" programs residing in the repository; They could put the OS and the extra apps in seperate repositories and list non-core utilities and apps differently in the menu. (If they're smart, they will start to create master packages for the OS, and make the extra programs dependant on that package or the OS version, and little else.)

I would bet that centrally-managing applications along with the OS under the control of a distro's Unix priests, along with the attitude that "If you don't submit the code to our repo, we don't care about you as a coder"... I'd say FOSS operating system are cruising for a very bad time in the applications ISV space. No... actually Linux and the like went there a long time ago, and the acquired reputation in that market segment is extremely poor. It has been made clear in myriad ways from the IRC channels to Slashdot to the pages of Linux Journal, etc, that the sysadmin/sysdev community is interested in scratching its own itches and that means not extending itself as a vehicle for app developers (those stupid, fluffy n00bs) to meet their user expectations.

I mean, talk about not "getting it": The typical Desktop Linux advocate doesn't even understand the meaning of the term "Personal Computing" and the needs it fills (that mainframe and terminal culture cannot). I'd say more than half of them are even referring to the transformation of PCs into thin clients when they refer to "Desktop Linux". They would have managers and directors sneaking-in systems that can accept the nicest off-the-shelf apps in a recreation of the 1980s sneakernet, just to enhance their job security and self-image as Linux geeks.

` `It is also notable that we do not see compelling new applications being developed exclusively for the Windows platform outside of the Gaming communities anymore' '

Granted, MS seems to enjoy killing-off its own developer base these days. That is certainly an opportunity for Apple to step in and fill the void. Still, there are new apps that are Windows-bound or nearly so: Skype started on Windows and is only well-maintained on that platform. It is perhaps more important to note there are no new concepts on other platforms that do not quickly migrate to Windows (iTunes, Bittorrent, etc.).

The legal issues won't go away anytime soon...

Samsung and MS have just made a deal where Samsung is "allowed" to use Linux as long as MS gets a cut of the profits from Samsung's Linux-endowed products. So people doing business in the USA are allowed to use Linux, but only if Microsoft gets a cut of the profits. How I wish SuSE had stayed in Europe.

...with a specific default configuration. It defines several crucial interfaces: A user interface, a programming interface, and supported hardware interfaces. These allow users and programmers to take advantage of their personal computer hardware with a minimum of snags and re-learning how to roll the wheel. For users and programmers, the successful PC OS must act as their common ground or 'platform'.

Linux is not a platform to anyone but a small subset of users (sysadmins) and programmers (systems programmers). Applications programmers rarely see the stable set of APIs in "Linux" (sundry OSes based on the Linux kernel) that engenders the confidence to experiment with bold new user-facing projects. Neither the average user, nor the application programmer wants to repeat the 1970s and 80s, which was 'interesting' and 'fun' for a lot of people, but had too many disparate systems that were dead-ends.

After that era, few are bound to get excited about coding a new app if all they can think of is the myriad problems they'll encounter trying to explain to other "Linux" users across the continent (or even across the street) how to install their Linux app properly in the other users' alien Linux environment. As for the poor user, how do their tech friends and admins answer the general question "How do I connect to a shared printer in Linux"? Well, they either don't answer it, give an incorrect answer based on their different distro (with different samba GUI and defaults), or more commonly give an unhelpful answer like "Use samba to connect the printer" or refer them to a samba manpage.

What I am 'hearing' from you, Doc, is that personal computing should go back to 1980 with all that disparate, funky-cool stuff that made things interesting for someone like yourself: a systems guy.

"Linux" as you and most others here speak it and understand it, is a flickering mirage and a paragon of instability: Unstable set of APIs, unstable UI, and that recent kernel upgrade requiring a recompile of your vmware, nvidia, truecrypt, etc. stubs indicates unstable driver support from the end-users POV.

The FOSS systems community so far won't commit to providing a stable environment for app programmers, the students and enthusiasts who turn into app programmers, and the users who just want to do their work and maybe be able to take their UI skills along to their next job. Worse, as your article illustrates, they keep coming up with spacey rationalizations and excuses for not bridging the gap. Even the FOSS apps developers are throwing up their hands in disgust: Mozilla no longer even bothers to package their apps with an installer script or in RPM format; VLC seems to have given up on the Linux GUI (while their Windows and Mac GUIs are very nice); GPL-licensed projects are now more commonly started on Windows than on Linux by far.

Perhaps "Linux" shouldn't be about a standard platform. Really, kids, it IS just a kernel,and a kernel only looks like a platform to systems developers. But LSB can eventually provide the necessary platform if it begins to specify enough UI and API features to be meaningful to people who expect real PC (not thin/thick client) functionality. The proper dynamic is for LSB operating system vendors to adapt Linux (and all the other components) to the LSB-Desktop spec.

Doc, I suspect if there is a hell, then the version that might await you is a world where UIs and APIs are all the same, but the underlying kernel/console/protocol environments are in constant dramatic flux. IOW, the opposite of what you are proposing here. Why, in this world, would you consign end-users to such a cruel shell-game?

Linux has come a long way from its beginnings, there is no denying that. But you are a little over the top in saying that Linux dominates servers. In terms of market impact, it is newly arrived in fourth place, behind Windows, Unix, and IBM mainframe, and is now ahead of Novell's Netware.

Doc, thank you for continuing to push people's thinking. I wholeheartedly agree with your assertions with the exception of, "Linux is the frame construction of computing. Nobody's going to offer a more popular or useful alternative." An immediate challenge to this assertion is Torvald's resistance to GPLv3 and potential reactions to that resistance. Solaris will very likely be GPLv3 as soon as the final form is agreed to. Linux is just the kernel of the GNU/Linux OS. GNU/Solaris can be a very nice substitute, and if Torvald does not change his tune, I will not be the only one switching to GNU/Solaris just as soon as I am able. When I turned to GNU/Linux in 2001 it was not because it enabled me to compute better. I turned to GNU/Linux because that was where Freedom was. However, I'm not a geek and must wait for others to make my distro workable. I won't be able to adopt GNU/Solaris until it is ready for me. The second issue is that as the monolithic Linux kernel becomes ever more complex, the quest for a workable microkernel structure may take on an urgency it does not currently have. The GNU project's Herd, or some other microkernel solution, may become the obvious direction of computing.

As for web aps and storage (strongly advocated in this month's LJ): Many if not most of the world's problems stem from centralization of power. Local control precludes the problems. We need more Freedom like Free Software provides, not less. For example, decentralized, renewable energy production such as photovoltaic sheathing and roofs on houses and businesses. Centralized computing has too much potential for abuse. You will have to pry my PC from my cold,dead fingers. Thankfully, Free Software will allow people like myself to continue computing autonomously forever, or until laws are passed to prevent us from doing so.

Doc, thank you for continuing to push people's thinking. I wholeheartedly agree with your assertions with the exception of, "Linux is the frame construction of computing. Nobody's going to offer a more popular or useful alternative." An immediate challenge to this assertion is Torvald's resistance to GPLv3 and potential reactions to that resistance. Solaris will very likely be GPLv3 as soon as the final form is agreed to. Linux is just the kernel of the GNU/Linux OS. GNU/Solaris can be a very nice substitute, and if Torvald does not change his tune, I will not be the only one switching to GNU/Solaris just as soon as I am able. When I turned to GNU/Linux in 2001 it was not because it enabled me to compute better. I turned to GNU/Linux because that was where Freedom was. However, I'm not a geek and must wait for others to make my distro workable. I won't be able to adopt GNU/Solaris until it is ready for me. The second issue is that as the monolithic Linux kernel becomes ever more complex, the quest for a workable microkernel structure may take on an urgency it does not currently have. The GNU project's Herd, or some other microkernel solution, may become the obvious direction of computing.

As for web aps and storage (strongly advocated in this month's LJ): Many if not most of the world's problems stem from centralization of power. Local control precludes the problems. We need more Freedom like Free Software provides, not less. For example, decentralized, renewable energy production such as photovoltaic sheathing and roofs on houses and businesses. Centralized computing has too much potential for abuse. You will have to pry my PC from my cold,dead fingers. Thankfully, Free Software will allow people like myself to continue computing autonomously forever, or until laws are passed to prevent us from doing so.

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.