According to the Free Software Foundation, free software includes “the freedom to improve the program, and release your improvements to the public, so that the whole community benefits… Access to the source code is a precondition for this.” While I agree that the principles of the FSF are noble, I also feel that there is an unspoken assumption – an assumption that pods of hobby developers across the world can coordinate on the same scale that directed companies with a budget can. Where free software has an important place in computing, so does closed-source commercial software.
Recently, Microsoft sent me an evaluation edition of their new Windows Server 2003. I had an NTFS partition on my computer with Windows XP installed, but it rarely saw any action. Knowing that I wouldn’t miss it, I blew it away and took a test drive of Windows Server 2003. That was about a month ago, and I’m using it now to write this.
Now, this is not a review of Windows Server 2003 or even an attempt to discuss it. However, installing and using has clarified some feelings, in my mind, about the success and shortcomings of open source software. As a grateful user of download editions of Linux, desktop environments like KDE and Gnome, and applications like gaim, OpenOffice.org, and Mozilla Firebird, I rely heavily upon free software for my day to day work. I use Apache http Server and script with PHP and write some Perl. I am no stranger to the quality of individual open source products, and I owe a debt of gratitude to developers around the world.
That said, booting up into Windows for the first time in a long time was surprisingly joyful. The graphics and feel of the system were tight and coordinated, the look and feel was sleek. Despite the fact that it’s supposed to be a server OS (which is a whole separate issue), it felt like a single, integrated system. Installing Office 2003 for the very first time was simple enough — as expected, clicking the setup.exe file installed the necessary components and I knew exactly where to find them, having installed a previous version before. Despite the fact that this was supposed to be a “trial run,” I had my server configured as a web server, a file server, a print server, and my primary desktop machine within an hour or so.
This is what got me thinking – “Choice is good.” Some debate the marketability of choice — it confuses new users, it makes learning much more complex, it makes each computer different enough so that you must, to some extent, relearn what you can and can’t do on each box. But one downfall of the amount choice is that it makes Linux, in this particular case, feel disjointed. Some programs feel meshed and others feel semi-developed. Some programs are themeable, while others maintain a single look. A public with extreme expectations refuses to accept distributions that strip out too much choice, and therefore, we end up with some sort of OS pudding, with each bite tasting just a little different than the rest. To top it off, when a commercial company, like Red Hat, takes a shot at solving this problem, the community backlash can best be described as merciless.
But that’s all candy. A system needn’t be visually consistent to be functional and enjoyable to use. But, in my opinion, it should at least be attractive. There’s debate as to whether or not what’s best wins — the case has been made a thousand times, “If quality were the sole determinant, Mac would win hands down.” But regardless of the level of importance of looks, I think we can all agree that quality is important. I’ve used many Linux distros, and I’ve consistently found that each handles the same tasks different ways, sometimes with mixed results. Browsing Windows domains, for example, is often unique to the distribution. Each distro has a recommended way to do so best – Xandros mount NFS and domain shares automatically, Red Hat recommends uses the Nautilus command smb://, and then there are dozens of after-market add-on applicatons. I’ve tried many of them with varying success, some are better then others, some are unstable on certain distributions, some are generally functional but not very pretty.
A question to pose, before we go any further, is “How important is look at feel?” I won’t get into preference details, but suffice it to say that I believe a machine should, these days, look and feel modern and sleek. Windows, since Windows 2000, accomplishes this, as does OS X. Linux distros have gotten closer with each successive release – Mandrake’s Galaxy, Red Hat’s Bluecurve, and SuSE’s new theme are all getting closer. But most distributions in general still feel like a collective work. This is where I believe, free software fails where commercial software succeeds.
With apologies to Richard Stallman, I must repeat – not all software is best free. New distributions like Xandros and LindowsOS are taking action not usually taken in the free software realm: employing graphical designers to make the system and logos cleaner, brushing up on points that are less important to the functionality of the system but important to the user actually using it. We, as techies, too often overestimate the priorities of the home user. We insist that security is an issue, when it’s usually not. Many people set their computer to log in automatically or use blank passwords. We believe speed is more important than eye candy, but the average user doesn’t always agree. Developers aren’t excited by the mundane, but these details must be painstakingly covered to ensure the system “feels” right. Many companies in the “Linux business” know this; they are doing their best to make Linux usable, and many of the best improvements, like XFM and Click-N-Run, are non-GPL programs! Let’s face it, if the source to these programs were publicly available, they’d be in many distributions within a few months.
When I move the mouse around in Linux – it feels a little like it plays catch up with me. When I click on objects, I feel like the system has to figure out what I meant to select. It’s a strange sensation that I have a very hard time putting into words. This as a likely limitation of Xfree86’s lack of the proper threading support. As a member of the IT community, I understand the complexity of this issue. As a user, I don’t care. A company like Apple or Microsoft has the resources to pay developers to work out whatever problems they decide need fixing. The open source community relies largely on developers working for free on what suits them in their free time. We can’t decide if we should be improving X, or ditching it in favor the replacements, most of which have been in development for years.
There are some applications out there that are part of what I consider a new generation of Linux apps that are top notch – K3B for cd burning, Ximian’s Evolution PIM, and the entire Mandrake Control Center, to name a few. While open source developers sometimes produce great products, with free software, developers can (and often do) skip over features that aren’t important to them personally. In fairness, that is not a bad thing – a developer should not be required to write something, for free, that they do not need. But an end user doesn’t want to use an application that doesn’t completely suit their needs. We’re still missing even passable counterparts for Photoshop, Access, Dreamweaver, Illustrator, and Front Page. And there’s a good reason.
These products are impossibly large scale projects, but projects that a corporate interest would easily be able to accomplish, if it weren’t for a community so dead set in their intolerance of non-free software. Adobe, Macromedia, and other large software companies know the audience – they know Linux users don’t pay for software. We collectively sing the mantra of free software only, so we have to wait. We wait for someone somewhere to start a sourceforge project, recruit a team, decide on a programming language, and then begin to code. Then we wait for the forks – the guys who port a Qt app to GTK or create a Java version. We wait for it to mature. We report on our various successes. And then we download endless betas waiting for the 1.0 milestone. And when we implement it, there’s no support. At best, there’s a message board that helps you find out why you can’t compile the app or why the rpm doesn’t work on your distribution or how come the author’s didn’t include feature X.
It’s important to note that the FSF also states “Free software does not mean non-commercial. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important.” The problem is that some companies and their developers need to be compensated for their time in order to make the manufacturing their product worthwhile for them, and that often means withholding source code, restricting redistribution, and forbidding decompiling, which disqualifies the product as free software.
My intent here is not be presumptuous or didactic, but rather to suggest that we all revisit the notion of free software solving all problems. One of the problems we face is legitimitizing Linux. I believe that Linux’s eventual desktop success relies upon corporate and commercial interest. I dream of enterprise software makers catering to the Linux desktop and hardware manufacturers including Linux drivers on their companion CDs. Free software has its place, but not everything should be free. Sometimes, when developers have a quality product, they don’t want to give away their hard work for free. It’s not unreasonable to pay for goods and services, and I don’t believe that software should be an exception. If Linux users would concede that non-free software can fill in their swiss-cheese application market, perhaps the Linux software landscape wouldn’t be so hit-or-miss.
Adam Scheinberg is a regular contributor to OSNews.com. He works as network administrator in Orlando, FL. He runs Linux and Windows at home.