Databases Reference
In-Depth Information
9.1 Introduction
Nowadays, the approach of building large software systems by reusing pre-made
software components 1 is considered the standard way of developing software sys-
tems [ 9 ]. The main motivation is that systematic software reuse is like “avoiding
to re-invent the wheel”. Component-Based Software Development (CBSD) allows
companies to obtain faster adoption of new technology including standards, in-
creased innovation, and reduced costs and time-to-market [ 10 , 36 ].
In particular, the availability of Open Source Software (OSS) components has
greatly influenced the software development practices [ 20 , 23 ]. The evidence shows
for instance that from a sample of 769 companies 33 % “provide solutions which
are based on OSS” [ 11 ]. Moreover, 48 % of 62 software companies use OSS in their
business [ 42 ], and in a sample of 569 software companies, 46.8 % integrate OSS
in their software systems [ 25 ]. These software systems represent a great variety
of application areas from all major vertical sectors [ 25 ]. Also, Nokia claims that
as much as 75-98 % of the software architecture for its Internet tablet consists of
OSS [ 27 ].
However, reusing OSS components (and third party software in general) creates
challenges for their appropriate selection and proper integration, testing and main-
tenance [ 14 ]. In addition, licensing terms should be carefully addressed, especially
if an OSS-based system is going to be distributed or sold to the general market [ 26 ].
In this context there are two crucial activities that play a central role in the suc-
cess of the overall CBSD in the industry, namely selection of components and the
knowledge management strategies around the reused components [ 9 , 39 , 40 ]. Al-
though there has been a great body of research on component selection, evidence
shows that there is a limited knowledge about current industrial OSS selection prac-
tices. Thus, there is often a gap between theory and practice, and the proposed meth-
ods are hardly used in the industrial practice [ 28 , 34 , 44 ]. Furthermore, most of the
existing methods lack appropriate knowledge management and reuse mechanisms
[ 3 ]. As a consequence, software companies are still facing OSS component adop-
tion under considerable risk and uncertainty [ 8 , 9 , 29 ] and some of them are still
reluctant to arbitrate the risks and benefits of using OSS components.
Thus, focusing on industrial OSS component integrators, i.e., the implemen-
tor(s) in charge of selecting OSS components for their subsequent integration, we
performed a qualitative survey based on semi-structured interviews with compo-
nent integrators from 19 software-intensive organizations. The main goal of this
study is exploring and describing up-to-date industrial OSS selection practices.
The main findings from this initial work may help maturing OSS reuse practices,
since researchers and practitioners may use the evidence to understand the practical
challenges of OSS component selection, and properly align their efforts for facing
them. Furthermore, diverse actors related to the OSS component marketplace (e.g.,
1 “A software component is a unit of composition with contractually specified interfaces and ex-
plicit context dependencies only and can be composed according to a component model by third
party without modification [ 48 ]”.
Search WWH ::




Custom Search