Next: Cooperation and competition
Up: Development models
Previous: Advantages of open source
  Contents
Of course, open source development models lead also to the perception
of some disadvantages. However, some of them are only disadvantages if
we are stick to classical (proprietary) development models, which is
of course not the case with open source. Let us review some of them:
- There is no guarantee that development will happen.
In other words: it is not possible to know if a
project will ever reach a usable stage, and even if it reaches it,
it may die later if there is not enough interest. Of course, this is
also a problem with proprietary software, but it is more evident in
the case of open source. Especially when a project is started without
strong backing from one or more companies, there is a
significant initial gap, when
the source base is still immature and the development base is still
being built. If it is not possible to get funding or
enough programmers cooperating at this stage, the project just
``dies'', or perhaps slowly fades out.
Usually, when it reaches a self-sustaining level, the user and development
base is such that it can proceed by itself, without other external
incentives. This issue will be revisited later on, when business
models are discussed in section 5.
- There may be significant problems connected to intellectual
property.
This point is especially important, now that some countries are
accepting software and algorithm patents. It is very difficult to
know if some
particular method to solve a software problem is patented, and so
the community can be considered guilty
of intellectual property infringement. Some open source packages are
already addressing this issue with switches or patches that enable or
disable patented code fragments according to the country where the code
is used. In other cases, developers consider source code not as an
executable device, but a mere description of how a device (the
computer) executes, and therefore uphold the idea that source code
is not by itself (in absence of an executable program) covered by
patent law even in countries where software patents are
accepted. However, this idea has still to be tested in courts, and many
people do not believe in its viability. In any case, it still leaves
problems for the users, who need the executable programs.
Although the issue of software patents is a problem for the whole
software industry, open source is probably one of the more clear
cases where it can be shown how they harm the regular process of
software development. The specific problems are that availability of
source code simplifies the detection of patent infringements by
patent holders, and that the absence of a company that holds all the
rights on the software also makes it difficult to use the mechanisms
in use by companies to defend from patent litigation, like
cross-licensing or payment of royalties. These issues will be
discussed with some detail in subsection 6.2.
- It is sometimes difficult to know that a project exist, and its
current status.
There is not much advertising for open source software, especially
for those projects not directly backed by a company willing to
invest resources in marketing campaigns. However, several
`aggregation points' for open source software do exist15,
although in many cases they are usable only by experts, and not by
the general public. They are also in many cases
very specific to some software category, such as scientific software or
database systems. There are only a few `clearing houses' for open
source software and projects, and in many cases they are not really
up to date.
However, some people see this fact as a market opportunity, and
several companies with experience in Internet based information
services are approaching open source software with added value
services which maintain information useful for people or companies
trying to locate or evaluate open source software of some given
characteristics. In fact, a new business is emerging for providing
consulting and searching services related to the selection of open
source applications for specific needs. For the general public, some
more education is still needed before the regular user can approach
these services and get a solution to her software problems in terms
of open source software.
It is extremely important to `see' through the various interpretations of the
advantages and disadvantages of open source, and if possible try to
analyze with quantitative methods if open source can be helpful in a
given situation, or for a given user or company. From a developer
point of view, a good
example of the perils of launching an open source project is the
Mozilla project (launched by Netscape in 1998), considered by some
people a complete failure
because it took more than an year to get a first beta out. On the
contrary, other people perceive, with respect to the same project,
that the open source community was capable of producing a totally
new code base (larger than the Linux kernel) starting with only some
new infrastructure. In fact, now half of the developers of Mozilla
work outside of Netscape, and the Mozilla browser has begun to be embedded in many
innovative devices, thanks to its modularity and
flexibility (for a detailed discussion on the evolution and results of
the Mozilla project, read [6]).
Footnotes
- ... exist15
-
The most widely known is Freshmeat, at http://freshmeat.net.
Next: Cooperation and competition
Up: Development models
Previous: Advantages of open source
  Contents
Jesus M. Gonzalez-Barahona
2000-04-24