Hello,

We noticed you're browsing in private or incognito mode.

To continue reading this article, please exit incognito mode or log in.

Not an Insider? Subscribe now for unlimited access to online articles.

The Open-Source Solution

Why not use a communal approach to fix software?

As you read this, countless programmers worldwide are collaborating to write, refine, and debug open-source software. Open-source pioneer Richard ­Stallman estimates that a million programmers now contribute to these efforts, in which the original written form of the code–the source–is made freely available for everyone to work on and worry over. Once a fringe phenomenon, the practice has grown into a major force in software development.

Open source is both a movement and a method. Partisan passions rage, but politics and polemics aside, the open strategy for constructing and maintaining programs may offer some distinct advantages over the closed-door development practices that dominate commercial software.

This story is part of our January/February 2007 Issue
See the rest of the issue
Subscribe

The most common argument for open-source development, and perhaps its greatest strength, is the sheer number of people who address a given problem. Every line of code, and its relationship to many others, is scrutinized again and again in an almost obsessive-compulsive competition to be the first to find a problem or its solution. In principle, and often in practice, this transparency can generate cleaner, more economical code with fewer bugs or vulnerabilities (for a discussion of the problems with mainstream software, see “Anything You Can Do, I Can Do Meta”). There are, of course, no guarantees, but the reliability record of open-source software is excellent.

Collaboration can cut both ways, however. Because new functions may be proposed and appended by almost anyone at any time, open-source software can become every bit as feature­-rich as its commercial cousins, and thus equally vulnerable to the creeping excess that bedevils many mainstream products. As the code slowly grows in complexity as well as capability, usability suffers, not only because new functions add to the user interface but because such additions are ad hoc and implemented case by case.

Open source may be superior in producing robust, reliable code. It can hold its own in providing functionality. But its weakness remains usability, which increasingly is the battle­ground for competing programs. Finally, though, initiatives like the GNOME free desktop software for Unix have been closing the usability gap between open-source and commercial software. While open source may not solve the problem of bad software, it does offer many innovative possibilities. Most important, it demonstrates that when more people scrutinize code more closely, the effort can pay off in reliability. The jury is still out on usability.

Larry Constantine teaches and heads a software R&D lab at the University of Madeira, Portugal. He is also a usability expert and software design consultant.

Cut off? Read unlimited articles today.

Become an Insider
Already an Insider? Log in.
Want more award-winning journalism? Subscribe to Insider Online Only.
  • Insider Online Only {! insider.prices.online !}*

    {! insider.display.menuOptionsLabel !}

    Unlimited online access including articles and video, plus The Download with the top tech stories delivered daily to your inbox.

    See details+

    Unlimited online access including all articles, multimedia, and more

    The Download newsletter with top tech stories delivered daily to your inbox

/3
You've read of three free articles this month. for unlimited online access. You've read of three free articles this month. for unlimited online access. This is your last free article this month. for unlimited online access. You've read all your free articles this month. for unlimited online access. You've read of three free articles this month. for more, or for unlimited online access. for two more free articles, or for unlimited online access.