Sign in with
Sign up | Sign in

How Linux Can Achieve Faster World Domination

By , posting for special guest columnist <b>Keith Curtis</b> - Source: Tom's Hardware US | B 139 comments

Today we have Keith Curtis returning for a new discussion on Linux. Curtis spent 11 years as a Software Design Engineer at Microsoft before examining Linux and the open source side of things, which resulted in a change of perspective and a published book.

"The future is open source everything."
—Linus Torvalds

I find it interesting that the idea of Linux on the desktop is responded to by either yawns or derision. I think it depends on whether you see Linux as a powerful operating system built by a million-man army, or one filled with bugs and missing the cool stuff like speech recognition.

I’ve been using Linux since mid-2005, and considering how much better things everywhere are now compared to then, it surely is an interesting time to be involved with free software. From no longer having to compile my Intel wireless driver or hack the xorg.conf, to the 3-D desktop, to better Flash and WMV support, to the countless kernel enhancements like OSS -> ALSA and better suspend/resume, things are moving along nicely. But this is a constant battle as there must be 10,000 devices, with new ones arriving constantly, that all need to just work. Being better overall is not sufficient, every barrier needs to be worked on.

The Linux kernel:

The lack of iPod & iTunes support on Linux is not a bug solved by the kernel alone, but Step 1 of Linux World Domination is World Installation. Software incompatibilities will be better solved as soon as the hardware incompatibilities become better solved. The only problem you can’t work around is a hardware problem.

If you hit a kernel bug, it is quite possible the rest of the free software stack cannot be used. That is generally not the case for other software. Fixing kernel bugs faster will increase the pace of Linux desktop adoption, as each bug is a potential barrier. If you assume 50M users running Linux and each bug typically affects 0.1 percent of those users, that is 10's of thousands of people. Currently, the Linux kernel has 1,700 active bugs. Ubuntu has 76,371 bugs. I think bug count goals of some kind would be good.

In general, Linux hardware support for the desktop is good, but it could be better and get better faster. From Intel, to Dell, to IBM and Lenovo, to all of their suppliers, the ways in which they are all over-investing in the past at the expense of the future should be clear; the Linux newswires document them in detail on a daily basis. I was told by an Intel engineer that his company invests 1 percent of the resources into Linux as it does to Windows. It is only because writing Linux drivers is so much easier that Intel is seen as a quite credible supporter of it. The few laptops by Dell that even ship with Linux still contain proprietary drivers, drivers that aren’t in the kernel, and so forth.

Peter Drucker wrote: “Management is doing things right, leadership is doing the right things.” Free software is better for hardware companies because it allow for more money to go into their pocket. Are they waiting for it to hit 10 percent marketshare first? I recommend senior IBM employees be forced to watch their own 2003 Linux “Prodigy” video over and over like in Clockwork Orange until they promise free, feature-complete drivers for every piece of hardware in the kernel tree before the device ships. How hard can it be to get companies to commit to that minuscule technical goal?

It is amazing that it all works as well as it does right now given this, and this is a testament to the general high standard of many parts of the free software stack, but every hardware company could double their Linux kernel investment without breaking a sweat. The interesting thing is that PC vendors that don’t even offer Linux on their computers have no idea how many of its customers are actually running it. It might already be at the point that it would make sense for them to invest more, or simply push their suppliers to invest more. In fact, it is hard to imagine you can be happy with a device without having a production Linux driver to test it with.

There are more steps beyond Step 1, but we can work on all of them in parallel.

