> The fact that I didn’t really know where it would end up meant that I was perhaps more open to outside suggestions and influence than I would have been if I had a very good idea of what I wanted to accomplish. That openness to outside influences I think made it much easier, and much more interesting, for others to join the project. People didn’t have to sign on to somebody else’s vision, but could join with their own vision of where things should go. I think that helped motivate lots of people.
This is so quintessentially Linus. He's criticizing this idealized tech startup CEO character with a big passionate vision, a kind of person which I've heard described as "the captain of a ship where as long as everyone is rowing in the same direction, it doesn't matter where the ship is going." We obviously understand that is preposterous, and yet there are lots of very smart people rowing together on ships that are going shitty places.
Who actually believes things like inbound sales will actually save the world? Containerization? Restaurant reservations? Ad mediation?
Linus's opinion is inviting and has obviously contributed to the longevity of what he is doing. Has he built a huge multi-billion dollar business? I guess not. Neither has Jimmy Wales, as an example. And yet the yield-to-community, my-vision-isn't-first philosophy has firmly solved problems in ways which seriously threaten corporations with billions of dollars to spend on making their own operating systems, drivers, hardware, etc. (e.g., Microsoft).
He didn't just motivate lots of people. He motivated lots of very talented people, with little recruitment, no equity and little money, over decades, with diverse skills, better than far better equipped institutions.
The open source model repeats this success story in lots of places, naturally, but few have been as influential. I think this philosophy of not "having to sign on to somebody else's vision" is essential.
I've always wondered at the real value of a person's earnings. Is earnings an end in itself ? No, it is a means to obtain the worth of money one has with himself.
Be it financial or mental satisfaction, material acquisitions, name and fame, respect and prestige.
Keeping this in mind, I don't think Mr. L.T. is any less in his possessions than a star IT billionaire. Although he would far outdo everyone else when it comes to winning respect and a name for himself. He does not need to declare his life's earnings will go to philanthropy to win people's respect. He already has it. Something for which billionaires are willing to spend their entire fortunes.
> He does not need to declare his life's earnings will go to philanthropy to win people's respect.
I know you don't mention him by name but Bill Gates didn't need to give billions to charity to be respected, many already did so he could've just retired, hit the speech circuit and maybe written a couple of books and leave it at that. Philanthropy did make him a less divisive figure though.
>Who actually believes things like inbound sales will actually save the world? Containerization? Restaurant reservations? Ad mediation?
What's this obsession with 'saving the word'? You don't have to 'save the world' to be doing something useful. Restaurant reservations make the world better for people; that's what actually matters.
Unless you're working on something like AI safety, or something that helps people make correct decisions in high-impact positions (military? politics?), you're not saving the world.
Seems to be part of the "social justice" culture that has been taken root in universities as of late (though i have also seen it labeled "victim culture").
You can't simply exist to make good products, you have to have some kind of life altering/improving purpose behind every breath you take or you are part of "the problem".
I respectfully disagree. I remember hearing that phrase when discussing career options in the late 90's. It probably goes back further. People rarely mean it literally. It's typically shorthand for the idea of making the world a better place, often as a contrast to focusing solely on material compensation. Also, if you do an ngram search on Google Books, you'll see similar phrases spiking in use in the early 90's.
To your point though, you do see an awful lot of articles about how millennials are placing more emphasis on "personal fulfillment" than previous generations. I don't know how true that actually is, but I think it supports your point of people now talking more about doing good, not just building something valuable.
I don't think that's entirely bad though. If you have the luxury of choice, it's good to think about how you and your career focus impact the world. It's good to want to leave the world better than you found it.
However, my problem with the idea is that people approach it at such a shallow level. For example, I did a chunk of consulting work for a major vendor to pharmaceutical companies. My team helped them streamline a bunch of business processes and optimize software systems, saving them (low) millions of dollars per year. On the one hand, you could describe that as us just helping a giant corporation improve its bottom line. On the other hand, our improvements had a direct impact on clinical trials getting bid out and approved significantly faster with better end-to-end reporting and more automated safety checks during the trial. So, was that "saving the world"? Meh, not really. I was doing it for the money and joy of working on a solid team. But I did like the fact that in a small way our work was improving the efficiency of a global system that creates new live-improving, life-saving treatments (and admittedly some bad ones too).
I think I kind of lost the thread of my argument. :) My point is just that people have been considering the personal fulfillment part of their careers for a very long time, e.g., see Maslow's 1943 hierarchy of needs, and I think talk of saving the world is just a specific flavor of that general idea.
I definitely agree personal fulfilment is important. But this argument doesn't really apply to the disparaging way OP talked about people working on 'restaurant reservations' or containerization.
This idea was around much earlier. See what Steve Jobs said in 1983 to John Sculley, then CEO of Pepsi, to get him to come to Apple: "Do you want to sell sugared water for the rest of your life? Or do you want to come with me and change the world?" https://en.wikipedia.org/wiki/John_Sculley
/* The following is not intended as a criticism of you or Linus! */
>my-vision-isn't-first philosophy
Of Linus Torvalds? The man is nothing if not strongly opinionated, and AFAICT his word is law. He obviously has delegated a lot of the creative/editorial control of Linux to others (it would be impossible not to with a project on that scale), but if we think of Linux as a big software company and him as the CTO, you have to say he has an unusual level of direct personal involvement in the development process.
I think you're talking about something different......you're right that Linus keeps tight control of the architecture, and tries to make sure every major decision is of high quality, and that the code in general stays high quality (according to his definition of quality), but.....
If someone comes around with a new feature to add to Linux, as long as the code is high-quality and has no negative impact elsewhere, he's like to say, "sure, put it in!"
>If someone comes around with a new feature to add to Linux, as long as the code is high-quality and has no negative impact elsewhere, he's like to say, "sure, put it in!"
But in that case it seems like a bit of a strawman that's being attacked. It's not like it's a commonplace attitude to object to high-quality new features with no negative impact.
It's not like it's a commonplace attitude to object to high-quality new features with no negative impact.
Well, if you've ever tried to contribute to open source projects, I think you'll find that it actually is commonplace. For example, I eventually gave up even trying to commit bug fixes to Android, because the pain wasn't worth it.
Wherever there's human interaction, there will be politics.
On the other hand, even tho the code submitted is of high quality and good, it may have negative social effects on the projects: the feature may be out of the scope, the project owner(s) might want to make sure that the author of the patch will be there to support it because they don't have the expertise, etc. For example if I was maintaining a web server and you submitted a default mime.types file, I'd hesistate to take the patch if you said you wouldn't be able to support it, because I know nothing of MIME (sorry for the silly example).
No, it's not silly. What you said makes sense. I am referring however instead to meeting resistance in a project because something I've done or said doesn't line up with the already dug-in political interests that often exist in open source projects. I don't want to name names, but I can think of specific large projects (a couple of household names) that operate in this manner. Argue with a core dev about anything, and your PRs will get closed without any discussion. It sucks.
Obviously Linus is a good, even excellent leader. I'm taking issue with the notion that he has an unusually "my-vision-isn't-first" philosophy. For a software product that's not designed to fit any one highly-specific use case,* I don't see how you define "vision" as something other than the technical decision-making process in developing the product, or something meaningless.
*And creating a large-scale software product that's not tied to a highly-specific use case is itself something that requires forethought aka "vision." Vision isn't a bad thing!
> The thing about bad technical decisions is that you can always undo them. Yes, it can be very frustrating, and obviously there’s all the wasted time and effort, but at the same time even that is not usually really wasted in the end
This words inspired me more as this has similar context as what Donald Knuth had said in his book The Art of Computer Programming[0]:
> At this point, it is often a good idea to scrap everything and start over again at step 1, or even at step 0! This is not intended to be facetious remark; the time spent in getting this far has not been wasted, for we have learned a great deal about the problem. With hindsight, we will probably have discovered several improvements that could be made to the program's overall organization.
I'm also a big fan of Fred Brooks' "The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. […] Hence plan to throw one away; you will, anyhow."
Linux really blew my mind as a kid. It showed me what real computers could do, and i have had many, many adventures under a linux house of one distro or another. I know I would not be anywhere today without linux.
Lets see if I can come up with a list of everything i've used linux for:
* Routers
* DNS server
* Email servers
* VOIP PBX (still crazy that asterisk let me build my own PBX)
* Web Servers
* Monitoring
* Virtualization
* Desktops (I do all my dev in a linux VM)
* Honeypots
* data recovery liveCD
* Automation
* failover (DRBD)
* IRC server
* Print server
* File server
* Media center
A lot of those would simply not have been feasible for a kid to do in his basement with old computers. Most of that list wasn't otherwise economically feasible to do on windows, or possible.
Slackware taught me a lot. I really had to get my hands dirty there, and was using that as my secondary desktop for the later years in high school.
And linux is certainly how I got into programming, via perl, bash and php. And thats what I do for a living now, as a rails dev (thanks DHH!). I NEVER would have thought that a kid (this kid) with developmental disabilities could be a programmer; i flunked out of programming in HS pretty early into it.
The deepest of thanks to linus, and everyone that has created or contributed to open source projects. The socioeconomic impact of your work is beyond measure, all because you put sharing and collaborating with people around the world before profits.
I hope you take a step back from time to time and look at it anew; its an unprecedented and wonderfully human thing; Open source represents the best parts of us.
To this day I still can't believe the same person gave us Linux and git. The person might not be the most palatable, but what incredible feats of engineering he's capable of.
Yet in a way, both Linux and git are products of laziness... the kind of laziness that Larry Wall called a programmer's virtue.
Linux is a pretty standard Unix kernel clone that got traction as an x86 kernel, combined with the GNU userland and various distributions.
Git was intentionally designed to be "simple and stupid." It's extremely fast and reliable because of this simplicity, and because Linus knows how filesystems and kernel caches work.
So I agree that Linus has helped bring about some remarkable things. But it's not because he's an ultra-productive genius. He has a knack for C coding, an impatient and "lazy" attitude, and a lot of help.
And I think he belongs to this kinda older school of hacking, part of which is his rudeness toward bad patches.
The GPL is also a big part of these success stories.
Simplicity is one of the main virtues of engineering. To solve a complex problem (version control) in a simple way that works (git) is a major feat of (software) engineering.
Yep. Somehow I want to emphasize that Git-like quality isn't attained through extreme heroic efforts, but through having enough experience and good taste (and what else?) to get to the essence of the problem...
"heroic" is ill-defined, so don't know about that, but the effort was arguably extreme, in the sense that Linux and git are among the best at what they do. Lots of other people who might have the same experience and abilities did not achieve things like that. I just don't see why you would want to minimize the achievement in any way.
I want more people to do Linus-style work, instead of endless growing slow heaps of complex overengineering, so somehow I want to encourage intelligent laziness rather than hard stupid work...
One of the overlooked reasons that Git has gotten so much traction is that Linus solved the right problem. While others were trying to make the ultimate DVCS, he was trying to make the Linux kernel development process easier.
Or rather, that Linus solved the problem. If you or I published the git tarball two days before him, it'd be overlooked, and everybody would, IDK, use mercurial?
> It's extremely fast and reliable because of this simplicity, and because Linus knows how filesystems and kernel caches work.
I would add an additional reason that may be unpopular here: It is written in C. A version control system doesn't need to be in C, and indeed Mercurial is written in Python, but C makes it faster.
C also makes Linux uncomplicated in ways that hackers love. Because the language is simple and unsexy, the developer's focus is only on what you're doing. You don't have to learn someone else's model in order to add code -- a bunch of proprietary legacy data structures, conventions, and methods. You contribute directly to the koan of Unix in its native tongue, with minimimal mental impedence.
Can you imagine if the kernel had been written in C++? With each iteration, C++ looks like a completely different language. If Linux had gone through those changes since the early 90s, it would look like a baroque conglomeration, like the strange twin-spires of chartres cathedral.
And with Git, for example, you know that the project you're contributing to won't be dependent on some strange runtime, so all kinds of people and projects will find it easier to trust it as a core part of their infrastructure... so long as the project can maintain a reputation of secure coding practices...
The choice of language is uniquely important. Not so much that C "makes it faster", but it is so much more approachable. I believe that one reason that Linus started over with git instead of extending monotone was that the latter is C++.
Yes, from a non-american point of view, people are not exaggeratedly self-confident and enthusiastic, for european, being a bit pessimistic can be considered as normal. And french criticize everything. Even self-criticizing is sometimes allowed.
I use hg-git as my git client; I get to use the hg semantics and UI but still talk to, well, github behind the scenes. There are a few rough edges but it works pretty well.
But hg-git doesn't talk to the git CLI at all --- there's a Python library which speaks the wire protocol. So it'd be entirely possible to build a git workalike with a traditional DVCS user interface which seamlessly interoperates with git repositories. I wonder if anyone's already done this?
...dammit, I have too many stupid projects on the go as it is.
It's likely that Linus built git around what worked for HIM and the LKML rather than for a wider audience. A lot of additional tools that you can plug on top of git-core make it more palatable. And that very plugging is made possible that the quality of the interface to the core.
> The fact that I didn’t really know where it would end up meant that I was perhaps more open to outside suggestions and influence than I would have been if I had a very good idea of what I wanted to accomplish.
Not sure if I'm projecting or not but I think I've noticed this too. When I do projects that have some kind of grand goal, few people seem to care and I find I work mostly in isolation. Lots of pride and not a lot of fun.
On the other hand, when I do a project where the thinking is "Let's screw around, quickly throw stuff out there, and see how people react to it", I tend to get a lot more interesting feedback.
Even for smart people, there's something about a friendly game of "idiot ball" that seems to attract other people to come out and play too. Torvalds probably plays that game better than most.
I won't dismiss that he's been successful, but he's one of the people that I dislike the most in the tech industry. If GNU stuff didn't exist, he probably wouldn't even be able to compile and run his own work back in '91. All of the success of Linux is because there was a userland in search of a kernel. And if it wasn't for thousands of guys coding up drivers for Linux, Torvalds would probably end up an embedded guy in a washing-machine company.
GNU has been crucial to the flourishment of community-developed software today, both with their effort in creating the tooling, and their effort in keeping it accessible and liberated. So, the Linux guys need to learn to say thank you, because it's for GNU that there is a Linux for which development they get paid and feed their families.
After all, who cares about a kernel, as a user? For me, currently, if it supports the ath5k driver, and runs Emacs and supports POSIX, it's OK. I switched to FreeBSD, and, well, I didn't really notice anything.
It's too bad that it don't focus a bit more on the ideological philosophy of GNU, even if, as far as I know, Torvalds don't care much about it.
Especially for those who would like or dislike the ideology: those who disagree or for whom it don't make a sufficient reason to use it could get away from it, those who don't know could be attracted.
In my personal experience, the ideological aspect is 90% of why I use GNU and Linux, and when I see all the people running a GNU/Linux desktop inside or outside the tech communities, I don't really agree with the idea that it "never became a significant presence on mainstream desktops". It does became mainstream for people with specific uses for various reasons (political, technical, ethical, etc.). For sure, it never became mainstream in supermarkets.
Linux has changed my life for sure, like others who have commented here. I just wish there was a bit more commercial support for a true polished, seamless desktop Linux experience (and more OEMs selling machines with it preinstalled).
Google is the only company who has championed Linux for mass market success, but calling Android handsets and Chromebooks Linux computers makes me cringe a bit. But that's what makes it great, being so modular and flexible.
On the flip side, Windows get bashed way too frequently. Say what you want, but since Win8 Windows has been fast, fluid and stable, and gaming and video performance are top notch. That's hard to walk away from when comparing to Linux.
I don't know what a true polished, seamless desktop experience on any OS would look like. Windows 10 may be better (I'm still on 7 for work/gaming) but I still notice it BSODs and is apparently heavily resistant towards custom configurations like improving your privacy and control over the machine you own. I don't understand the Mac's UI and popularity among power users or casual users so I can't comment on it much. In the end I agree with Linus, the real issue is user inertia, but I also think it's not really an issue. Linux won everywhere but the Desktop, and it's not like that fact stops me from having the best desktop experience I can get using Linux.
Did you ever pay to support the various commercial endeavors for a Desktop Linux that Dell et al. have tried? I haven't, for one simple reason, though a second builds on it: their hardware is always subpar (laptop or desktop) -- which I can't even blame them for if they're trying to get sales from the much larger market of non-power users, but then the price isn't that competitive either. Second I'm going to reinstall the distro to one I prefer anyways, or even if the same distro at least one that I'm sure is free of any bundled crapware that is supposed to make the experience more polished and seamless, so I'm going to do it on better hardware. The only time hardware has been an issue for me was, I don't know, 15 years ago with a laptop's built-in wifi? Linux runs on a lot of things, some of those things include laptops and desktops.
I've used Elementary exclusively for a month. I found it lacking many built in tools and utilities, and the UI an OSX ripoff and also rather stripped down and limited.
Presumably because they're so far removed from the Linux-On-The-Desktop Experience™ we (the HN crowd) are familiar with.
It's the tradeoff between mass-market UX and raw power and customizability, and Android/Chromebooks are at one end of the spectrum while what we associate with "Linux computers" is at the other.
> S.C.: What’s the biggest challenge currently facing Linux?
> L.T.: The kernel is actually doing very well. People continue to worry about things getting too complicated for people to understand and fix bugs. It’s certainly an understandable worry. But at the same time, we have a lot of smart people involved.
I never thought Torvalds and Trump would say similar things.
Even if he was talking about moms in general, it wouldn't be sexist. It's just an example, it doesn't matter if "my mom" is replaced with "my dad", "my parents" or perhaps "my dog".
And in my particular case I was refering to an old lady, a brillant and successful physician, but who like many people of that generation has no fascination for computers, and use them as long as they are simple and intuitive. Exactly like she would use a car, without any appetite to fix or tweak it herself. To go mainstream, linux needs to appeal to that kind of users.
He specifically didn't mention grandmothers though.
And anyway, do you believe that "grandmothers" isn't a good example of a demographic that's largely not tech savvy? That's not a stereotype, it's a fact.
And no, I don't think that "grandmothers" is a better example than for example "grandfathers". In any case, I'd be willing to bet that nobody would be spewing these absolutely absurd accusations of sexism if cm2187 had used "my grandfather" instead of "my mum".
No, he didn't, but it was still in the same vein as the trope (older woman).
> do you believe that "grandmothers" isn't a good example of a demographic that's largely not tech savvy
I think that there is less aggregate tech knowledge in that demographic than in others, but I still think it's a trope that should be avoided, in exactly the same way we don't use 'black' as a shorthand for 'criminal' even though that demographic is overrepresented in prisons. It's associating a negative attribute with a demographic as a lazy shorthand term.
The problem here goes deeper. The initial complaint about someone else mentioning observations has grown out of the attitude "it can not be what must no be". It’s dangerous when people deny reality in favour of ideology.
> As to why the desktop is such a hard nut to crack—there are multiple reasons, but one of the big ones is simply user inertia.
Being a Windows user having tried to get into linux, there is a lot more than user inertia. A few reasons:
The desktop is almost dead, what we call desktop today is really laptops, with custom hardware for which the drivers are rarely all available for linux. Try telling my mum: "you need to compile your own drivers".
The UI is extremely limited and you end up having to type command lines almost immediatly, to install a software or change a configuration. First if command lines had even a remote chance to go mainstream, DOS would still be around and Apple would have gone bust. Then, there are many distributions of linux that take a different syntax so it's not even trivial to find help on the web. And again, try shouting "RTFM!" to my mum.
Linux developers seem to be in love with cryptic acronyms which means nothing is intuitive or simple.
For Linux to take over it needs not only to match but to surpass its competition (MacOS, Windows) in term of simplicity and ease of use. And right now it is far far far behind.
I am sure we can make the list longer. But blaming user inertia for linux not going mainstream is exactly what Microsoft was objecting when they were told that the new Windows 8 UI was a piece of shit.
There's been a lot of progress. Pretty sure I didn't have to compile a Linux desktop driver in last 10 years, and there are "app stores" with major consumer oriented distributions. OEM/component driver situation became a lot better ever since Linux kernel started running on majority of world's telephones and tablets. The usability of modern Linux distributions is as good or better than Windows desktops.
It's really the time to put the "linux not ready for desktop" line aside, somewhere along with VAX jokes.
My Ubuntu box was the recommended drive layout at the time. About once a year /boot fills up and I have to execute cryptic commands to purge old kernels.
I also had to execute cryptic commands to get wifi to work.
That is not good, particularly since both of those processes looked automateable.
Windows forgetting it has wifi or bluetooth isn't very grandma friendly either. She call me and asks why she can't check her email. Very frustrating. Yes, there are "solutions" but they all have not stuck. Windows just forgets stuff.
It's still buggy as hell. Ubuntu 15.10 or 14.04 has a lot more annoying quirks than Windows. Lot's of desktop tools are full of memory leaks and crash-prone. KDE is somewhat more stable but needs a usability overhaul. Let's be at least honest. It's mostly usable but a far cry from "better than Windows"
> It's mostly usable but a far cry from "better than Windows"
And what your experiences have been on Windows, I just wonder? Ever had to recover a Win8.1 laptop stuck in failed update that it keeps reinstalling over and over and over? Purge your son's computer from crapware and ad drivel that he manages to somehow sneak through all the antivirii and sanitation apps? Install a Samsung printer driver without Samsung bundled 200mb++ crapball of a control panel? Get Adobe updater to behave?
None of the problems that proverbial mom would easily solve.
Linux runs circles around Windows in usability department.
> And what your experiences have been on Windows, I just wonder?
I'm actually surprised about the stability of Windows 7 or 10. Even on old crappy hardware it feels faster than Ubuntu. I only mean the bare OS. There are tons of problems in the Windows world - but but for me it mostly works.
> Ever had to recover a Win8.1 laptop stuck in failed update that it keeps reinstalling over and over and over?
Not yet. I had gvfs eat multiple GB of memory when opening a folder in nautilus, some indicator-applet using 10% cpu because it's sending constantly xml over dbus for displaying cpu usage. I've had fun getting Qt/GTK3/GTK2 look somewhat similar, having fun with NetworkManager SIGSEVing and fumbling with strace to get a clue about that glib,dbus,libnl mess. I have xorg crash the whole system, editing gconfd oder dconf files for setting options are in the control panel in Windows. Have tens of "System Problem detected" Popups that are positioned below each other and that are provide no real insight besides the fact that commond-not-found has crashed or apport-gtk SIGSEVed again...
> Linux runs circles around Windows in usability department.
I'm using Linux as my daily driver for more than 15 years. I like it. But I'm mostly in a terminal session. Everything else is quite bleak if you don't have a computer science or technical background. Even with a computer science education debugging polkit or funny locking bugs in glib or gobject is more a black art than fun.
This is the reality https://www.jwz.org/blog/2015/04/i-told-you-so-again/ and it sucks. I tried to emulate the functionality of superkaramba on KDE5. It's impossible. It sucks. My mom can't handle it. And even I can't. Sure it's probably my problem that I'm not happy that I'm able to to rotate my KDE widgets to 59° but something like xload is still not possible out of the box.
> And what your experiences have been on Windows (...)?
besides all the bullshit you refer (and I believe if linux desktop was mainstream, Samsung would have a crapball of the same size for that), my main experience is:
it feels like the complete OS including Kernel was built around one primary target: the most important task the computer has to take care of is to update the user's display and to respond to the user's mouse and keyboard input as fast as it can. Nothing else matters if there is a problem with the UI look and feel.
Many of those problems have been fixed by some distributions. For example, many of the "it can break and then I don't know what do" problems are solved by OpenSUSE's Snapper and automatic rollback on bad boot features.
Many of the other issues are not a problem with Linux (such as the graphics driver vendors being anti-free software -- sorry, there's nothing we can do about that other than come up with a replacement for such a flawed model).
Not to mention that for a "2016" look at Linux, many of these are either old issues that were solved several years ago or are just whining about non-issues.
Having multiple distributions makes it more difficult to know when something was fixed. Distro A is nice and all, but crashes when you do X. Distro B does X flawlessly, but has other issues. There are also distros C, D, E, F and G, each with its own good and not-so-good parts. Who knows about all of those? who keeps track? This is not so simple for a non-tech-savvy user.
I like Linux, have used Slackware for some time, now I just install Ubuntu and roll with it. I've also installed Ubuntu on a 10 year old laptop for my mom - as long as she can use the internet with Chromium/Firefox, she's happy.
I guess Linux works mostly when you are tech-oriented/have some techie friends to guide you.
>For Linux to take over it needs not only to match but to surpass its competition (MacOS, Windows) in term of simplicity and ease of use. And right now it is far far far behind.
This should be your entire point.
While I am far from a linux expert, I have been using linux as my daily driver for a few years now. I have never even had to think about even potentially 'compiling my own drivers'. The UI is only as limited as the UI you happen to have chosen. And there are very few differences in syntax you'll find between the different distributions, mainly surrounding package management and (with decreasing frequency) init options (which a beginner won't be touching anyway).
To be sure, there are many things getting in the way of linux becoming a friendly desktop option for the family. But good lord you picked the few things that AREN'T wrong with it to complain about.
> I have never even had to think about even potentially 'compiling my own drivers'.
You got lucky. In the past several years I've had to do this for two laptops that I've owned: one for the Wi-Fi (RTL8723AU in a Lenovo Yoga 11s; this eventually made it into staging, but it's in staging for a reason: the code sucks), one for the touchpad (in an Acer C720).
You really should verify that your chosen Linux distribution fully supports the hardware you want to buy. Seriously. You're putting two things together without checking compatibility. This step is done for you when Windows or OSX is preloaded on a machine. Do more research and less compiling drivers ;-)
> with custom hardware for which the drivers are rarely all available for linux
Over the last 10 years, I have never encountered a notebook that didn't work at all in Linux. Sure, you'd have the occasional brightness switch or WiFi toggle not working perfectly, but it would always be usable.
And that experience includes an Asus Zenbook which, at the time of installation, had been released only three days ago, so it was definitely not all old hardware. Might have been my luck, though.
> you end up having to type command lines almost immediatly, to install a software or change a configuration
The world is not just Gentoo. Have you actually used a mainstream distribution in the last few years?
I tried installing linux on a Macbook air 7,1 and did not manage to get it working. Presumably there will be a distro with a better kernel one of these days that supports the hardware out of the box, but re-mastering a distribution just to get a laptop to work seemed a bit much so it's sitting un-used until that day arrives.
Other than that, many years of running linux on a very large variety of (sometimes quite exotic) hardware and very very rarely would this lead to trouble.
> The world is not just Gentoo. Have you actually used a mainstream distribution in the last few years?
If you call ubuntu mainstream. I ended up buying a laptop with linux pre-installed but before that I was considering switching a Dell and Sony laptop and was a bit put off by comments of people doing it before me on forums listing the features that would work and that would not work.
> Try telling my mum: "you need to compile your own drivers".
> was a bit put off by comments of people doing it before me on forums listing the features that would work and that would not work.
I have known wifi to be a problem, upon install. But that's more down to a licensing issue, rather than the inability of the OS to cope. Plugging in an ethernet cable and installing any non-free drivers -- via a friendly GUI -- have always fixed any such problem for me.
Well yes Ubuntu is very much mainstream. I experience the whole problem more as a consequence of the documentation fragmentation.
It seems it's expected of the user to be willing to RTFM to various degrees depending on distro. That seems to be most practical way to ensure the continued confifurability of each component, so I guess the question comes down to
How much modularity do you really want to be maintaining?
What worked for me is to pick a set of tools after trying different combinations and learn those well.
Really happy with arch+xfce as clean and fast Dev machine.
My grandfather (85 Years Old) is using linux for 5 years now. Never got a call to fix or do something.. (Installed KDE based distro)
My Parents (55) share a laptop at home (about 1 year now), installed Fedora (default GNOME) - never got a call.
My Youger Brother (18, finishing High-School this year) uses Ubuntu, for 4 years I think, I've convinced him that he could still play games there if wanted.. I get calls from him only when he wants to run some game that needs some advanced Wine tweaking and it involves command like (otherwise he is just using Play On Linux I think or whatever - I just don't game).
None of them is computer savvy or computer literate...
They all use different major Linux DE.. And they all seem to just be fine!
My Wife (27) currently uses Elementary OS (With Pantheon DE, which is not a major DE as we call them) - she's also nor computer literate nor savvy, and also using the Linux just fine!
The only problem I see, which rises from my wifes experience, there is no simple Paint alternative, were you'd have very basic options (cropping, rotating and maybe some brush/text) with a decent UI to make changes to a photo/image.. Same goes for easy PDF editing, but I already made her master Inkscape, but still - something easier and more straightforward would be awesome.
So the lack of software is still true for linux in 2016 in certain areas. I could convert a lot of audio/video editing people to linux, but there is just not enough professional grade software for them on linux..
In the end - apparently average Joe can use Linux today for browsing internet, viewing pdfs and doing Libre Office stuff just as well as on any other operating system (Windows, OS X)..
>In the end - apparently average Joe can use Linux today for browsing internet, viewing pdfs and doing Libre Office stuff just as well as on any other operating system (Windows, OS X)
Certainly true. Setting up friends and family helps them understand it's easier than they may believe. I find that most people have a view of Linux that is based on what Linux was a number of years back.
There are many (dozens) distributions that are easy to use and relatively stable. When I first had an interest in Linux I set aside some time and invested it to transition into Linux. It ended up taking less time and being easier than I thought it would be. I offer anyone with an interest in Linux to help them set-up Linux on any system they desire, unfortunately, most people want an out of the box system.
> "The only problem I see, which rises from my wifes experience, there is no simple Paint alternative, were you'd have very basic options (cropping, rotating and maybe some brush/text) with a decent UI to make changes to a photo/image"
How about Krita? It's more powerful than a basic Paint app but the UI looks just as intuitive.
The webpage looks fantastic! Let's give Krita a shot.
I'm running arguable the most common Linux distro on this planet, Ubuntu 14.04 LTS. Let's follow the instructions, I like that they explicitly support Ubuntu. All right, three easy commands I'm familiar with (add PPA, update & install). That was easy! Let's launch it...
> krita: Critical Error
Essential application components could not be found.
This might be an installation issue. Try restarting, running kbuildsycoca4.exe or reinstalling.
I'm sure I'll figure it out, but a great first impression it isn't.
Ugly, but it gets the job done. I don't seem to have needed that with KDE 5 applications, so maybe they fixed that, and Krita just needs to update (which AFAIK they're already working on).
Krita should work fine on Ubuntu, but it's a KDE app, so guessing you've encountered a bug with running KDE apps on Ubuntu. Okay to discuss the issue on the Krita IRC channel or via a bug report?
> Try telling my mum: "you need to compile your own drivers".
What decade are you in? I haven't compiled a wifi driver for linux this decade. One of the problems desktop linux faces is outdated FUD like this. Is it perfect? Of course not. But it's not the phone-home privacy invader that is modern Windows (which also has it's own usability issues) or the elitist the-poor-can-go-get-stuffed OSX (where you have to buy a pricey computer in order to use it).
I actually had a great experience setting my mom up with Linux (past tense because I bought her a Chromebit when the hardware died). The pain point comes with users who have enough computer literacy to want to install things. My mom is happy as long as she can click to open Chrome, and I'm happy because I don't have to clean up .exe malware hell.
You make some valid points (sometimes compile drivers, sometimes cryptic, seems unavoidable to not once end up on the commandline anyway or having to revert to configuration files - my last anecdote: create bootable USB with latest Linux Mint Live and there's no network. Serisously, wtf, why did eth0 not make it into /etc/network/interfaces on a live cd nota bene) but are also exaggerating, or lacking experience with the many many distributions out there, like when it comes to the UI being limited: seems like all big players got it covered pretty well, at least I always try a variety of them and the last years I wouldn't call them extremely limited, no way.
One of your statements is what I feel is more of an obstacle to mainstream Linux adoption than anything technical. There's a lot of distros out there with a lot of churn. Not a bad thing if you are a geek and have the time to try out a variety of distros, but Grandma is just going to want something that Works.
Similarly (possibly because of this churn?), I feel Macintosh and Windows are ahead of the game compared to Linux for providing more usable documentation. Linux forums likewise tend to be very techie oriented; the general consensus I get outside of the computer world is that this heavy technical nature is very off-putting ("arrogance" and "snobbery" are a common complaint).
Linux still has some problems technically (has audio gotten any better, for instance? ALSA / Pulseaudio was messy compared to Windows / Mac last I looked) but I think a lot of the obstacles to adoption are more non-technical at this stage. Google after all made a Linux kernel OS mainstream.
Good points. Although I do have the impression that, because of the rise of less tech-savy people using Linux, there also is a rise in forums/documentation which is more aimed towards those users and hence easier to digest in most cases. I mean, basically I am one of those users since I don't use linux daily and apparently not enough to get solutions to common problems wrong stuck in my head, and I do have the impression that if I have problems these days the answer is in one of the first search results encountered. (alternative explanation is that search just got way better :)
Unfortunately that also means sooner or later we might find ourselves in the too-many-unrelated-crap-answers situation which exist now already for a myriad of Windows/Mac problems. Distilling the correct answer for your specific problem where the OS tells you 'error C0000005' or so seems to get harder every year. Add 100 different distros to that and it won't get any better. Though sites like stackexchange seem to do a pretty good job of keeping it to the point.
re: Audio: I actually asked the same question here last year or so and IIRC the answer was 'still the same mess'
To add to you, I present my mere anecdote:
I have an uncle who, somehow, manages to get all kinds of adware and whatnot on his computer no matter what antivirus/internet security/voltron PC protection suit. Then comes me periodically cleaning up all that, often backup his stuff and refresh the installation. Eventually I convinced him to let me install Ubuntu, since he needs a browser and whatever PDF reader.
Yes, now he doesn't have those malwares anymore, but my recurrent task has become running "apt-get autoremove; apt-get autoclean".
If Linux wants to target "desktop", then those trouble should be transparent to the users.
As a long-time Linux user, I can appreciate that anecdote.
I've a few home servers that are pretty stock Ubuntu with most of the default partitioning / settings, because nowadays I 'just want stuff to work' rather than spend hours tweaking & optimising. After a few rounds of apt-get update & apt-get upgrade, the update process broke (with pages & pages of error messages), because /boot got full of all the myriad kernel point releases that had collected there and Ubuntu just left them hanging around.
apt-get autoremove clears away all this old gunk and will let the update process work again. But a 'simple' (I don't mean that in a bad way) desktop user will not know what the problem is and will not be able to make sense of any of the errors. Even if they spot a 'disk full' somewhere in the output (do they even see the output with a GUI-based update?), it won't help. "Disk full? But it shows I've got gigabytes of space here in my documents folder?"
It's these and all the other 'thousand paper cuts' that are still blocking every day desktop Linux use.
I encounter this same thing periodically myself. I found out how to fix this, but a "normal" user will never, ever manage to get around this issue by themselves.
Most of the time it seems that desktop Linux would be completely ready for mainstream, but then you encounter something like this and remember why you don't recommend Linux for your non-technical friends and relatives.
Sure I cron, but only if I knew it'll be a common occurrence. The first time he faced it, I was in town, so I just dropped by, did it, and thought it's an anomaly. The other times I was in another city, so I walked him through the process over the phone. I'm not going to walk a layman through the process of adding a cron job over the phone.
Besides, you're missing the point. That should not be something a layman user should encounter in a "wannabe" desktop OS.
Indeed - how does Win 10 do on eliminating cruft, like old update files and such now, MS Windows used to be terrible at it but I've barely any experience of Win 10 beyond installs and some basic troubleshooting.
I regular user would use something like Muon software center which manages it all and pops up update prompts when necessary in a similar way to Google's Play store on Android.
> how does Win 10 do on eliminating cruft, like old update files
I cannot answer this, just speculating: Windows does not create multiple partitions by default, so as long as C:/ has free space left, it can pile on without a care in the world. And by the time that it actually fills up, the average consumer would go buy a new PC anyway (or pay someone to cleanup the mess).
Yes, this is largely how things have worked in the past. They had "disk cleanup" (as far back as XP at least) that removes some install files and such. Programs like CCleaner work to remove that kind of excess - but I was specifically asking what Win10 was doing as a comparison to the complaint that Linux distros don't [apparently] handle removal of [some] install cruft without intervention.
* I don't think the desktop is almost dead, and I don't think the conclusion of a trend of growing laptop popularity is that the desktop will wither to death anytime soon. The laptop is a great form factor, and I think that it's simply getting the share of the pie that it's always deserved, but I don't think it deserves the lion's share of the pie.
* One reason I think so is that I believe that desktops will have, for the foreseeable future, a better profile of costs over time (serviceability / upgradeability) than laptops, because laptops are basically desktops with a severe constraint for portability. I also liberally speculate that the future maximum potential wealth per individual should decline due to increasing population and a finiteness of materials mined from the earth.
* I think the desktop driver situation is fine, but I acknowledge that laptop drivers are a severe issue that isn't easily resolved. Possible solutions would be, instead of installing a Linux distro on a laptop being an avenue to Linux, people may instead buy devices with Linux already installed on it. Even if the driver solution were magically solved, most people don't install a new OS (however easy that might be) as an avenue to a new OS. Another possibility involves more liberal speculation of industry, with a declining diversity of hardware choices by vendors, or an industry protocol.
* I think the GUI situation on Linux can be improved, but I also think that distros like Ubuntu already offer a great experience with no command line needed.
The laptop driver issue would be solved by general improvements which would benefit all hardware drivers: less special snowflake interfaces.
We didn't "solve" USB mass storage - it was just so useful that people went to pains to conform to whatever was built into Windows, which in turn benefited everyone.
It would be wonderful if we could get the same for power management hardware.
The Linux desktop is way past Windows and OS X these days in user friendliness focus. GNOME and KDE are so user friendly that they don't work for me as a development environment. I run either FVWM or XMonad depdending on the machine at hand.
Also, have you ever compared application management on OSX and Windows to Linux? Linux packages just work, are very very fast to install/update/remove compared to Windows installers and updating a linux distro is very quick in comparison. Some Linux distro installers even upgrade the distro during install, so you get an up-to-date install on first boot. Try achieving that with OS X or Windows.
More, Debians, Fedora's and OpenSuSE's installers are super powerful while having a quick next-next-next mode.
It's true that some users are better served with a tablet these days, but those who actually use PCs for productivity feel at home on Linux. Hey, printers just work without trying to find a driver download online that has no virus and afterwards runs a couple Windows services just so ink levels can be reported and HP can show you ads about new products.
Plus, Linux doesn't spend insane amounts of time in some hardware registry every time you plug a USB device in another port of the computer. But, the Windows kernel is generally great, just not all the stuff on top. Same can be said for Linux, but at least there you can choose your userspace more freely.
Please, just go to Windows appwiz.cpl and try removing an application that uses Windows Installer. It'll take ages before actually deleting files and some afterwards. Same during install. There are just a few Windows setup engines like NSIS that avoid this.
And, why does Microsoft think it's a good idea to bulk build .Net Frameworks on each and every security update on each and every machine, regardless of performance? Surely, Microsoft's compiler does not have more than 10 or 20 variations of compiler backend switches, meaning they could provide .Net assemblies that have been compiled in Redmond already.
To end this, I cannot believe anyone would believe the desktop has no place anymore. Where do would work get done? Software development, media production, gaming, engineering, to name just a few cases. It's both consumer and prosumer, but yes, average Joe can do 99% of tasks with a tablet.
And some Windows drivers for HP deskjet are written in a way that makes the scanner/printer work only with a single USB port (first one it was ever used with?), whereas the same device on the same computer works with any USB port. This is in addition to the wait anytime you plug in a random USB device and Windows decides it has to do "enrollment". It's not what I'd call user friendly.
This may all be a little rant, but on top of everything, Windows usually does much more I/O for the same action vs Linux. With or without antivirus overhead.
I thought exactly the same thing until a few weeks ago. Recently I tried a lot of DMs: the cool kids Pantheon, Elementary and Mint, the classics Gnome, Mate, KDE, XFCE and none of them were usable to me, they all have flaws (I won't detail this here but I talk mainly about usability flaws, not technical flaws). The closest thing to usable I found was XFCE because it was highly configurable, but it was hard and unsatisfactory.
And then I installed Xubuntu. Their XFCE is really well configured and it REALLY is usable. For the first time I would consider suggesting it to a relative. As for me, even though I'm not a big fan of the Ubuntu base, I wouldn't consider using another distro than Xubuntu because they're simply broken both in terms of design or ergonomic.
The only non-user-friendly I encountered so far with Xubuntu is it doesn't seem to support WPS out of the box. And it would be nice if xfce4-clipman-plugin was installed by default. Except for this, everything just works.
Presumably, one researches what laptop to purchase. It's only a matter of a little more time to research if Linux has been installed successfully on the laptop.
I don't have one piece of Linux incompatible hardware because I research first. It's really that simple.
> Linux developers seem to be in love with cryptic acronyms which means nothing is intuitive or simple.
To add to that point: Linux exposes a lot of information in general. That's great for me as an experienced user, but is certainly overwhelming for the "normal" computer user.
GNOME is trying to de-mystify the Linux desktop and I think they're on the right track, but they don't have widespread support among the Linux community. A lot of people use and/or like it, but a very vocal group (is it a minority? I don't know) is opposing their approach. They (this certain group that's well represented on e.g. /r/linux) sometimes seem to dismiss any work on UI or UX as not relevant or limiting their freedom.
Actually, `apt update` has a GUI application called 'software updater' and `apt` has a 'software centre' on Ubuntu these days. I'll grant you the other two.
I don't. Ubuntu does not come with a firewall, but if you want one you search in the software center for firewall, not for an acronym. Scheduled tasks finds a gnome app for managing automatic jobs (which are cron jobs).
cm2187 is either a troll or completely clueless of what a current linux desktop actually is.
Worrying about things like automated tasks and being put off by the differences between Windows and Linux in specialised areas like this no normal user would ever touch is rather common for Windows power users though. For them, any change means losing a big part of their abilities, and that hurts. It's exactly what Linus mentions: Many people don't like change for their desktop environment (in the broad sense, not only KDE/Gnome). This is a perfect example of user inertia.
The replies seem to hint at the real problem. Fragmented efforts to settle on a desktop. The desktop could make the "Scheduled Tasks" -> "Cron" association more transparent. But not when there are a dozen variants for each of the 3/4/5 different base desktop stacks floating around.
No, that does not follow. If all dozen variants properly made Scheduled Tasks available than it would not matter that we do not have the one unifying linux desktop (and the gods be thanked we don't) and that we call them cron. In fact I state that all popular DEs solve those basic usability problems since a few years ago.
Ok. So there's something that compels them all to call it "Scheduled Tasks" and some unified way to find/navigate to it, shared language/terminology? Seems doubtful.
Compare the typical results for a Google search on how to add a scheduled task in windows to the same for linux. For the UI oriented answers on Linux, guess the chances it works on your desktop.
Great soundbite, but in the real world, things aren't always that easy. Like when you plug in a USB to Serial connector, and the driver doesn't attach.
For windows, a little google-fu reveals that you want the device manager. For linux, command line solutions are easy to find. Gui ones exist, but they vary, and aren't easy to find.
You are right; I should have rephrased that sentence. I merely meant that I have never looked into those. And when I use scheduled tasks I refer to them as `cron`. Even on Windows.
You are right, but let's not forget that Windows has very cryptic names and acronyms too (visible in process names and mmc snap-ins, for example). But they are much more hidden away than on Linux. I think that's the key difference: There's a (more or less) nice frontend on Windows concealing Windows' bowels most of the time.
But for example, GNOME 3.18 on my Fedora 23 installation has an application called "(GNOME) Software" which automatically notifies me about new updates available and allows me to easily install them. It also summarises all non-application updates as "operating system updates". If you're interested in Linux UX, you really should try out a recent Fedora version in a VM - I think it has come a long way.
And honestly, Ubuntu is a terrible example for the Linux Desktop. They have dropped the ball long ago.
>And honestly, Ubuntu is a terrible example for the Linux Desktop.
Funny. I just find the opposite: Ubuntu is a superb desktop, polished, clean and powerful, very productive and easy to use for the experienced use with keyyboard shortcuts, but also to new users with mouse and no prior knowledge.
Have you used recent versions of KDE (on openSUSE, for example) or GNOME (on Fedora)? Because Ubuntu (or Unity, to be more precise) did not really change since 12.04 and largerly used GNOME applications anyway. The things you actually can attribute to Ubuntu, for example the Software Center, are an absolute trainwreck in comparison to the "competitors" (GNOME Software e.g. is moving fast and is capable of staging upgrades to the next OS release as of recent).
So, your mum isn't going to RTFM, but she is going to use Windows' 'Scheduled Tasks'? She must be quite an unusual person - I've never seen a tech naif do either scheduled tasks or cronjobs. If it's time-based, it goes into a calendar app, and there's not even the vague idea that the OS has it's own scheduler.
Firewalls I'll grant you, but as another commentor mentioned, there's plenty of GUI updaters around.
FWIW on KDE you just click the application launcher ("Start" button as it was on MS Windows, not sure what they call it now, "Windows button"?) and type "schedule" or "task" and it suggests Kcron (in system settings it's known as "task scheduler") and gives you a description of its function.
Or use the launcher - which gives a search box that does things like install new apps, work as a calculator, search files, etc.. Or go in to the system settings and type in the search box there for the setting you're after.
If a user can't manage those things then they're surely not going to have any clue what to do with a firewall manager once they've opened it.
> you end up having to type command lines almost immediatly, to install a software or change a configuration
That's only true if you have unsupported hardware. Otherwise, for example on Ubuntu, you can use tons of software without having to touch the command line.
When was the last time you've tried Linux? Linux Mint is my main OS and in the last 6 years I've changed 3 laptops and two desktops and everything worked out of the box. The only thing I needed to install were proprietary display drivers and even for that there is an app called 'Drivers'.
I find many people switching to simple distributions (Mint, Ubuntu) easier than to Windows 8/10 from earlier versions. So no, I still blame user inertia and OEM push of Windows.
This is so quintessentially Linus. He's criticizing this idealized tech startup CEO character with a big passionate vision, a kind of person which I've heard described as "the captain of a ship where as long as everyone is rowing in the same direction, it doesn't matter where the ship is going." We obviously understand that is preposterous, and yet there are lots of very smart people rowing together on ships that are going shitty places.
Who actually believes things like inbound sales will actually save the world? Containerization? Restaurant reservations? Ad mediation?
Linus's opinion is inviting and has obviously contributed to the longevity of what he is doing. Has he built a huge multi-billion dollar business? I guess not. Neither has Jimmy Wales, as an example. And yet the yield-to-community, my-vision-isn't-first philosophy has firmly solved problems in ways which seriously threaten corporations with billions of dollars to spend on making their own operating systems, drivers, hardware, etc. (e.g., Microsoft).
He didn't just motivate lots of people. He motivated lots of very talented people, with little recruitment, no equity and little money, over decades, with diverse skills, better than far better equipped institutions.
The open source model repeats this success story in lots of places, naturally, but few have been as influential. I think this philosophy of not "having to sign on to somebody else's vision" is essential.