Saturday, August 4, 2007

Free vs. Proprietary: Coexistence is the Best Approach

I read the following article (found via Wikipedia) about and it got me to thinking about the relation between free/open source and proprietary software:

The article is somewhat dated, and I feel it paints an overly grim picture of, but nevertheless the author makes interesting points about how far the open source development model can go.

The myth of open source rests on two improbable assumptions. The first is that a significant proportion of users can fix bugs. That is true at the Massachusetts Institute of Technology, where the concept of free software was first formalised in the 1980s by Richard Stallman and others, and it is true in some of the geekier corners of the internet. But on programs intended for use by the non-programming public, it's a very different story.

The author's point seems to be that a general disconnect between the users and developers of software limits the ability of hackers working on a volunteer basis to write software which can compete with commercially available options. I feel that there is validity to this position. It is my guess that this point puts a firm wedge between open source and the professional (non-technical) communities made up of individuals who rely on high-end programs for their livelihoods.

For example, take the old debate of Photoshop vs. The Gimp. Surely The Gimp is a powerful program and is certainly overkill for most people doing image editing at home. Nevertheless, issues ranging from the absence of a few key features to what some claim to be a poor user interface to the lack of a real marketing campaign have prevented The Gimp from competing with Photoshop among professional users. It is my guess that this failure is due to the (understandable) lack of professional photographers and graphic artists among the developers.

Given this state of affairs, one might say that it is necessary to implement, in the open source world, a tighter connection between the users and the developers:

When developing products for the public, [commercial software companies] spend a lot of money on usability testing to find out what users expect from software, and how to meet those expectations. Companies lose from user dissatisfaction in a way open source software doesn't, and so have an incentive to avoid errors in the first place: the number of calls to a support desk grows exponentially with the number of bugs and users.

However, I feel that the best solution may be to keep both proprietary and open source software as they are and allow each to excel at what it is good at.

Commodity vs. Specialty Software

There has been talk of the role open source has to play in the commoditization of software (eg. see Ian Murdock's blog). Over time, a useful product becomes so widespread that it loses its novelty and people realize that they can create a comparable product and make it available at a lower price. So we find Free software: developers realize that they can create a full Unix-like environment (GNU and later Linux) which is hacker-friendly and free for anyone to use, modify and distribute. Furthermore, due to many eyes/shallow bugs (see ESR's The Cathedral and the Bazaar), over time the new system is given the potential to become far better than the system it was supposed to replace (Unix).

Thus, commodity software arises when there is a program (or, more generally, a set of features) which almost everyone has a use for. Regardless of whether we have the ability to hack into code, we all have certain needs; we edit images; we may make flyers occasionally; we need to check our e-mail every day; we use web browsers all the time. In each of these areas, the availability of superb Free software which does the job to the level that the "average" user needs it done is very high, because the needs are so universal that the developers are regular users.

On the other hand, as you go further and further from the heavily-beaten path, you end up in an arena where the community of developers and the community of users may have vastly different needs and expectations of their software. This may apply to (for example) high-end image manipulation as well as enterprise office software.

In short, there is no fundamental reason that proprietary software (eg. Microsoft Office) must be dominant among users at home, aside from aggressive business tactics. High-quality Free alternatives exist for the vast majority of proprietary software which can be considered to exist under the umbrella of commodity software. However, in the arena of highly specialized professional- and business-oriented software, in many cases users may find themselves better served by proprietary software than by Free and/or open source software.

The Necessity of Open Formats and Choice

Microsoft Works exists as a sort of commodity Office; it is inferior in terms of features but generally adequate for home users. However, work done at home doesn't necessarily stay at home; anyone who has dealt with opening someone else's Works document when only Word is available will agree that it is a headache which would be painfully easy for Microsoft to resolve simply by using a single, consistent file format between its two products.

If the world of software is to diverge so that we have a large body of Free commodity software alongside a large body of specialized proprietary software (each in wide use outside the technical community), it is vitally important for users of both Free and proprietary software that file formats be open and unencumbered by patents. A computer today doesn't exist in a vacuum; it must be able to cooperate reliably with other computers running different software on top of different operating systems. I feel that the wide adoption of open formats (such as ODF) will go a long way towards bringing about the acceptance of Free software as an alternative to proprietary software in the commodity realm, and at the same time will bring a kind of cooperative competition to the software world which will benefit Free and proprietary software alike.

So what about Well, regardless of how anyone feels about whether is successful as a community project, the fact is that aside from this particular program, there are other Free, community-driven projects which have filled the role of commodity office software for years (I'm speaking of programs like AbiWord, Gnumeric and KOffice). Individual projects can succeed or fail as they may, but Free software moves relentlessly onwards. I do not foresee Free software eliminating the need for proprietary software, but I do feel that the striking of a proper balance between the two, combined with the wide usage of open file formats, would be a blessing for computer users and the software industry in general.

No comments: