
Linus Torvalds responds to what killed the Linux desktop - netsmashers
https://plus.google.com/115250422803614415116/posts/hMT5kW8LKJk
======
haberman
What users actually depend on Linux's iron-clad promise to never break binary
compatibility? It's curious to me that this issue is considered so sacred and
yet I rarely hear the rationale or actual user stories of people who want to
run 20-year-old userland on a new kernel.

In particular, note that the promise of kernel binary compatibility does _not_
guarantee that an old binary will run on a modern Linux distro unless the
binary is statically linked. Most user-space libraries bump their major
version number every so often, so it's unlikely that the required .so's for a
very old binary will be present on a new system.

~~~
DeepDuh
You raise a good point. Why are most open source programs dynamically linked
again?

Static linking is one of the nice things about the OSX ecosystem. If only
Apple wouldn't unnecessarily break their runtime environment every few
releases.

~~~
haberman
> Why are most open source programs dynamically linked again?

Probably because dynamically-linked binaries are smaller, use less memory (by
avoiding duplication), and can get fixes or security updates without
rebuilding or re-deploying. When you're a distro it hardly makes sense to ship
a copy of libc inside every single binary. Any fix/update to libc would
require re-downloading basically the whole system!

~~~
mibbitier
Bandwidth is cheap. Memory and disk space are cheap.

I think the days when it mattered are really coming to an end personally.

The amount of space (memory/disk/bandwidth) taken up by binary code is
minuscule compared with data/video/streaming/games/etc etc

~~~
option_greek
Not on every system. Not even on most systems. Embedded, mobile etc still
benefit from low distro size.

------
f4stjack
has linux desktop failed? Really? Correct me if I am wrong but we are talking
about a concept which has spawned thousands of distros used in millions of
computers still.

And main argument is rotten as heck: backward compatibility out of the box? On
Mac? Please! You have to install Rosetta for that, without it you have no
chance of running that escape velocity on your shiny macbook pro. Windows 7
make you feel like it can do backward compatibility jig, until you meet
ultrahyperfast running software. And no I am not talking about some console
application but the second incarnation of Saints Row.

I mean I would have understood if he simply said "I have started using Mac Os
insert-cat-name-here and liked it" nobody would have any problems. I really
can't understand the need to declare previously used software dead, bad or
other derogatory terms. You use Mac, I use linux and it's still alive and
kicking, considering I got security updates this morning.

~~~
flyinRyan
>has linux desktop failed? Really? Correct me if I am wrong but we are talking
about a concept which has spawned thousands of distros used in millions of
computers still.

Desktop linux has utterly failed, yes, clearly. OSX grew to over 10%. Linux
desktop continues to remain statistical line noise. That doesn't mean that
literally no one on the planet uses it, just that a very small number of
people use it.

------
richardk
I personally felt that the "What killed the Linux Desktop" article was
completely irrelevant.

It seems there's always going to be some people who complain that GNU/Linux
isn't 'good enough' or whatever, and as a community we should simply ignore
these people.

------
conradfr
I don't really get the problem.

The desktop never really needed Linux, and Linux never really needed the
desktop.

People seemed to like Ubuntu some years ago though.

~~~
learc83
>The desktop never really needed Linux

That depends on how far Microsoft and Apple go with the tabletization of
Windows and OS X in the next few years.

I've been a mac user for years, but after playing with mountain lion, I could
see the writing on the wall. It was time for a new laptop, so I went with a
thinkpad with Arch Linux.

I don't think that Microsoft will ever manage to completely force the app
store on everyone--solely because of enterprise customers--unless maybe they
force you to use it on home/basic and make it optional on business/enterprise.
However, I do think that's what they and Apple eventually want. I also think
that's probably what the average consumer wants.

We need Linux as a third (and 4th, 5th...) option for all of us edge cases
that don't fit the standard consumer mold.

~~~
klodolph
It's funny you switch to Arch Linux, because Arch Linux is exactly the worst
example of broken userland that Linus is talking about in the post. Arch Linux
values "bleeding edge" over all things including basic usability, and they
willfully break compatibility with all other distros even when there is no
conceivable benefit.

