Dear Mark Shuttleworth aka Sabdfl,
I don’t know if you saw my post “10,000 bugs away from World Domination” which made my day by getting Digged and was even read by one of your engineers Scott James Remnant, but the thesis is that the challenge to widespread use of Linux is not that it doesn’t have wobbly windows and Xen support, though these are exciting features I look forward to in Eft, the problem is that it has bugs.
PC Hardware sucks
Few non-geeks fully realize how building software for PCs is staggeringly complicated. The work involved in getting every driver ready to handle sleep & hibernate is enormous, and that’s just one row in the hardware matrix. Brian Valentine, a Windows VP, once described Windows as a testing organization, and that is one of the reasons why it is so successful and why it ships so slowly. Microsoft software has its faults in addition to being buggy, but it is still pretty thoroughly debugged and they have buildings full of hardware and the electricity bills to prove it. (Think Steve Jobs could stomach buying a WinBook XLi to test their ‘fantastic‘ little platform on? Support for the Intel processor doesn’t get Mac OS X anywhere close to support for the PC platform.)
I think Linux needs some serious love in a couple of usability scenarios such as external monitors and printing, but from researching your bug list and doing anecdotal analysis of installs on 6 different machines I believe the current biggest challenge for humans with Ubuntu is bugs which only show up on certain hardware: install race conditions, power management issues, video card crashes, screen resolutions which can’t be set in the UI, hangs on startup, soundcards and bluetooth devices unrecognized, etc.
Ubuntu might be 10,000 bugs Away From World Domination, but a tremendous milestone is the 5,000 bugs to reach World Installation.
It is possible to work around almost any bug: hack your xorg.conf, disable power management, try the install again, swap hardware, etc. but these problems hurt the perception of Linux, waste even experts’ time, and are structural impediments to its widespread use. Whether Linux has the right set of applications and is ready for phase 3 (profit) of World Domination is mostly irrelevant until the system is up and running.
Ubuntu’s Maturity vs. SUSE & Fedora
Bugfixing is time-consuming and not particularly rewarding. What’s worse, from looking at your incoming workload, I believe that even if Ubuntu had 10x the number of devs, you would all still be running at 110%. (If you did grow that much, you’d then equal the resources of the big dogs SUSE and Redhat.)
Another challenge for Ubuntu is that in addition to its backlog of bugs, it is less mature than Redhat and SUSE. I recently saw an IBM laptop just like mine running SUSE, and hibernation worked with visual status of what was happening. I can only dream of those days on Ubuntu; hibernate has started working literally hours ago, though the flashing brown lines do not fill me with confidence. I know this is just one anecdote, but I have others. 🙂
The good news for desktop Linux is that Redhat and SUSE are learning from Ubuntu that they have done a bad job at evangelism, polish, freedom, and frequent releases. They also still have some catching up to some important Debian innovations:
- install that works, including wireless
- resizing NTFS on install [UPDATE: SUSE does this, but not Redhat]
- an excellent package manager, with an easy to use UI (how’d Debian stoop to that?)
- a free update service that works and which even supports in-place OS upgrades
- a distribution which can scale down to embedded devices
- a mature, stable, big, coherent platform
- Other good stuff? I barely know what I am talking about here.
Debian’s excellent qualities, and those which Ubuntu bring, make Debian/Ubuntu an excellent platform, but Ubuntu might very well be the OS that shows us the promise of Linux on the desktop, but not necessarily the one that keeps us.
Where to harvest eyeballs?
If I had your cards and credit at a Vegas blackjack table, I’d double-down. 🙂 Meanwhile, there should be ways to better use Debian’s resources for your common aims. Debian is a team of 1600 maintainers who has provided you a base set of 18,000 packages and while they aren’t necessarily interested in re-coloring their swirl orange, they presumably would like to have the improvements in desktop scenarios and the work on the larger variety of hardware that Ubuntu’s efforts and userbase bring to the table. It would be interesting to know how many Ubuntu bugs exist in Debian or would exist in Debian if they were using the same verson of the upstream code. In other words, if few of your bugs are Ubuntu specific, then we know for certain that their 3200 eyeballs would be helpful.
Perhaps you could consider radical things like aligning every 2nd or 3rd release with Debian, and therefore share compilers, the desktop kernel and more of the workload. I know this was not easy in the past, but both groups have been through a lot of changes in the last 2 years and you are now more closely aligned, sharing GCC 4.0, Kernel 2.6, modular X, etc. I also see Debian plans to ship this year and has done work on Xen and Xgl which aligns it well with Eft. Finally, these would be great releases to provide long-term support.
Once the bugs are fixed, it is then a good time to talk about Linux’s structural advantages. One of the biggest is the many packages. The Linux kernel isn’t what people will appreciate, it is the applications on top. When I talk to people about Linux, I am often asked whether there are any apps to run on it!! Behind the “Applications – Add/Remove…” menu item in Ubuntu is a pretty dialog box with a incredibly comprehensive set of applications from a Logo VM for Slashdotters in diapers, to many games equal to the task of multislacking that Windows provided with Solitaire, to all kinds of productivity and multimedia apps in between. To buy all that stuff in Windows would cost a fortune and in Linux it can be installed in just one click with no questions or nagging. (Of course, OSS also has other great communities of software, such as the one surrounding PHP, which has helped make Apache so popular.) Linux apps could all use a coat of polish, but with just a couple of doublings of desktop marketshare, plenty of geek resources and money will become available, and Linux will double 6 more times to reach 1 billion PCs.
Its a fun time to be running Linux on the desktop. It is close to being ready and the pace is incremental, but steady. The best news is that you can see the pace quickening. The 2.6.8 (800KB) kernel had ~550 contributors, while 2.6.14 (2.1MB) had 844, a growth of 50% in a timespan of 14 months. If the OSS dev efforts everywhere were to grow at that pace, life would be very good, and Microsoft’s position will finally be accepted as unsustainable. Now that Scott McNealy is gone, someone should tell the new CEO of Sun that a Linux desktop has more C# apps than Java apps, a stunning failure given Java’s enormous investments in the ostensibly open JCP and a 7-year head start. Let us hope that at least, the J2SE and smaller VMs become OSS. If I could free one chunk of code, it would be that.
Having just come in from the cold, I have great respect for Dapper, Debian, GNU/Linux, and to the free software movement as a whole. As the neocons say about Iran, “Faster, please!”
P.S. I wrote an Open Letter to the DPL recently, saying that in theory I should be running Debian rather than Ubuntu, but also that Debian seems stagnant. I do think some of my ideas about backports and proprietary software were wrong, but I still believe that installing new apps post-ship, and proprietary apps and drivers present tough technical and philosophical challenges.
P.P.S. Last October, I did an interview with Bradley C. Edwards, one of world’s experts on the Space Elevator, in which we cover a bunch of topics. Perhaps the next time you go to space will be on a Space Elevator.
UPDATE: Thank you for making it down here. Vote in the poll!