Hacker News new | comments | show | ask | jobs | submit login
Linux now on 42% of consumer computing devices (pingdom.com)
99 points by dave1010uk 1636 days ago | hide | past | web | 88 comments | favorite

In the graph, there is a sudden change in 2005, where (I guess) mobile devices were added. What I don't get is how Apple jumps to 21%, given that the iPhone was not introduced before 2007.

Edit: from the linked Seattle Times article:

I asked Goldman Sachs about what happened in the 2004-2005 time frame -- as seen in the above chart -- that made Apple's vendor share jump, Microsoft's share plummet and the "other" category to go from zero to 29 percent. Goldman Sachs replied that it has to do with more mainstream adoption of non-PC consumer computing devices but declined to elaborate beyond that.

Source: http://seattletimes.com/html/microsoftpri0/2019853243_goldma...

They had to have started including iPods and other mp3 devices that year. It is obviously a change in data gathering, because nothing that exciting changed that year. Even when the iPhone came out, it was a show ramp that didn't really pick up until the 3G.

That could have been the Intel transition but, although announced in 2005, the first Intel Macs were actually available in 2006.

Although it's technically running the Linux kernel, I personally would not consider it a free (libre) operating system as sold on most of those devices. I'm sure Linus is proud, but this seems like more of a win for Google than for the Linux community or free software in general.

It's not "technically" running the Linux kernel, it IS running the linux kernel.

It's also using most of the standard GNU tools - bash, etc. You can open a shell on a rooted android device and use it much like any other distribution.

This is a huge win for Linux.

"You can open a shell on a rooted android device and use it much like any other distribution"

Assuming, of course, that you can actually root it.

"This is a huge win for Linux."

Is it? What was won, exactly? If we are not seeing a more vibrant free software ecosystem as a result, then we did not really win anything. The prevalence of app stores, the number of Android devices that are difficult to jailbreak or for which no jailbreaking tools are available yet, and the partitioning of "users" and "developers" in the Android ecosystem are not positive things for Linux or for GNU.

What was won, exactly

Consider a world without Android, in which the new, dominant computing platform is an Apple monoculture far more locked down and exclusionary than Microsoft ever dreamed of being in their desktop heyday.

Maybe Android is not ideal, but life tends to involve a lot of messy choices. The fact that they are messy doesn't mean that there aren't still important distinctions to be made.

Well, I think we all agree that this isn't what RMS imagined (by a LONG shot). This is a kind of compromise, a merging of Free Software ideals with practical implementation how to translate Linux into a "consumer OS".

The sad fact is that you simply cannot handle root shell to an average consumer. The only result of that is a security hole because the user is grossly uneducated (the question whether he should be educated is for another time).

Regarding the bootloader lock/root, you have to commend Google for offering great, and easy to unlock & root phones off the shelf. The fact that US cellular market is screwed with subsidies and carriers making it hard to root phones is a whole different issue - that's really not Google's fault. It's also definitely not the case elsewhere (e.g. in Europe, where my experience comes from).

And I also think this is a much better state than if all those phones run Windows ;)

Because of the GPL, companies using Linux are required to release the kernel modifications they made to get it running on this wide variety of hardware, and this improves Linux as a whole.

EDIT: This article's extreme focus on the consumer mobile market is pretty narrow-minded, though: "There’s no denying the success of Linux in many areas, with Android being the foremost example." No, if you want to see where Linux really dominates, look to HPC and embedded systems.

Are there android devices that are difficult to root? I have only ever used the Nexus line (closes to actual Android spec), but they have all been incredibly easy to root. I was under the impression they were actually built this way on purpose.

There are certainly devices that are harder. Many relies on various bugs. Most ICS and Jelly Bean devices appears to be trivial to root due to a timing issue in the "recovery" functionality, though - there's a script floating around that claims to root pretty much everything.

Note that there are several issues: Rooting is often reasonably easy. But rooting is not enough to be able to install custom roms. For that you also need to be able to unlock the bootloader. There's any number of obstacles.

That said, there are tons of easily rootable and unlockable devices out there, so it's not really a big problem for those of us who insists on one or the other.