The best example of this is the Arch mishandling of Python 3. Remember when
they decided that "python" was now Python 3? If you are a Python dev, then
alarm bells should already be ringing in your head. This is a BAD decision
with no excuses.

Python is wonderful because it is very portable. I can write Python scripts on
my Mac and run them on Linux or even Windows without significant changes.
Python 2 and Python 3 are incompatible, and I usually target Python 2 for
anything I want to be portable, since Python 2 ships default on OS X and on
lots of Linux distros. This is reality.

My Python 2 scripts begin with a shebang, "#!/usr/bin/env python" which
launches the Python 2 executable, wherever it is installed, on OS X or Linux.
Unless you are running Arch Linux, in which case you need to go in and
manually change the script to point to "python2" instead of "python". Except
"python2" is essentially unique to Arch, it doesn't exist on Debian or Fedora
or OS X or whatever. So no portable script is EVER going to point to
"python2".

But there's no real benefit to making "python" into Python 3. Anyone targeting
Python 3 will write "python3", which works wherever Python 3 is installed,
including Arch Linux. This is the decision the upstream made, and it's a good
decision. Anyone targeting Python 2 writes "python", which works everywhere
except Arch, and on Arch you have to edit your scripts. Who wants to keep a
separate copy of your scripts for Arch? What if they're not your scripts? Do
you write a shell script that runs "sed" to fix them? What if you keep your
Python scripts in Git or SVN, and don't want to change them every damn time
you check out a fresh copy on Arch?

Worse yet, lots of Python devs want to install and test with specific versions
of Python -- say, the Python version that their servers run. Arch sabotages
this, because as soon as you put "python" in your $PATH, a ton of Arch
programs break if they target Python 3. And they wouldn't have broken if they
just said "python3" in the shebang to begin with.

The result is that Arch has to maintain a fork of EVERY Python script in their
repository. For what? No real reason. The only conceivable benefit of this
terrible change is that a user can type "python" in the terminal and get
Python 3 instead of Python 2. I've been doing this for years with an alias in
my .bashrc, and it doesn't break every Python package in the repository.

So in short, the Arch Linux developers promise a new world in which not only
is binary compatibility impossible, but source compatibility for SCRIPTING
LANGUAGES is impossible as well. They have taken a bad idea and stuck to it,
dismissing anyone who disagrees with them by suggesting that they use "sed" to
fix the user's "broken" scripts, in such a way that it would break
compatibility with every distribution besides Arch.

And I have further rants about Arch with respect to (1) their dismissal of bug
reports of serious security vulnerabilities in default configurations (2) the
dismal performance and general usability of their package manager (3) the
inability of their maintainers to create a correct package for something as
simple as a font (4) the terrible average quality of advice on their wiki,
which is often gives advice that simply doesn't work for well-documented and
easy-to-discover reasons.

Gawd, use anything else. Gentoo, even.

Okay, I want to rant more.

(1) Security vulnerabilities are dismissed with the kind of reasoning like
"users who run this package know what they are doing, and don't run the
application on untrusted networks." Considering any (non-virtual) network
secure is almost certainly a sign of incompetence in your sysop.

(3) Install "terminus-font", it won't work. You have to manually "xset fp" the
path to it.

(4) See #3, and then look up the Wiki advice for it. It just doesn't work if
you run e.g. GDM, which doesn't run ~/.xinit.

~~~
tmhedberg
I don't really understand the fuss about the Python thing.
`#!/usr/bin/python2` should work on pretty much any system, not just an Arch
Linux system. Whatever happened to "explicit is better than implicit"?

If the Python community eventually wants Python 3 to become the default, they
will all have to deal with this issue sooner or later; Arch is just opting for
"sooner", as that's in line with the way Arch approaches all changes. The real
problem is that there are two incompatible versions of Python, and most Python
developers give too little thought to forward compatibility to include an
extra '2' in their shebang lines in order to disambiguate their intentions.
Just because python == python2 on most systems today does not mean the status
quo will forever be the same, nor that it ought to be.

