Answering criticisms of free and open source software

The article “New Red Hat CEO checks open source claims” by Phil Manchester in Reg-Developer generated a number of comments regarding the prospects for the long term success of free and open source software. This comment below caught my eye:

It’s just wishful thinking
By BKB
Posted Friday 21st December 2007 13:41 GMT

All this stuff about “open source” and “free software” is just wishful thinking. Open source people develop some bits of software which they need, but they don’t develop the things which take large amounts of organized work.

Documentation is usually lax or completely missing.

Obvious bugs don’t get fixed. Sending a bug report to an open sourcer usually results in some kind of insulting response.

User interfaces are over-complex and poorly designed – see GIMP for example

There is little to no game or educational software

Most design decisions are taken with reference to non-free software, most open source “end user” stuff actually just apes and lags behind the non-free stuff. There is much less innovation in open source than in closed source. This is why I don’t think open source is ever going to take over.

Open source people often introduce hideous incompatibilities between different versions of the software. They’re quite happy to break backwards compatibility because they don’t have to care about their end users.

Closed source companies like Microsoft, Adobe, and Oracle are doing very well, despite what the article says.

Bad code is alive and well in open source software, despite what the article says. I’m pretty sure that open sourcers and their code aren’t any better at coding than closed sourcers are. Some of the Linux libraries are truly hideous nonsense.

LInux desktop and others are not fully GUI – they often involve editing text files.

There are too many versions of open source stuff and it gets “upgraded” too much, often in strange ways which break things that were working before.

A lot of open sourcers spend their time in wishful thinking and denial of reality. They’ve been saying that “open source” is going to take over in exactly the same way for the last ten years, and yet it hasn’t – almost everyone in the world who works in an office is using Microsoft Windows and Microsoft Office.

I got so hot under the collar after reading this comment that I was inspired to sit down and write out a longer response trying to answer each point:

Eventually Free and Open Source (FOSS) will overtake proprietary software, unless the proprietary software companies figure out a way to manipulate the market and laws to prevent it. Yes, FOSS is slightly harder to install and configure and learn to use, but FOSS is gradually getting better and more user-friendly, and eventually the economics will ensure its dominance. When a computer cost $2000, it didn’t seem like much to ask people to pay $200 extra for their software, but when the price of a computer becomes $200, the price of software becomes uncompetitive, and manufacturers will seek cheaper alternatives.

10 years ago, no ordinary user would have considered installing GNU/Linux , but today an ordinary person can install Ubuntu, although it may be a bit of struggle. I remember installing Red Hat 5 and being asked what was the resolution and refresh rate on my monitor and spending hours configuring my sound card. It used to be a major accomplishment to just get X-Windows to display correctly. Today you almost always get the basic system up and running. Now the struggle is to get odds and ends to work like wireless networking and webcams running. In a couple years, everything should “just work”. Today, many of the major manufacturers and tech companies are lining up to support GNU/Linux, so we can expect that hardware support will be much easier and the installation will be almost the same as Windows in the future. With IBM, SUN, Novell, Intel, AMD/ATI all supporting GNU/Linux and Microsoft being restrained by the EU so it can’t manipulate markets, GNU/Linux has good prospects for growth. Yes, Microsoft still had record profits, but there are signs of the Microsoft monopoly cracking.

As for the individual points raised, I don’t have time to go through them all, but here are some thoughts:

Documentation is usually lax or completely missing.

As a general whole, documentation of FOSS isn’t as good as proprietary programs, but I think it depends more on the funding behind the project rather than the fact that it is FOSS per se. Programs like OpenOffice and FireFox which have industry or foundational support have pretty good documentation, but programs like AbiWord which are developed exclusively by unpaid volunteers have poor documentation. On the other hand, almost every time I have a question about how to use FOSS program, I can almost always find the answer on line somewhere. Some one has written a how-to, or someone has posted a question in a forum. If you have a tough technical question with FOSS, you are much more likely to get someone to give you a real answer than with proprietary software–often from the person who actually maintains the code.

Obvious bugs don’t get fixed. Sending a bug report to an open sourcer usually results in some kind of insulting response.

It is important to distinguish what you call a “bug”. Several studies have found that security holes get fixed significantly faster in FOSS than proprietary software and that the Linux kernel, MySQL and some of the other highest profile FOSS projects have fewer bugs per thousand lines of code than the industry average for proprietary software. See http://www.dwheeler.com/oss_fs_why.html for a summary of the various studies.

Often FOSS has unimplemented or only partially implemented functions and feels incomplete, but those aren’t “bugs” per se.

User interfaces are over-complex and poorly designed – see GIMP for example

Depends on the program. In general, KDE programs do tend to be more complex and be designed for power users who want more options, but many consider GNOME to be just as easy to learn as Windows, and distributions like Ubuntu which are designed to be user-friendly aren’t any harder to use than Windows in most cases. The menus and interface design of OpenOffice 2 is very similar to MS Office 2003. With the redesign of Microsoft Office 2007, many believe that OpenOffice is easier to learn and it certainly takes up less screen space. FireFox is easier or just as easy to use as Internet Explorer. In my opinion, MS Windows Explorer is slightly better than Nautilus and much better than Konqueror. Yes, the GIMP is poorly designed (although there is an ongoing effort to redesign it).