Especially with more and more higher end devices coming out of non-descript Chinese manufacturers who couldn't give a crap about the carriers desires, and which will start being "good enough" for more and more people (my new phone is Star phone that looks exactly like the Samsung Galaxy SIII, and while it don't perform as an SIII, it beats the pants of my 2 year old HTC Desire HD in every way and cost a fraction of what my Desire HD did)

I guess I do have it wrong then. I thought Android had made efforts to intentionally allow root (and unlock of the bootloader) without requiring an exploit (ie. a security flaw which could easily be used maliciously).

Well, you can still install custom ROMs even with a locked bootloader. You just can't change the kernel. The custom ROM needs to be using the same kernel.

You actually dont have to root it at all. Just download terminal emulator from market and you are good to go.

Servers ultimate is also made out of amazing sauce if you want to go the other way with your devices.


I've been disappointed by it - everytime I use it for real work it's missing basic utilities and shell features. Has it been more than a novelty for you? If so, I'd love to hear what you've found it useful for.

I use it all the time on my Asus Transformer (which has a keyboard dock).

As for lacking basic utilities, it seems to be a problem depending on your firmware. CM10+ comes with a lot more basic stuff than just plain busybox. I know my Samsung Galaxy S came with almost nada (meaning I needed to install busybox, it wasn't preloaded).

Anyway I now use the Transformer as my main SSH terminal. From the terminal emulator. Like on a normal Linux desktop.

I also use it for finding and grepping stuff in my user/data-folder. If I am to copy things to or from the SD-card in the Transformer, I also find myself prefering to do things via the command line, much like I do on a normal Linux desktop.

As for the phone, I can't say I use it as much there, more for stuff like looking up my IP and MAC via ifconfig etc.

But lacking tools is a problem which can be solved. If you buy "Better Terminal Emulator Pro" ($5-ish) it will offer to download and install a better, more complete (and cross-firmware consistent) set of user-space tools, including stuff like ssh.

A massive win. More developers building on the OS could ultimately result in more developers contributing & honing the OS -- in addition to whatever they open source while building on it.

It's a win win :)

Kernel != The shell system.

You can't get shell on the gas station pumps I did either, but they run on linux.

Android is far from a typical Linux distribution. In addition to custom kernel features (see https://lwn.net/Articles/514901/ ), most of the rest of the system hasn't got anything to do with GNU or GPL and is structured very differently from a typical distribution. O'Reilly's "Embedded Android" is a great source on Android internals.

I'm not saying Android isn't good for Linux. I also do appreciate the ability to read and learn from the source code and modify it.

Busybox + Ash is far from typical for a desktop Linux distribution. It is on the other hand exceedingly common for embedded Linux, and has been for well over a decade.

My sources tell me that Busybox is actually not included in at least vanilla Android. Not in the AOSP tree at least (just checked (v4.1.2)). I'm not sure if OEMs have included it in actual products, but why would they have? I might be wrong. There are separate installers available to get Busybox on a rooted Android device. https://play.google.com/store/apps/details?id=stericson.busy...

They have a version of the Ash shell, Berkeley licensed, with the original notice by Kenneth Almquist. The Busybox Ash is also derived from the same origin.

As others have pointed out, they also have their own libc.

Most of these decisions seem to have been made to avoid using the GPL outside of the kernel. And a custom libc seems to entail that patches have been necessary to enable some of the standard GNU based tools they do have. If I understand correctly, mainly because of Bionic, you often can't just take a standard piece of Linux userland software and make it work without modifications or without including the GNU libc.

Also because of avoiding the GPL, the hardware driver model is different, with most of the driver logic being in closed source userland code.

The filesystem layout is non-POSIX-like, the way the user accounts and processes are handled is non-standard, they have their own dynamic linker, etc. Not to mention that a large part of the system relies on their Dalvik (Java) virtual machine, with a large application framework implemented in C++ and Java through JNI.

I'm not familiar with the embedded Linux landscape, so I don't know if this heavy avoidance of the GPL is common there. But I do know Android does not resemble GNU/Linux for these reasons.

Yup. Describes both my router and NAS which I work with all the time.

Embedded linux, which is a vast majority of those installs, never DID use typical shells for smaller targets.

> It's also using most of the standard GNU tools - bash, etc.

Actually, I'm pretty sure it uses Busybox tools with ash, not GNU with bash.


Not exactly. Most Android devices come with a very simple shell named ash, but it's no relation to busybox's ash.

My mistake. Still, it doesn't use GNU utilities - Android is Linux but not GNU.

> It's also using most of the standard GNU tools - bash, etc. You can open a shell on a rooted android device and use it much like any other distribution.

Android does use GNU gcc, but not glibc or GNU tools - it uses a custom libc called Bionic (BSD-licensed) and mksh + busybox for tools (also BSD-licensed).

You don't even have to root it to play around with the shell (although you can't do much). Much to my dismay, the standard busybox does not even come with awk. :(

> This is a huge win for Linux.


I though android was completely free of anything GNU, but according to the GNU website, there is very little GNU in android: http://www.gnu.org/philosophy/android-and-users-freedom.html

> It's also using most of the standard GNU tools - bash, etc. You can open a shell on a rooted android device and use it much like any other distribution.

Nope. Android does not use GNU. It is not just a GNU/Linux distribution, it is a completely different operating system, even more different than other alternates to GNU such as Busybox if you consider the philosophy of the whole thing. GNU's Not Unix, but a little bit anyway. Android is not Unix, no matter from which angle you view it.

"You can open a shell on a rooted android device and use it much like any other distribution."

This is the nub of the matter. It's not a free system because of the ludicrous hoops you have to jump through in order to actually get to the Unix underneath.

There's no need to be rooted at all. There's actually no hoops.

Just download Terminal Emulator from Google Play and you are good to go. If you have a fancy phone and a USB OTG-adapter, you can actually hook up a keyboard as well, and you now have a text-mode Linux computer with a tiny, tiny screen.

Android doesn't run the GNU tools - it uses a pared-down set of "POSIX-like" tools that aren't GPL.

I totally agree. Android benefits form Linux, at the moment Linux is not really benefitting for Android - sadly enough. Anyhow Linux is not an Operating System; Ubuntu is; Android is - Linux is just a kernel

My cars have computers which are not running Linux. Same for my microwave oven. A smartphone more closely approximates their level of end user programmability than it approximates that of an iMac.

The article splits the world in a way which justifies the desired conclusion. It reminds me of the way the Amiga press used to hype even the most indirect cultural references as evidence of its impending success (yes, I know the scale was different, it's the behavior which is parallel).

Comparing a smart phone to a microwave oven is disingenuous. I'm HN-ing on my smart phone right now, which is something I used to schlep out of bed and plop myself in front of my PC to do.

I can program my microwave to automatically heat my soup for 85 seconds at 80% power beginning at 2pm. End users would struggle to program their smartphones to navigate HN automatically at that time.

Traditionally, programmability has been the consideration when determining what constitutes a general computing device. Browsing the web or reading email are not.

What deserves analysis are the premises upon which the conclusion about Linux has been reached. The basis upon which the conclusion about Linux has been reached relies on a special definition. When an argument relies on changing the meaning of words, its honesty is suspect.

Maybe we should measure in terms of time spent using the device rather than just raw device count. I have a suspicion that if you did that, Windows would come off a lot stronger due to time spent at work, and even if you factored in microwaves, they wouldn't be a big slice of the pie.

Good point. Consumer computing is a much large category and QNX shouldn't be left out.

But considering the source (Gartner) it's not surprise really.

The most striking statistic to me was Microsoft's drop from 97% to 20% over the past 12 years.

How many devices did the average consumer have in 2000 (a desktop PC, maybe a game console, maybe a laptop, a cable box) compared to now (an MP3 player, a smartphone, a laptop, a tablet, an e-reader, a game console, an internet TV box, in car computer, a wifi router, a backup NAS, etc). How many global consumers (think BRIC) are buying devices now that couldn't dream of it in the early 2000s?

Microsoft's share of the pie has dropped, but the pie has exploded in size.

Despite that MS has not had an explosion in sales, the outcome they were hoping for. They probably wouldn't mind a fall in market share so much if their sales had still quadrupled.

You're right, their sales haven't quadrupled, but to be fair, across the company they haven't remained stagnant either. The best proxy I could find for sales was annual revenue, and that shows 3.2x growth for the 12 year period:

FY 2000: $22.96 billion FY 2012: $73.72 billion

Now, I'm sure financial geeks will pick holes in this simple comparison. And of course I realize that company revenue is heavily weighted by Windows and Office, and increasingly servers and tools, and much less so by direct consumer purchases.

[2000] https://www.microsoft.com/en-us/news/press/2000/jul00/q00-4e...

[2012] http://www.microsoft.com/en-us/news/press/2012/jul12/07-19fy...

Because the range of devices we decide to include has increased?

I think a more appropriate charecterization is that the range of devices people use for daily computing has expanded.

If someone is using an Android phone as a glorified feature phone, does that still count as "computing"?

I am very tired from the statements like this from time to time.

I use Linux, I like it, but please stop to remember every day that Linux is the best and in a position of global leading.

I thought OS X and iOS were derived from BSD. Is the graph supposed to be generic Unix/Unix like OSs or should Apple not be included in this? Or am I just wrong?

The 42% is Android. If they wanted to make a stronger point they could sum up Apple and Android and claim 66% of mobile is on unix-like OS's.

OS X is based on NeXTSTEP which is in turn based on Mach. Mach is a micro kernel based on BSD.

The version of Mach in OS X is not a microkernel. Only the last version of Mach was a microkernel, and OS X's kernel is based on an earlier version.

And while the Mach project used a BSD userland, Mach is not really "BSD-based" other than in terms of interfaces to userland - it is based on Carnegie-Mellon's earlier "Accent" project.

Thanks, should have written that in my comment. I did not intend to fool anyone into believing NeXTSTEP or OS X are micro kernels.

And Wikipedia disagrees with you about Mach. It says Mach was the "logical successor to Carnegie Mellon's Accent kernel" and that Mach was based on BSD4.2. Though Wikipedia could obviously be wrong.

Well , this is talking specifically about Linux so BSD would not count. AFAIK even though BSD looks sort of similar to Linux there is no actual shared code in the kernel and indeed many core libraries are different.

How big did the overall pie grow in each of these years. They're claiming a massive drop for Microsoft, but wouldn't it be true to say that the total number of devices out there has grown hugely too. I know kids and teens with 2 or 3 "consumer devices" each and adults with 5 to 10. That certainly wasn't true in the 2000 - 2005 period.

tl;dr: A lot of people have Android devices.



What was the question again?

>For Microsoft the situation is not as good. The combined share of Redmond’s different operating systems fell from 97% in 2000 to an estimated 20% in 2012. Apple, with OS X and iOS, grabs a 24% share.

So does this mean anti-monopoly restrictions must be lifted on Microsoft in the US and the EU? Why is Microsoft being unfairly targeted by, for example, being forced to include a browser choosing dialog in the EU while Apple gets a free pass for Safari inspite of having a higher marketshare and the lockdown of alternate browser engines and Javascript interpreters on iPhones and iPads?

The anti-trust restrictions on Microsoft have always specifically targeted their behaviour in the desktop PC market.

Isn't that distinction starting to become arbitrary? If trends continue, we're going to see a convergence between the mobile and desktop PC markets.

They might be. I don't see the point of forced browser choosing given that the browser market is very competitive right now.

> the browser market is very competitive right now.

The important bit is "right now". It used to be competitive before IE6's stranglehold. And today, we can see a single implementation rapidly rising in marketshare, if that continues then we may have a non-competitive marketplace in the not-so-far future.

In fact already right now WebKit has a dominant position in mobile, and many sites only work in WebKit.

So even if the market is fairly healthy right now, we still need to be careful that doesn't change. The current trend hints that it will.

That's far from true in the iOS ecosystem.

A lot of people have Android devices. And TV decoders running Linux. And routers running Linux. And the trend ain't stopping anytime soon: it's hard to compete with free and open.

That's when you do really want to go back to the late nineties, on Usenet, where all the MS fanbois kept singing: "Nothing to see, move along, Unix is dying and Windows is going to conquer everything, including the server space".

How farsighted these where uh!?

And that's in not even 20 years. I can't imagine how the landscape shall look like in another twenty.

That's when you do really want to go back to the late nineties, on Usenet, where all the MS fanbois kept singing: "Nothing to see, move along, Unix is dying and Windows is going to conquer everything, including the server space".


  "90's" with "teens."
  "Usenet" with "HN."
  "MS" and "Windows" with "Linux."
  "Unix" with "Windows."
Same song. Different day.

You really think that Microsoft is going to be able to make a push in consumer electronics? How?

Usenet trolls then are the equivalent of the political blog spam today.

In the nineties, Linux/OSS wasn't as mature/widespread and hardware for small devices sucked in performance and price. People wanted OSes and shit that just "worked". Installing and configuring "alternate" OSes in the '90s was painful even for experienced professionals and hobbyists. And the applications and user experience wasn't that great compared to what we have now.

Now days I can install Linux on a mainstream laptop, restrict Windows to a VM and actually get shit done without any or that much pain.

But the average computer user cannot, painlessly.

Though Linux has gotten easier to install, the average computer user is relatively less proficient than they were a dozen years ago.

Linux is not tailored for most people because of its fragmentation and the depth to which FOSS ideology drives its development. Supporting Linux is bothersome to the point that Red Hat run a lucrative business doing so.

> Supporting Linux is bothersome to the point that Red Hat run a lucrative business doing so.

I'm not sure what you're trying to say with this.

Supporting Windows is bothersome, to the point that thousands of companies run lucrative businesses doing so.

My personal experience is that supporting Linux in a business setting can be done with far fewer people than supporting Windows, and that seems to be a common experience.

Red Hat is a $10 billion company and listed on NYSE. Despite the massive disparity between the installed bases, there is no business that's even close to that size built upon supporting Windows...unless one considers Microsoft itself...and Red Hat is just one flavor of Linux among many.

>But the average computer user cannot, painlessly.

Have you tried installing Linux lately? The Ubuntu installation is simpler and faster than a Windows install and on par with OS X. At best, it's hard to get users to download an ISO and know how to burn it (even though that functionality is built into Windows/OSX/Linux), but even then Wubi is dead-simple to use.

I've recently installed Ubuntu, Kbuntu, and Windows 8. Windows 8 as a clean install was the most seamless in terms of hardware compatibility. Installing additional software on Windows 8 is vastly easier.

I can believe the first part. When I last installed Ubuntu some years ago it was indeed clunkier than a Windows installation.

But installing software being easy at Windows? The main reason I switched to using Linux as my main system is due to the vastly improved process of installing software. Windows has not improved in this area much in recent years (though many other aspects of it has).

What hardware did you have issue with?

>Installing additional software on Windows 8 is vastly easier.

huh? Besides the fact that I can install every application I need in a single command in a few minutes, or despite USC's one-click install of all software... Windows requires either independent one-off nuanced installers or require using the Store that has hardly any apps and requires you have and link a Microsoft Account.

Linux is NOT an OS and Linus did not create the OS. The OS is GNU the kernel is Linux. Thus you are comparing numbers for a kernel (Linux in Android OS versions) vs. numbers of OS's (Windows, OSX, iOS). This isn't a technicality either.

Get it straight because as the article stands, it's unresearched garbage.

I've heard the argument that Linux is not actually an OS several times; but I must admit I don't completely understand it. Why is it so inappropriate to conflate the operating system with the kernel?

Perhaps this is just the operating systems course I took in college talking, but I recall that an operating system is defined not by the programs in user space, but rather by how everything is handled behind the scenes; in kernel space.

Process management, threads, interprocess communication, memory management, the file system structure, input/output, network primitives... Aren't these responsibilities of the operating system? All of these programs and low level interfaces are provided by the operating system, and thus by Linux and not by the GNU utilities.

Operating system is more than the kernel. I do consider for example Arch and Ubuntu to be different operating systems although both use Linux as their kernel.

Perhaps some people consider the kernel to be the OS and the userland to be whatever else. I am much more bent towards the thought of an actual distribution being the OS, and the underlying kernel being just one part of the OS as a whole.

"OS" is a vague term, but for example

> Process management, threads, interprocess communication, memory management, the file system structure, input/output, network primitives... Aren't these responsibilities of the operating system?

they are, and they don't need to be in the kernel, which would be enough to say that a kernel is not an OS.

Even ignoring stuff like user space drivers/FS/network/threads, you usually use some user space APIs to interface with the kernel.

And maybe you need something to actually be able to launch programs, an init system, some login process etc..

FWIW, the definition I had in school(s) was more loose, on the likes of "the OS provides the basic functionalities to run and control programs".

The OS is way more than the kernel. Device drivers for example. Compilers (while technically ran in user-land, try to build a kernel without them). Etc, etc. I don't know what they teach you at school, but I'm sure you can figure it out from here on.

"I don't know what they teach you in school, but I'm pretty sure you can figure it out from here on."

Your statement is pretty condescending. I'm not sure what I said to deserve that.

"The OS is way more than the kernel. Device drivers for example. Compilers..."

Your first sentence makes a broad generalization. As far as device drivers go; the operating system provides the interface for such drivers to be programmed and work together with other devices in a way that should be transparent to the programmer. This is part of the I/O system that an OS should provide. Classic OS responsibility, but not "way more than the kernel". The interfaces are provided by the kernel.

As far as compilers go, I obviously agree they are a necessary component of any extensible platform; but they are not 'technically' ran in user-land. They ARE application/user programs! They are not part of the operating system.

If you insist on playing the "technicality" card here, you can't have it both ways.

As much as the Linux kernel itself is not an OS, neither is it correct to generalize the way you do.

There are tons of devices that run Linux that don't include GNU tools.

I've personally ported Linux to devices that didn't run any GNU userland at all, yet that had a recognizable Linux/Unix-y interface.

For many applications, the differences in kernel will in fact matter more in terms of portability than the userland will - I've written more than one application where I had to deal with differences between BSD vs. Linux kernels, for example, but where the userland didn't matter one iota.

ugh, here they come again, the idealistic free software guys who couldn't get their own kernel together. nobody gives a shit whether it's called GNU/Linux or just Linux and whether a kernel gives the operating system its name or whether its name is derived from a combination of underlying tools + kernel. The rise of Linux is a fantastic testament for the power of open source operating systems and let's leave it at that.

I like to call Linux Linux instead of GNU/Linux just to piss off people like you :-)

GNU is not either the operation system as without Hurd, Linux or some other kernel you can not use the GNU tools. GNU/Linux is a collection of software which forms the operation system though this collection can contain even more software and with different collection it becomes different operation system which is why Android is Android and Ubuntu is Ubuntu, etc. But Linux will always be the key component of operation systems using Linux as kernel and we Linux fan boys will always be happy when Linux is used as a Kernel and will follow metrics about operation systems using it.

And without GNU tools, Linux by itself is also useless without GNU tools (unless you can compile C by hand). GNU/Linux is the OS. Ubuntu, Fedora, etc. are distributions of this OS.

I would be very surprised if it wasn't possible to compile the kernel using Clang.

Hmm. Does anyone know if someone has tried to make a Linux dist based on the similar tools the BSD world have?

I realize they probably would have to be modified quite heavily considering the architechture of BSD, but I've seen stranger things done in computing :)

You seriously think GCC is the only C compiler which exists? Though now you understood that GNU/Linux is the OS and not only GNU. Though it is true that you need to patch the stock Linux to compile it with some other compiler like Intel CC.

> And without GNU tools, Linux by itself is also useless.

A world of Android-devices disagree with your definition of "useless". And so does my router and NAS (which both comes with Busybox, not GNU tools).

Android, which this very article is about, is Linux without GNU tools. The Linux Kernel can also be compiled with at least ICC and Clang.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact