Specifications
Chapter 7
Open Source Development
Methodology
The Input Abstraction Layer is entirely built upon Free and Open Source Software (FOSS).
On the one hand, it depends on FOSS projects such as the C compiler of the GNU Compiler
Collection (GCC), GLib and D-BUS. On the other hand, the Input Abstraction Layer itself is
a FOSS project. This chapter outlines the development methodology of open source software
on the basis of the Input Abstraction Layer. Important considerations of open source are
explained in-depth.
Throughout this chapter the term FOSS is used in favor of free software or open source
software. The difference between the two terms are of an ideological kind. The term free
software was embossed by Richard Stallmann and the GNU project, while the term open source
software was coined by Eric Raymond. Advocates of open source software can be seen as less
radical as the protectionists of free software: the open source software community regards the
issue whether software should be open source or not from a practical point of view. The free
software community regards the issue as an ethical question. Beside their disagreements both
communities have a common enemy: proprietary software.
FOSS has established a whole new basic approach on how software is developed. This
approach focuses on a distributed network of developers and users who communicate with
each other using the Internet to share thoughts, ideas and source code. Anyone interested can
take part in this movement. This differs from the commercial approach where the development
of software is done without comprising the users at all stages of the development. An in-depth
look at the new approach on software development is given in [Ray01].
Taking the users into account for the development is one of the biggest advantages of FOSS.
The users have a direct influence on the progress of the development by using the software and
giving feedback to the developers. This ensures that software malfunctions are found quickly,
and new features can be demanded by the users. Thus, the result of the developed software
corresponds to what the users need.
Compared to closed source, companies using FOSS projects enjoy their independence since
they do not depend on another company’s business practices—especially another company’s
price policy. Even if the development of a FOSS project bogs down, the source code is available
and another party can step into the project to support its development.
63