In any case, there is no problem making Python scripts work on Arch, even if
they use the ambiguous shebang. All of the official packages work out of the
box with no problem, of course, and anything unofficial (i.e. AUR packages)
just needs a single, trivial sed command added to the PKGBUILD. Arch is not
"maintaining a separate fork of each Python package". This is the opposite of
true; in fact Arch packages are, on the whole, far _closer_ to their upstream
counterparts than the same packages from other distros, where it is common for
huge divergences to be made from the upstream defaults. Hardly worth ranting
about.

You come across as if the Arch developers viciously attacked your family or
something. Maybe it's just a distro with different values than yours, man!
Relax, there are lots of other choices! It's not supposed to appeal to
everyone, but for those of us who align well with the Arch "philosophy", it's
fantastic.

~~~
klodolph
There is a serious problem when "pretty much any system" excludes both Debian
and Mac OS X, and I don't know which others. The "python2" symlink is
frighteningly recent in the Python world, and some of us like to support
systems other than the bleeding edge. It makes me kind of skeptical that you
read my post, because this was the main point of my complaint.

My point is not that it's hard to get Python scripts to run on Arch, my point
is that I shouldn't have to do any work at all.

You can see a summary: <http://www.python.org/dev/peps/pep-0394/> (note it's
not yet been accepted)

"Until the conventions described in this PEP are more widely adopted, having
python invoke python2 will remain the recommended option."

"This feature [python2 symlink] will first appear in the default installation
process in CPython 2.7.3."

Python 2.7.3 was released in August 9, 2012, slightly over one month ago. That
means that if you are running a Python 2 that is more than one month old, you
won't have the symlink unless you make it yourself, or your distribution
provides one for you.

------
babarock
I'm a little confused. Are Linus (and Alan, Ingo and even Ted Ts'o) arguing
that the GNOME team experiences breakages because they ignored the kernel team
practices and used internal interfaces instead of the public ones?

Also why do they refer to GNOME as a "research" project?

~~~
microtherion
No, they're arguing that the GNOME team defends breaking (GNOME) public APIs
by arguing that the kernel team does not hesitate to break _internal_ APIs,
instead of recognising that actual public Linux APIs are highly stable.

~~~
recoiledsnake
It's a bit more nuanced than that. Miguel(the founder of Gnome but was
uninvolved since 5 years) said that the culture of Linux was to break
things(see driver ABI) and then use the fact that the driver source is
available for most drivers to get around that and just recompile them with
changes. And that the userland adopted that practice(see autoconf) and led to
fragmentation of the software platform with library hell, leading to
commercial software staying away for the most part.

As you say, others responded with external vs. internal interfaces, but what
is an external and internal interface for things like Gnome or KDE? They have
only one API that's used by both their other libraries/applications and
application writers.

~~~
jlgreco
_"They have only one API that's used by both their other
libraries/applications and application writers."_

Which is a problem they without doubt did not inherit from the kernel team.

There is little doubt that the GNOME guys have been using kernel practices to
justify their actions. The point being made here is that they are wrong to do
so.

~~~
recoiledsnake
>Which is a problem they without doubt did not inherit from the kernel team.

Interesting point, Windows, OS X, iOS etc. get derided for having internal
private APIs that they try to prevent external devs from using, and not doing
the same thing is now a 'problem' for GNOME and KDE? Isn't the whole point of
Linux for developers, freedom to use it as you see fit?

~~~
CodeMage
_Isn't the whole point of Linux for developers, freedom to use it as you see
fit?_

I've yet to hear of a philosophy that allows you to both 1) use everything as
you see fit, even things marked as "internal" or "private" and 2) give you the
right to complain about your software getting broken because you relied on
things marked as "internal" or "private".

In other words, you can either restrict yourself to the published APIs and
demand compatibility or you can use the guts of the system and have no
expectations of stability when the guts change.

~~~
wamatt
Allowing the public to use API calls marked as private, with the understanding
it may change at short notice, actually seems like a good compromise.

~~~
recoiledsnake
How many things can you mark as private in an application GUI toolkit like
Gnome or KDE/Qt and make them available to your own applications?
Private/public API doesn't really make sense for GUI or sound libraries.