And to the outside community:

  • Garbage collection is necessary but insufficient for reliable code. We should move away from C/C++ for user-mode code. For new efforts, I recommend Mono or Python. Moving to fewer languages and runtimes will increase the amount of code sharing and increase the pace of progress. There is a large bias against Python in the free software community because of performance, but it is overblown because it has multiple workarounds. There is a large bias against Mono that is also overblown.
  • The research community has not adopted free software and shared codebases sufficiently. I believe there are enough PhDs today working on computer vision, but there are 200+ different codebases plus countless proprietary ones. I think scientists should move to SciPy.
  • I don’t think IBM would have contributed back all of its enhancements to the kernel if it weren’t also a legal requirement. This is a good argument for GPL over BSD.
  • Free software is better for the free market than proprietary software.
  • The idea of Google dominating strong AI is scarier than Microsoft’s dominance with Windows and Office. It might be true that Microsoft doesn’t get free software, but neither does Google, Apple and many others. Hadoop is good evidence of this.
  • The split between Ubuntu and Debian is inefficient as you have separate teams maintaining the same packages, and no unified effort on the bug list.
  • The Linux desktop can revive the idea of rich applications. HTML and Ajax improve, but the web defines the limits of what you can do, and I don’t think we want to live in a world of HTML and Javascript.
  • OpenOffice is underfunded. You wonder whether Sun ever thought they could beat Microsoft if they only put 20 developers on it. Web + OpenOffice + a desktop is the minimum, but the long tail of applications which demonstrate the power of free software, all need a coat of polish. Modern tools, more attention to detail, and another doubling of users will help. But for the big apps like OpenOffice, it will take paid programmers to work on those important beasts.


There are other topics, but these are the biggest ones. (I give away my book in PDF.) I’ve talked to a number of kernel and other hackers while researching this and it was enjoyable and interesting. I cite Linus a fair amount because he is quotable and has the most credibility with the outside world ;-) Although, Bill Gates has said some nice things about Linux as well.

This content originally appeared on Keith Curtis' blog.

Display 139 Comments.
This thread is closed for comments
Top Comments
  • 28 Hide
    gfair , March 5, 2010 11:02 PM
    The acceptance of Linux by a wider audience has always been limited by Linux developers themselves. There is so little focus put into how non-technical people would approach considering or installing Linux that the community keeps Linux back far more than any other force. I know this from years and years speaking to people in the community. The community should be asking questions like "How would Apple improve Linux?" in a serious manner, not jokingly, because frankly if Linux had been Apple's product, the community would be 10x the size it is now, and probably more. What does Apple do with a complex product? It simplifies how people install and use it, so that anybody can use it and switching is easy.

    The other issue is that there is a lot of redundant effort and slow progress on key applications, and this presents more choice and more confusion to potential users. There's KDE and Gnome, there are so many distributions. Linux's motto is the antithesis of "E Pluribus Unum".

    As much as people will cite diversity and choice as the advantages of Linux, these qualities work against Linux when it comes to non-technical people considering adopting the product. This is why Linux has failed, after 19 years, to make any serious inroads into home PCs. I certainly hope this changes, but for it to change the community will have to make one distro for the non-community and stick by it.
  • 20 Hide
    weegee64 , March 5, 2010 11:22 PM
    Most people do not have enough free time to justify how long they have to spend to install Linux and get their drivers to work. Also, games do not support Linux, and it is a hassle to get them to work with Wine, etc.
  • 20 Hide
    killerclick , March 5, 2010 11:42 PM
    Linux runs 60% of world's web servers, 90% of world's top 500 supercomputers. It can't be everything to everybody and I'm against dumbing it down for the masses.
