What is Open Source Software and is it usable?
By Robert Watkins
Open Source Software (OSS) is a software project where all the source code is freely available, usually according to a licensing agreement baring commercial gain on the source. The contributors to the project are usually part-time computing enthusiasts with a wide variety of backgrounds and experiences. Usability specialists are not generally part of the development process.
Open Source Software (OSS) is the subject of heated debates, both pro and con. Recent news stories talk about OSS software such as the Netscape Web Browser, Apache web server and the Linux Operating System and a debate on their suitability in business use. Many of the controversies involve confidence in the long-term viability of the application, licensing questions, liability issues, support issues, training as well as what is boiled down to as usability issues. While the arguments for and against OSS are well debated, I won't go into them here, but I will briefly describe how the issues against OSS are framed.
Long-Term Viability and Licensing
Since each project organizes in it's own way with volunteers contributing new features and bug-fixes, the long-term viability is questioned. There are a myriad of licenses that each project can choose from to distribute the source code. The licenses are generally intended to keep the source code from being used in a commercial product and to maintain the community effort in maintaining the application. The terms of the licenses are often misunderstood and badly interpreted.
Liability, Support, and Training
Although most software has disclaimers as to the suitability to any particular application or any other type of liability, OSS is noted for not having any single entity to answer to any liability issues.
In addition, one of the more accurate complaints about OSS is the lack of support. However, this is rapidly changing for the most widely-accepted applications and there are generally lots of support available through online resources. Training is similar to support in that there is less training for OSS than commercial software.
Beyond the issues described above, OSS is not known for being easy to use. Usability, could be one of the most effective changes to make in OSS, but is also one of the most difficult to implement at this point. The changes required to make a bad interface at least tolerable are generally minimal enough from a coding standpoint that it's difficult to understand why more isn't being done. However, the independent and pragmatic nature of the developers and the OSS movement in general makes approaching ease-of-use changes a difficult task.
I've spent small chunks of time over the last year trying to convince various groups that a usability approach to their development would be a good thing, but with little success. The responses are typically one of the following:
When there is some look into usability, the discussion often centers around one of the following topics:
- I've been a developer for x years and I think I know what I'm doing
- I know what the users want
- I'm doing this for myself (a valid response)
- If I ignore you, will you go away
- Submit a coding change and we'll look at it
- Here's my new widget, what do you think?
- Here's a screenshot, what do you think?
- Users don't want that.
- Users want this…
- Duplicating a major vendor's approach can't be wrong
I see two different ways for any interested UPA members to get involved.
First, is for a member to approach the developers of an OSS project. Since there are literally thousands of projects out there, find one you're interested in. You can find a list of OSS projects at http://www.freshmeat.net .
Second, is to approach a consortium of projects and offer a framework for matching interested OSS projects with Usability experts. The two that come to mind are the X-windows environments for Linux namely, www.kde.org and www.gnome.org . The challenge here is that the only types of volunteer efforts I have seen asked for are people to contribute code, people to test code, and people to write documentation. There does not yet seem to be much room for usability.
Either way, it is a daunting, but potentially very rewarding task for those who want to expand their usability experience into the OSS realm.
Robert Watkins has been a student, teacher, and practitioner of usability techniques for over 5 years. He has corporate web design/development experience and is Adjunct Faculty for Cardean University, teaching in their MBA program. He is currently the Manager of Application Support and Quality Assurance at Flagstar Bank.