------
mcot2
I don't really consider the Linux desktop "dead". Besides Android, it just has
a marginal market share because you mostly need to be tech oriented to use it
or install it.

I think the risk for the future is that the idea that the traditional desktop
is dying out. In some respects the touch capable tablet UI's are much more
user friendly. On the other side, the lightweight web-only interfaces (Chrome
OS) are becoming increasingly more powerful/useful.

Windows and Mac have already moved to hybrid designs.

------
gokhan
Off topic. App.Net says it is "a real-time social feed without the ads". This
G+ page is quite on topic with some heavy participants, design looks good, and
clear from ads. Why would I want to pay App.Net?

~~~
mmahemoff
For one thing, G+ doesn't have a serious API yet, whereas App.Net already has
Android and iPhone apps by third-parties using its API.

But overall, I've found it interesting how little G+ comes up in discussions
about Twitter and App.Net. I happen to think it's an absolutely excellent
product and find it much more engaging than Twitter. Most people I see
complaining about it have made hardly any posts and haven't taken the time to
build up a network.

~~~
msbarnett
> But overall, I've found it interesting how little G+ comes up in discussions
> about Twitter and App.Net.

Probably because it's completely Apples-to-Oranges. Twitter/App.net is for
_short status updates_. I deeply value the enforced brevity. G+ posts tend
toward blog-style bloviating; the use cases really don't overlap.

~~~
mmahemoff
Fair point. I've noticed G+ doesn't work at all for live event updates, so
expecting them to build a Facebook-like "heartbeat" thing on the side at some
stage.

At the same time, I can say I've moved a lot of link sharing to G+, so for
that use case, it's a fairly direct substitute. The rich embedding is better
and I can say what I want without having to cram it. It's like that Pascal
quote about not having time to make it concise...G+ just lets you write a
couple of sentences, or more on whim, without having to then manicure it into
140 characters.

------
mmahemoff
OT - Now would be a really good time for Google Plus to permalink comments
(like Slashdot and others have done since ancient history).

------
vacipr
At times like this I wonder why am I even trying to read discussions on G+.
<http://i.imm.io/D7zA.png>

~~~
ronnier
I don't enjoy it either. The tampering of the scrollbar and having the text
stuffed into some sort of frame ruins the experience. Those two problems make
it difficult to read on G+ so I usually just avoid it.

------
antirez
Reading this discussion is hard for me without thinking, what would have
happened if the whole Linux ecosystem was BSD-licensed?

~~~
recoiledsnake
That's easy,some BigCo would've co-opted it, paid developers to go the last
mile and polish it to make it usable, and make it incompatible with everything
out there and sold it. Perhaps Sun or IBM or even Oracle. E.g See OS X and to
a lesser extent, Linspire/Lindows.

~~~
protomyth
Hasn't happened to PostgreSQL and I doubt it would have happened to Linux. The
leader and community are pretty strong with Linux and that is not about the
GPL. I would imagine some folks would fork it, but that always is a losing
game from a business point of view (paying for a fork vs. patching and getting
everyone to pay). Having BSD licensed kernel at that point in history during
the AT&T BSD lawsuit would have been seriously interesting.

~~~
jiggy2011
Maintaining a fork isn't a big issue if you have enough resources, considering
that if Linux was BSD licensed they would still have had their proprietary
fork mirror it "close enough" to pull in at least some of the big changes from
the main Linux tree. Android seems to work in this manor to a certain extent
(although they open source patches back when they have to because of GPL).

You would most likely have ended up with a bleeding edge open source version
and several more conservative closed ports.

Bear in mind that a lot of the reason Linux development is strong is because
many of it's developers are paid to work on it and then contribute back (again
because of GPL). If a company could gain a competitive advantage by paying the
same people to work on a closed fork..

~~~
protomyth
I think the problem with maintaining the fork is the speed of development of
the community, and let's face it, it is much easier to monetize hardware than
software in the open source world. The fear of being left behind and weird
vendor specific errors should not be discounted.

I agree though, someone would try. I just think Linux would have done just as
well with a BSD license being released at the time it was. The people and the
timing deserve more credit than the license.

------
sciurus
This is essentially a duplicate of
<https://news.ycombinator.com/item?id=4467653> from one day before.

~~~
mindstab
Except this is the actual thread that's still evolving while the other was
some cut up quote filled "news" post.

The conversation here may parallel the other but I think this link is more
valuable.

------
corkill
Here's a few places it falls short with reaching mainstream consumers, I
realize many people may not care about that, but I think it could be a viable
alternative to windows or OSX for many people if it were easier to get started
with and use.

1\. Not clear how easy it is to dual boot install with windows for non tech
users. e.g. difficult to get started.

2\. Make it faster, latest ubuntu is sluggish. The UI gets non tech users
excited, a few minutes of using it and they are going to bounce.

3\. Make installing programs easier, I know how to get them running, I still
don't know how to get them properly installed. Average Joe has no chance.

4\. Support all common user tasks out of the box, for example viewing videos
online.

To me it feels like Ubuntu is 90% of the way there, just a few things stop it
from being a good alternative (these things of course are probably not trivial
to fix, but I would say they are critical).

------
autophil
Epic thread. I haven't used Linux much since early 2000, but all the giants of
Linux I remember from my Linux hacking days are there. Interesting read!

------
stevewilhelm
I has been a while since I stopped using a Linux desktop. The reasoned I
stopped:

a. there were at least two of everything: GNOME, KDE, vi, emac, gedit,
Firefox, Opera, kasablanca, ftpcube ...

b. crap device support: graphics cards, printers, cameras, thumb drives ...

c. highly variable levels of application quality and support

------
grandalf
I think this flamewar is just a viral marketing strategy for Google+

~~~
pooriaazimi
I don't think so. It's so hideously designed [1] that the more people _don't_
use it (and have a feeling that it's great, as they've heard others like it),
the better for them. Now I'm trained to _not_ open G+ posts unless I'm
absolutely sure there's something I will enjoy/learn from. YMMV.

[1]: That stupid "Join G+" black bar, the absolutely unnecessary chrome around
the content that takes up more than 83% of screen real state on my 15" MBP, no
links to comments

------
andyl
IMHO, Gnome2 was great, but since then its all gone downhill. Still cursing
Ubuntu for Unity.

~~~
gitarr
FUD, Unity is great and you know it. People bashing Unity have not really
tried it yet.

~~~
danielweber
I've been using it for a few months and becoming more and more upset with it.
I have very high inertia and so I've stuck with it to give it a chance, but
the deal-breaker is probably going to be that sliding my mouse to a new window
ought to result in me _immediately_ being able to type in the new window.

~~~
Evbn
I can't get my Gnome2 with Compiz to do focus follows mouse either. How?

~~~
jeltz
I do not remember how but I am almost 100% sure I at one point ran
Gnome2+Compiz with focus follows mouse. Maybe you need to install the advanced
configuration manager for Compiz.

------
batgaijin
The Linux desktop will never succeed as long as nobody can profit from it. As
long as Microsoft prevents the distribution of Linux through tithes or threats
of patent litigation, why would anyone spend a penny making the desktop look
better?

edit: sources

[http://www.informationweek.com/windows/microsoft-
news/micros...](http://www.informationweek.com/windows/microsoft-
news/microsofts-new-cash-cows-linux-and-andro/231601809)

<http://www.groklaw.net/article.php?story=20090619161307529>

<http://www.pcmag.com/article2/0,2817,2331462,00.asp>