Other Comments
  • 3 Hide
    sabot00 , March 5, 2010 10:54 PM
    I've been using Ubuntu for a while.
    There are much fewer bugs that windows.
  • 28 Hide
    gfair , March 5, 2010 11:02 PM
    The acceptance of Linux by a wider audience has always been limited by Linux developers themselves. There is so little focus put into how non-technical people would approach considering or installing Linux that the community keeps Linux back far more than any other force. I know this from years and years speaking to people in the community. The community should be asking questions like "How would Apple improve Linux?" in a serious manner, not jokingly, because frankly if Linux had been Apple's product, the community would be 10x the size it is now, and probably more. What does Apple do with a complex product? It simplifies how people install and use it, so that anybody can use it and switching is easy.

    The other issue is that there is a lot of redundant effort and slow progress on key applications, and this presents more choice and more confusion to potential users. There's KDE and Gnome, there are so many distributions. Linux's motto is the antithesis of "E Pluribus Unum".

    As much as people will cite diversity and choice as the advantages of Linux, these qualities work against Linux when it comes to non-technical people considering adopting the product. This is why Linux has failed, after 19 years, to make any serious inroads into home PCs. I certainly hope this changes, but for it to change the community will have to make one distro for the non-community and stick by it.
  • -6 Hide
    treefrog07 , March 5, 2010 11:17 PM
    Eventually
  • 20 Hide
    weegee64 , March 5, 2010 11:22 PM
    Most people do not have enough free time to justify how long they have to spend to install Linux and get their drivers to work. Also, games do not support Linux, and it is a hassle to get them to work with Wine, etc.
  • 4 Hide
    Shadow703793 , March 5, 2010 11:28 PM
    I'm all for some people switching to Linux, but understand Linux isn't for every one. I don't want to answer people on simple questions like "How do I open bash? How do I install a rpm,etc,etc,". At any rate, I prefer Linux having a smaller market share as hackers/crackers don't target a small market share that often. (Note: Any one saying Linux is immune to hacking/cracking you are dead wrong; for example, if one gets the root account they can pretty much destroy/erase EVERY THING on the HDDs/SDDs,etc).
  • 0 Hide
    Tomtompiper , March 5, 2010 11:33 PM
    The advantages of Linux at present are for people who use their PC's online. If you want games stick to Windows, the game developers will only support one PC platform, and they aren't even supporting Windows properly. If all you do is Surf and watch online content then Linux is the weapon of choice at the moment, it will do almost all that is required save a few sites that are set up for IE. and it will do so in safety. As of this moment I have not heard of a single Virus,trojan or spyware that affects Linux, and the fragmentation and speed of change on the Linux Platform means it would be difficult for Hackers to effectively attack a Linux machine.

    For me the best solution is to run all of my home PC's on Linux (PCLinuxOS at the moment) and dual boot one machine for gaming and using IE when it is required. Gone are the days when my Son's computer picked up a virus and spread it around my network, it has made life so much easier not having to worry about keeping firewalls and antivirus software up to date and running interminable scans on multiple PC's every week.

    Apart from Games and IE I can honestly say I have yet to come across anything I can't do in Linux that I couldn't do in Windows, except paying for software. As to the Ipod/Iphone/Itunes problem, that is down to Apple, they could provide software in a heartbeat if they wanted to. If I had an Itouch/Iphone I would Jailbreak it and use Amarok, but this is just a fudge, it is up to Apple to support their customers who want to use their products on a Linux platform. Me I'll stick to Archos.
  • 0 Hide
    tipoo , March 5, 2010 11:42 PM
    Quote:
    It is only because writing Linux drivers is so much easier that Intel is seen as a quite credible supporter of it.



    So why can't AMD get their damn graphics drivers on Linux right?
  • 20 Hide
    killerclick , March 5, 2010 11:42 PM
    Linux runs 60% of world's web servers, 90% of world's top 500 supercomputers. It can't be everything to everybody and I'm against dumbing it down for the masses.
  • 5 Hide
    randomizer , March 5, 2010 11:43 PM
    weegee64Most people do not have enough free time to justify how long they have to spend to install Linux and get their drivers to work.

    The thing is there is no time required to install drivers in many cases. Ubuntu 9.10 has drivers for my WiFi adapter pre-installed (the kernel does, to be more specific), while Windows 7 - Microsoft's flagship product - does not. Most other drivers are pre-installed on both OSs, with the exception of binary video drivers on Ubuntu, although the free ones work flawlessly if you don't need fancy 3D effects (which most people don't).

    Installation of any operating system is confusing to average users. What is formatting and primary vs extended vs logical partitions? These sorts of things should not be necessary to understand during installation. Indeed, you can install most modern Linux distros without this knowledge but it will erase your HDD or overwrite existing Linux installations. Windows, as far as I know, does not provide any means for automatically partitioning the drive unless you want only a drive C:, and even then it exposes the user to non-n00b-friendly terminology. But for the most part it's still click and install.

    Once installed Linux and Windows differ alot in some ways and not much in other ways. Most Windows users still say that Windows is more intuitive and easier to use, but I know several people who use Windows Vista and XP and after several years still can only do the tasks they do regularly. Put them outside of their familiarity comfort zone and they are completely lost. I wager that most OSs are the same in this regard. But just because a Windows "power user" doesn't understand a different paradigm due to it being different to Windows doesn't automatically make Linux unintuitive. Windows is not Linux. Linux is not Windows. If you can't comprehend these two facts then you are narrow-minded and should not be giving advice to anyone who is trying to think outside the box.
  • -3 Hide
    uh_no , March 5, 2010 11:47 PM
    see

    you say okay everyone needs to put more people to work on this....well what are they going to pay them in? dollars presumably....so where are the dollars coming from? not software sales....tell me how it makes business sense for a company to throw money at a piece of software which they aren't gonna charge for and thus cannot turn a profit? it doesn't make sense....

  • 11 Hide
    randomizer , March 5, 2010 11:49 PM
    uh_noseeyou say okay everyone needs to put more people to work on this....well what are they going to pay them in? dollars presumably....so where are the dollars coming from? not software sales....tell me how it makes business sense for a company to throw money at a piece of software which they aren't gonna charge for and thus cannot turn a profit? it doesn't make sense....

    How does Google make money? Advertising. How do Novell and Red Hat make money? Selling commercial support. End users are only a small market really, and Microsoft themselves know this, which is why piracy is not a big issue for them. It's the enterprise volume licences where they make their money, and for companies like Red Hat and Novell it's the same but with support, not licences.
  • 5 Hide
    Tomtompiper , March 5, 2010 11:50 PM
    weegee64Most people do not have enough free time to justify how long they have to spend to install Linux and get their drivers to work. Also, games do not support Linux, and it is a hassle to get them to work with Wine, etc.



    I find this funny, I recently reinstalled XP on a friends computer after a virus ate here had drive. It took 5 hours to install the OS and all of the drivers for her hardware, TV card, Printer, Network card, Scanner, Graphic card..etc. After the install I installed Linux for her so that she could open emails safely. it took 20 mins and everything but the printer and scanner was already set up, they took another five mins to do. All done on the GUI, no need for a terminal or bash.

    The XP install was a bare install, office took another 25 mins and I left her to do the many more hours it will take her to download and install the service packs and updates. The Linux install included many programs too many to list, and the update ran in under 20 mins.
  • 8 Hide
    Reynod , March 6, 2010 12:06 AM
    One day Linux will be able to handle gaming ... on that day ...
  • -1 Hide
    zodiacfml , March 6, 2010 12:26 AM
    for several times, Linux does not need to compete with Windows.
    i still haven't read any developments regarding Chrome OS of Google, yet, for me, that is the future of Linux (devices to be exact).
    Google has a point, we switch on our computers to get online. If only it could support devices such as cameras, phones, and various devices....
  • 1 Hide
    Shadow703793 , March 6, 2010 12:30 AM
    killerclickLinux runs 60% of world's web servers, 90% of world's top 500 supercomputers. It can't be everything to everybody and I'm against dumbing it down for the masses.

    Exactly what I meant!
  • 8 Hide
    Camikazi , March 6, 2010 12:33 AM
    tomtompiperI find this funny, I recently reinstalled XP on a friends computer after a virus ate here had drive. It took 5 hours to install the OS and all of the drivers for her hardware, TV card, Printer, Network card, Scanner, Graphic card..etc. After the install I installed Linux for her so that she could open emails safely. it took 20 mins and everything but the printer and scanner was already set up, they took another five mins to do. All done on the GUI, no need for a terminal or bash.The XP install was a bare install, office took another 25 mins and I left her to do the many more hours it will take her to download and install the service packs and updates. The Linux install included many programs too many to list, and the update ran in under 20 mins.

    5 Hours for Windows and 20 min for Linux? Exaggeration runs well with you, I've had Ubuntu installs take longer on certain computers then XP and driver installs, when I installed Windows 7 on my 3 comps and laptop I didn't have to install any drivers except for printer and it took less time then Ubuntu install time. Linux is not the fastest at installing every time, it is very dependent on the computer.

    Hell just yesterday I installed XP on my sisters laptop, from CD insertion to all drivers, office and updates install it took me maybe 2 hours. Yes I know XP can be slow to install at times, but really 5 hours, were you taking breaks on purpose?
  • 8 Hide
    cruiseoveride , March 6, 2010 12:42 AM
    tipooSo why can't AMD get their damn graphics drivers on Linux right?

    Cos AMD can't even write their Windows drivers properly.
  • 0 Hide
    skittle , March 6, 2010 12:58 AM
    I run debian "testing" x64, but until linux gets proper hardware/driver/software support from manufacturers (ATI, Adobe im looking at you), linux is destined to fail in the real world :( 

    Another interesting fact: Linux boots up faster on my old IDE drive, than windows 7 on my new OCZ vertex :p 
Display more comments