There is little to no game or educational software

Granted, there are fewer 3D and complex 2D games in FOSS (although there are tons of simple games), but there are many educational titles available. Check out Edubuntu or K12LSP to see how good the educational software is. It is probably less than what is available in proprietary software, but the selection isn’t bad.

Most design decisions are taken with reference to non-free software, most open source “end user” stuff actually just apes and lags behind the non-free stuff. There is much less innovation in open source than in closed source. This is why I don’t think open source is ever going to take over.

When Stallman set out to create the GNU project, the idea was to create free versions of existing proprietary software, so there was a conscious effort to “ape” existing software so people could easily switch over to the free versions. The GNU Tools ended up offered more options for existing commands and generally had fewer bugs and were more stable than the tools found in proprietary UNIX. So many would say that they improved on the existing tools, rather than simply “aping” them. In the late 80s, gcc was considered better than the compilers found in proprietary versions of UNIX. Likewise, KDE was a conscious effort to reimplement CDE, but they wanted to make it better and offer more options. When Federico Mena and Miguel de Icaza started GNOME, they said that they wanted it to be as easy to use as Windows 95 and tool many ideas from Windows. AbiWord started off trying to be a FOSS version of MS Word and OpenOffice 2 was consciously redesigned so it would be familiar to people who were accustomed to MS Office. So yes, there has been a lot of aping and catching up to existing proprietary software in the past. However, there has also been many instance of reimplementation which is better than the existing proprietary software.

Once the FOSS version is fully developed and no longer playing catch up, however, the FOSS version can become the leader, implementing new features first. Look at how Internet Explorer apes the latest features of FireFox and IIS copies Apache.

Actually, there is a great deal of innovation in FOSS. Let me give you an example in spell checkers. The first spell checker with a “sounds like” function was aspell and the first spell checker capable of handling agglutinative languages like Hungarian and Quechua was hunspell. In the internet (BIND, Apache, PERL, Python, FireFox extensions, sendmail), FOSS has generally been the innovator and proprietary software has generally been playing catch up. Currently X-Windows with Compis and Beryl offer 3D desktop effects, while Windows and Mac do not.

Closed source companies like Microsoft, Adobe, and Oracle are doing very well, despite what the article says.

Considering that software is a growing market, it is not surprising that these companies are doing well financially, but there are many signs that they do not control their respective markets like they used to.

Microsoft is making record profits, but there are many cracks in the monopoly. FOSS currently has more market share than Microsoft in the server market. FOSS has equal market share to Windows CE in the embedded market and embedded Linux is growing twice as fast as Windows CE. FOSS languages like PHP are more popular than Microsoft’s languages for web programming and FireFox continues to erode Internet Explorer’s market share. Adobe has realized that PDF is now a commodity, now that many FOSS programs can now save to PDF, so it has had to search for other revenue streams. Oracle is now buying up open source companies and offering FOSS databases to compete with MySQL and PosgreSQL.

Bad code is alive and well in open source software, despite what the article says. I’m pretty sure that open sourcers and their code aren’t any better at coding than closed sourcers are. Some of the Linux libraries are truly hideous nonsense.

Actually the available studies suggest that there are fewer bugs in FOSS. Granted that there are a lot of incomplete implementations, but doesn’t mean that the code is “bad”. How are some Linux libraries “hideous nonsense”? Provide examples.

Linux desktop and others are not fully GUI – they often involve editing text files.

The standard user rarely has to use the command line now-a-days. I almost never have to resort to the command line with the latest versions of GNOME or KDE.

Online tutorials often tell you the way to do things using the command line because it is simply easier to give the command such as “apt-get install firefox”, rather than to write out how to navigate the menu system which changes from distribution to distribution.

Remember that the command line offers many advantages such as remote administration and automation of tasks.

Open source people often introduce hideous incompatibilities between different versions of the software. They’re quite happy to break backwards compatibility because they don’t have to care about their end users.
There are too many versions of open source stuff and it gets “upgraded” too much, often in strange ways which break things that were working before.

You are not forced to upgrade every time a program is updated. In fact, it is generally recommended that you stick with the version of the program which has been tested for your distribution of GNU/Linux and that you not try and upgrade the software unless you are upgrading the whole operating system to avoid incompatibilities of dependencies. The ensures the stability and security of your system.

It is unclear whether FOSS breaks compatibility any more often than proprietary software, but if it does break compatibility the user is not held hostage by the incompatibility, because the data is stored in open formats, not proprietary formats which prevent you from switching to another program. Moreover, you are not forced to buy a new license every time a new version comes out, so it does not cost the user in the same way when compatibility is broken.

As for the idea that FOSS programmers “don’t have to care about their end users”, I see frequent evidence that programmers of proprietary software are also apt to disregard the opinions and needs of their end users. The crucial difference is that if a FOSS project really doesn’t serve the needs of the end users, it can be forked and made to serve their needs, but that is impossible in proprietary software. As an end user, I have frequently conversed with programmers of FOSS and found them to listen to my ideas, but I have rarely had that experience with proprietary software.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s