~~~
recoiledsnake
That's an extremely opinionated point and doesn't add to the discussion and
comes off being on a witch hunt. MS couldn't stop Samsung, HTC, Lenovo etc.
from shipping Android devices, nor all of them plus Acer, Dell, and hundred
other OEMs etc. from shipping Android tablets. What about HP and WebOS? Dell
still ships Ubuntu laptops. And almost all the big OEMs have a big Linux
division beside their Windows server division on their server pages.
<http://content.dell.com/us/en/enterprise/linux-servers>
[http://h18000.www1.hp.com/products/servers/byos/linuxservers...](http://h18000.www1.hp.com/products/servers/byos/linuxservers.html)

Where are the lawsuits against System76? If there really was demand, you think
a company wouldn't start up and offer Linux? In fact there have been OEMs
shipping Linux, but stopped or hid their offerings after the high rate of
returns from people buying and returning them. And the tech savvy people who
are the real customers can buy ANY PC out there and throw Linux on it(or just
get a Macbook Air). There's not much money in it for the OEMs except high
support costs, return rates and a whole toolchain to get Linux images(hard on
thin margins).

If there is real mass consumer demand, a company can ship Linux profitably, MS
won't care about them till they start making hundreds of millions a quarter,
at which point successfully fighting a lawsuit based on antitrust case
precedent on PCs or paying a low amount per PC won't really hurt the
manufacturer. So, stop painting MS as the bogeyman in this discussion,
Windows' and Office dominance(due to Open/LibreOffice not being up to par due
to various reasons including Office compatibility) is a well known reason.

~~~
batgaijin
1). Yes, companies ship Android devices, but if you read any of the articles
you would have seen that those companies pay $8-15 for a Windows Mobile
license for each phone.

2). You are right about Microsoft not trying to litigate for Linux servers,
but I'd take a guess that is because most companies already have a
heterogeneous environment, and if push came to shove I would assume that most
companies would consider a full switch to Linux if Microsoft forced their
hand.

3). HP and Facebook are the two main companies defending Linux atm, you are
right about that:
[http://www.theregister.co.uk/2011/04/20/facebook_hp_and_open...](http://www.theregister.co.uk/2011/04/20/facebook_hp_and_openstack_join_open_invention_network/)

4). Dell does not currently distribute any consumer laptop with Linux as an
option, at least not when I tried the top 10 popular laptops on their site.

5). They don't profit from putting System76 out of business, and in fact would
probably cause much more financial harm in terms of what it would do their
image as picking on the little guy.

6). You are absolutely right about the low consumer demand. However, don't you
think it's weird that NOBODY is pushing it? Not even as an experiment? No
smartbook running Android? Why is the Asus Transformer the closest attack we
see?

~~~
recoiledsnake
> Dell does not currently distribute any consumer laptop with Linux as an
> option, >However, don't you think it's weird that NOBODY is pushing it? Not
> even as an experiment? No smartbook running Android?

Wrong. It's funny you're commenting on this so vehemently with so much anger
against MS in this and previous threads and you haven't even heard of Dell's
Sputnik?

[http://www.pcworld.com/businesscenter/article/259229/dells_u...](http://www.pcworld.com/businesscenter/article/259229/dells_ubuntu_laptop_program_enters_beta_blows_away_expectations.html)

They do sell in places where there's more demand, and the Windows tax is high
in relative cost of living terms.

[http://www.omgubuntu.co.uk/2012/06/ubuntu-dell-laptops-go-
on...](http://www.omgubuntu.co.uk/2012/06/ubuntu-dell-laptops-go-on-sale-in-
india)

They did try a while ago in the US and they didn't sell well and now they're
making a dev ultrabook.

[http://arstechnica.com/information-
technology/2012/07/dell-l...](http://arstechnica.com/information-
technology/2012/07/dell-launching-sputnik-the-ubuntu-developer-laptop-this-
year/)

[http://www.zdnet.com/dell-re-enters-high-end-linux-laptop-
ma...](http://www.zdnet.com/dell-re-enters-high-end-linux-laptop-market-with-
red-hat-enterprise-linux-7000001583/)

Microsoft is plenty evil, but there's no need to make up things.

Edit: How many would buy Dell's laptop? Most devs would prefer their own
choice, perhaps a Macbook Air or throw Linux on a Thinkpad. How does Dell get
a leg up on Lenovo(with Windows) here without making 20 laptops with Linux?

~~~
batgaijin
Can you buy a Sputnik laptop? No, it's not for sale. Until you can, it's just
another Linux laptop that gets press and mysteriously never gets released; see
every smartbook (aside from the recent Chromebooks, which corps. still have to
pay to suppress patent litigation) [http://www.techradar.com/us/news/phone-
and-communications/mo...](http://www.techradar.com/us/news/phone-and-
communications/mobile-phones/patent-deal-exposes-lg-chromebook-plans-1054281).

