|
Home
Project outline
Final report
Press coverage
related research
people
|
Papers
Open Source Software: More Placebo than Panacea?
Prof Brian Fitzgerald, Frederick A Krehbiel II Chair in Innovation in
Global Business and Technology,
College of Informatics & Electronics, University of Limerick, Ireland
bf@ul.ie
http://www.csis.ul.ie/staff/bf/
This document briefly introduces a number of potential vulnerabilities
that may arise in the open source software (OSS) process from the software,
business/economic, and social perspectives.
Potential Vulnerabilities in OSS from a Software Perspective
- Not enough good programmers
Just like the doomed Chief Programmer Team of the 1970s, there just
are not enough high quality programmers around to fuel the explosion
of interest in OSS. A lot of OSS projects start from a lone developer
“scratching a personal itch.” However, to lead an OSS project
really successfully, the leader needs to be a ‘code god’
who inspires others and whose ability and authority is beyond discussion.
- Too much mediocre code
The corollary is obvious. While the early OSS pioneers may represent
‘best-of-breed’ programmers, the programming ability of
the later volunteer programmers could pose a problem. It is well-known
that some programmers are net-negative producing (NNP). That is, the
project actually suffers from their output. Unfortunately, due to the
popularity of OSS, a lot of these NNP programmers may tend to get involved,
and not be easily identifies due to the anonymity of the development
process. If contributions from these NNP programmers gets included in
OSS releases, the consequences could be disastrous.
- No interest in mundane tasks of software development
Many software tasks are of the mundane variety, documentation, testing,
internationalisation/localisation, field support etc. Although tedious
and mundane, they are vital. The exciting development tasks may be cherry-picked
by OSS developers. The hope is that non-technical OSS contributors/users
will undertake some of the documentation and testing tasks, but this
cannot be guaranteed. Exacerbating this is the well-established fact
that the contributions and requests from non-technical contributors
and users are routinely ignored.
- Modularity issues leading to maintenance problems
Modularity is necessary in OSS for a number of reasons. Firstly, it
allows work to be partitioned among the global pool of developers. Also,
as projects progress, the learning curve of the rationale behind requirements,
design decisions, etc. becomes extremely steep. Thus if new contributors
are to have any chance, they need to be able to reduce their learning
focus below the overall project level. Modularity helps achieve that;
thus, it is a sine qua non for OSS. The Mozilla project provides an
example whereby the monolithic nature of the source code ensured that
only Netscape coders were really in a position to contribute to the
project
However, the excessive modularity unfortunately could lead to one of
the most insidious problems in software engineering, common coupling
between modules. If this occurs, OSS code will become increasingly difficult
to maintain.
- Reliability of OSS products not up to expectations
A number of studies have suggested that OSS products are not as reliable
as once thought. This could damage public credibility a great deal and
cause a general loss of confidence in OSS products.
Potential Vulnerabilities in OSS from a Business/Economic
Perspective
- No transfer to vertical software domains
OSS projects tend to be in horizontal domains—infrastructure software
and the like, where business requirements and design issues are part
of the established wisdom. This facilitates a global developer base,
as anyone with an ability to programme can contribute, including non-professional
developers such as students. However, in vertical domains, where most
business software exists, the real problems are effective requirements
analysis and design, and these are not well catered for in OSS.
- No strategic nous
The variety of individual motivations behind collaborating in OSS projects—anti-Microsoft,
ideological support for free software, general hacker interest in coding,
blurred the bottom line that allows most organisations to define a strategic
focus for their products. Thus, OSS projects have been tempted to compete
with Microsoft in the worst possible way – desktop applications
(whereas Microsoft have analysed and abstracted some of the best principles
of OSS into their .NET strategy.
- IPO envy
The tales of fabulous wealth which have allegedly accrued to some OSS
pioneers may attract the gold-diggers to California again. In such a
climate, trust is likely to break down, as volunteers cannot be sure
that some of their peers will not sell out.
- Breakdown of trust in murky hybrid OSS business
models
Again as a corollary, in a collaborative community, trust is vital.
Given the widely varying models for OSS, volunteers may resent companies
exploiting their intellectual effort as cheap R&D and taking the
useful results back into their proprietary offerings.
Potential Vulnerabilities in OSS from a Social Perspective
- OSS becomes part of the establishment
The brightest and most creative young (unfortunately ageist) minds are
naturally attracted to OSS because of its anti-establishment image.
When it becomes popular and mainstream, these bright young anarchists
will no longer be interested. Also, as the skill level of the contributors
diminished, there will be no badge of pride in being part of the community.
- Burn out of OSS project leaders
The leading pioneers may just burn out. They joined for the passion,
challenge, freedom, and fun, and suddenly, it may not be any of those
things anymore. To some extent, the initial basic software problem may
be solved, and all that may be left are the mundane tasks, and these
will not be of sufficient interest to motivate continued involvement.
- Balance between self-deprecation/modesty and
supreme ability on the part of the OSS pioneer developers cannot be
maintained
OSS pioneer developers need to be modest to ensure that others will
contribute. If others think their contribution is unnecessary or would
not be welcome, they would not be motivated to help, thus, the project
would never get initiated. However, OSS at heart obeys a reputation-based
economy, and the initial pioneer attracts the greatest reputation, so
egoism is also very much evident. Allied to this, the pioneer developer
has to be universally acknowledged as a ‘code god’ so that
he (and it is probably usually ‘he’) can unilaterally choose
between competing contributions.
- ‘Alpha-male’ territorial squabbles
Again, as a corollary, OSS may remain a male-dominated nerdy preserve.
Territorial battles over module leadership could become the norm, with
the ‘alpha male’ resorting to ruthless behaviour to maintain
leadership of the module, and thus unfairly rejecting too many worthwhile
contributions.
References
Feller, J. and Fitzgerald, B. (2002) Understanding Open Source Software
Development, Addison-Wesley; UK Feller
|