I can't say that either of these things suprises me.
I have a new favorite blog, the Linux Hater's Blog. Some anonymous Linux user has taken it upon himself to open a blog dedicated to all of the many reasons why desktop Linux sucks (which it does). While it's more than a little mean-spirited, this blog is the dissenting voice of Linux. It is the conscience that, if heeded, will make the Linux desktop a better place to work.
For all of the problems with Linux, it is also the one major platform that allows the motivated individual or company to actually address those problems. The single biggest difference between the Linux Hater's Blog and the (would-be) Windows and MacOS X Hater's Blogs is that on the Linux blog, it's actually possible to do something about the problems. Consider this: 18 years ago, there was no Linux, 12 years ago, there was no Gnome. In 1990, the Linux Hater's blog would have one post: "It doesn't exist, go buy Windows." The reason I mention this is that while it's easy to dismiss the benefits of open source as purely theoretical (i.e.: "Have you ever needed to recompile your kernel?"), the benefits of open source are the entire reason it exists at all.
To look at this in a bit more depth, consider the gnome-panel as an example. Based on the copyright claims in the source code, gnome-panel is itself a collaboration of Eazel, Helix Code/Ximian/Novell, Sun Microsytems, Red Hat, The Free Software Foundation, Ian McKellar, James Wilcox, Rob Adams, Vincent Untz, and Carlos Garcia Campos. All of these contributors found things to change or fix, 'itches to scratch', and all of them changed or fixed the gnome-panel. This is something that basically cannot happen in the model of closed source software. If you want to change something in MacOS X, you basically have three options: try to convince Apple it is a worthwhile change by trying to present (giving up the rights to) a business case justifying the feature, try to go to work for Apple in the right group and convince them to let you implement your feature, or reimplement the entire thing yourself.
As a result of these kinds of trade offs, cross-organization collaboration in closed source is a lot harder to come by than in open source. Closed source essentially divides the stakeholders in a piece of software into two groups: those that can take responsibility for the softawre by making changes, and those that cannot and must either accept the changes as provided or work around them. In that sense, Free Software is the licencing model that brings to software the democratic ideals of personal responsibility and the sovereignty of the people. Like any democracy, in the short term it will have issues compared to more centralized forms of planning, but in the long term it will be a much more vibrant and productive place to be. This is also why the Linux Hater's Blog is so very important. To see why, continue the analogy with democracy a bit, and consider the process by which the United Stated adopted its constitution.
After the U.S. Constitutional Convention in Philadelphia, there came the long and highly political process of states ratifying new form of government. During this two year long debate, there were a series of papers, the Federalist Papers, written in support of the proposed Constutition. Less well known are the Anti-Federalist papers, a series of dissenting arguments against ratification. This dissent primarily centered around the lack of a Bill of Rights, and ultimatly led to the incorporation of a Bill of Rights as the first ten amendments to the constitution. The dissent was not just criticism: open process and free debate allowed it to be a key part of the construction of the Constitution.
This is a much grander version of what the Linux Hater's blog can do for Linux. By dissenting against the idea that Linux is already ready for the desktop (or the server), it also provides a list of weaknesses to fix.
Unlike a Windows Hater's Blog, the freedoms of Linux allow this list of weaknesses to effectively become a to do list for anyone or any company with the motivation and time to do the work. It is therefore not a liabilty to Linux, but an asset that derives its value from the freedom at the core of Free Software. Ironically enough, because of this, the 'Linux Hater' could easily turn out to be one of Linux's best friends.
It's been about two months since I've installed Ubuntu Linux on my Dell Inspiron 6000 laptop. The initial impression was highly positive, but two months later the reality is starting to wear a little thin. After switching to Ubuntu Linux my laptop is slower, less media-savvy, uglier, and less compatible than it was before. The thing that is sad about this is that as much as Linux has improved, it feels like it is lagging behind Windows more than it did ten years ago (the last time I used Linux full-time).
In a way, this relative lag is not too suprising; It is caused by the convergance of two sets of industry trends over the last ten years. Ten years ago, the commonplace Windows was Windows 95, based on the old 16-bit Windows 3.x kernel; In 2006 the commonplace Windows is Windows XP, based on the much more robust Windows NT kernel. Ten years ago, 3D graphics, video playback, and the Internet were only beginning to emerge in the mainstream; In 2006, these applications define the mainstream. Linux's kernel might still be better than Windows, but it's less better now than it was ten years ago, eroding its relative advantage. At the same time Linux's advantage in kernel technology has been eroded, computers are increasingly used for things that essentially require access to propriatary content and technolgy. The Microsoft windows license fee pays for things like high quality fonts, licences for MP3 and DVD CODEC's, and sophisiticated 3D hardware support. It is either difficult or impossible to replace these things in an open source model, so, to the extent they are becoming more important, Linux increasingly suffers in contrast to its closed course, license-for-fee competition.
One example of how this might directly impact people is MP3 playback. MP3 playback is built into Windows: the Windows licence fee enables Microsoft to pay the Fraunhofer institute's license fee for the MP3 patent. in contrast, MP3 playback is deliberately excluded from Ubuntu Linux because it's patented and, despite the fact that Fluendo has paid for a patent licence and written a GStreamer CODEC, the CODEC is not open source and doesn't match Ubuntu's licensing model. Thus, while it is possible to add MP3 support to Ubuntu Linux, it takes the extra step of downloading and installing a CODEC. The same is true for DVD and MPEG video, not to mention that it will be true for Blu-Ray and HD-DVD (assuming the protection mechanisms on those two are ever broken, which has its own ironies).
What is key to realize about this situation is that it is as intrinsic to the open source model as it is to the closed source model. Open source software precludes payment of license fees, closed source requires it; Open source software precludes enforcement of trade secrets, closed source enables it. Neither of these models is necessarily 'wrong', but as our computational lives become more dependant on technology that requires license fees or technolgy protected by trade secrecy, open source will comparatively suffer more and more. No amount of prosletyzing on the benefits of Open source software will change either this fact or the moral right of those who invest their blood, sweat, and tears into propriatary technology to demand payment for their efforts. The best that advocates of openness can do is to act as revolutionaries by living the cause, advocating its values, and hoping that enough people follow their lead to build a critical mass.
However, like other 'revolutions', the Linux/Open source software cause isn't necessarily an easy cause to live. As I've been finding out once more, the switch to Linux is a sometimes painful struggle through mediocre software, bad asthetics, poor integration, and steep learning curves. The question I'm struggling with right now is is it even worth it? The older I get and the more external responsibilities I have, computers seem more and more like a tool for life and less and less like a way of life. The 5-10 hours a week I spent maintaining and integrating my Linux machines back in college is a much higher price to pay now than it was then. No matter how much I might like for my son to live in a world of free, open information and powerful free software, it would be very difficult to justify taking enough time away from him and my wife to make a useful contribution to the fight to make it happen. This is particulaly true if fighting the open source fight somehow comprimises my actual paying job, which is definately possible. I work for a Windows shop, and my management could give a rat's ass about the theoretical benefits of open source if it compromises my ability to serve our clients. One flubbed presentation due to a flaky Linux installation could do just that, and it would be very hard to use the benefits of Linux to explain it away to the folks to whom I sell my time. Maybe the upshot of this is that Linux is, like other revolutions, a young person's battle. However, unlike other revolutions, Linux requires direct participation to reap the benefits; If you aren't using open software, you're still at the mercy of closed software vendors. If this is really the case, and Linux really is for the 'young', then when will it ever become relevant to the broader audience of Windows and Mac OS X users? I just don't know. I will keep up the struggle for a while longer, January 2007 seems like a good time to reassess.
I ran Linux for a few years back in college ('94-'97), lapsing back to Windows for professional reasons when I started working full time. After ten years of running Windows full time, I finally got sick of its crap (excuse my French), replaced the 40GB disk on my Dell Inspiron 6000 laptop with a brand new 120GB and installed Ubuntu 6.06. Two partitions: one swap and one ext3. No Windows partition, no dual boot. This happened a couple days ago, and the experience has been almost uniformly positive. To wit:
Of course there are problems, but overall this is amazing. The last time I ran Linux, it took weeks of downloading and compiling source code and extensive script customization to get things to work right. Setting up X11 to not blow up my then brand new $1,300 Sony GDM-17SE1 17 inch monitor gave me night sweats for days. Once it did work, there were half a dozen different widget sets on the screen at any time and your choices for word processing included Andrew ez, groff, and/or TeX. Linux has come a long way.
In a recent article on newsforge Toby Richards discusses his pet theory describing why Linux isn't mainstream. You should read the article yourself (it's short), but the basic gist is that 'people' at home want to use operating systems that are compatible with what they use at work, and Linux isn't used at work because there isn't a good equivalent to Microsoft Outlook. The problem is: this reasoning has been tried before.
For over a decade, there's always been some mystical missing piece of technology that was holding Linux back from mainstream acceptance. For a while personal finance software filled this role, later on it was a unified desktop, and later still, when KDE and Gnome reached stability, the need for good office software took up the baton. Fast forward to 2006 and the "one missing thing Linux needs to become mainstream" is apparantly a good equivalent to Microsoft Outlook.
This line of reasoning is seductive to programmers: it basically transforms the question of "What does Linux need to become mainstream?" into the question "What code do I need to write?". After all, if the only thing holding Linux back from mainstream acceptance is a piece of code, then a missing piece of code is easy for a programmer to fix. In fact, since 1997 (the last time I ran Linux full time), basically all of the 'missing pieces' I mentioned above have been rewritten or created anew. If an integrated graphical desktop with a functional office suite was really the key to mainstream acceptance, then Linux should already be there. 10 years ago that was the belief and 10 years later that belief was basically proven completely wrong. When was the last time you saw Linux running on anything other than a server or in some other relatively fixed-function application? Waving a magic wand and integrating Evolution with Exchange won't change this any more than any of the other scapegoats that have taken the blame for Linux's niche status in the past.
It'd be easy to blame this on changing times: after all, who knew that Exchange integration would be so key to Linux's mainstream acceptance a few years ago? Actually, that'd be anybody in IT with a pulse. As Todd points out, Outlook 97 ("It's nearly a decade old, for crying out loud.") runs under Wine and provides Exchange integration. Put another way, the Linux desktop software stack hasn't interoperated natively with the mainstream PC software vendor's e-mail solution for over nine years. This isn't a short-term problem: this is innate. Another example of this kind of long-running problem is the ongoing trouble finding modern video drivers for X11. As much as people complain about ATI's lousy video drivers, it's only a repeat of the same thing that happened with Neomagic and Diamond back in the mid-90's. The names are different, but the problem and result are exactly the same: when buying hardware, caveat emptor if you want modern graphics support.
In both of these cases, it's easy to assign blame to closed propriatary vendors. You could also argue that it's just a symptom of OSS developers wanting to work on whatever's 'coolest', rather than what needs to get done. However, with either explanation the problem is inherent with open source, and the net effect is the same: Linux gets most of the way to where it needs to be, but it gets there late and and fails to go the last mile or two. It's this last mile that's so important to mainstream acceptance, and getting through it is going to take a lot more than one or two pieces of code. I have no doubt that five years from now, Linux will have decent Exchange integration and excellent support for the ATI R300 graphics in my (then) six year old laptop. Too bad the battle for the desktop will have moved on.