Developing Software with Open Source Software Components

The success of Component-Based Software Development is based on the ability of an implementer team to select, assemble and integrate third-party and other components with own application software, in order to create a software system that satisfies (most of) the customer/client’s stated needs in an economic and flexible way. Nowadays, the reuse of Open Source Software (OSS) components available from the Internet is playing a strategic role in the industry. This chapter aims at providing empirical evidence on current industrial OSS selection practices based on semi-structured interviews performed in 17 European organizations. In particular, the study tackles the following activities: (1) initial identification of available OSS components, (2) closer evaluation of the identified components, (3) conclusive decision-making of the chosen ones, and (4) updating of OSS-relevant experience and knowledge for the actual company. For simplicity we have omitted system-wide integration and testing activities. The results of this study ought to be valuable not just for researchers, as a sobering basis in their quest for practical selection methods; but also for practitioners that regularly drive OSS selection processes with potential to learn from other colleagues’ work.

[1]  Andrea Bonaccorsi,et al.  How is it possible to profit from innovation in the absence of any appropriability? , 2006, OSS.

[2]  Reidar Conradi,et al.  election of third party software in Off-The-Shelf-based software evelopment — An interview study with industrial practitioners , 2010 .

[3]  Victor R. Basili,et al.  Empirically driven SE research: state of the art and required maturity , 2006, ICSE '06.

[4]  Daniel Sundmark,et al.  Reuse with Software Components - A Survey of Industrial State of Practice , 2009, ICSR.

[5]  Sajjad Mahmood,et al.  Survey of component-based software development , 2007, IET Softw..

[6]  Alejandra Cechich,et al.  Trends on COTS component identification , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[7]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[8]  A. Finkelstein,et al.  Software package requirements and procurement , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[9]  Tharam S. Dillon,et al.  Towards an Ontology for Open Source Software Development , 2006, OSS.

[10]  Lorraine Morgan,et al.  Benefits and Drawbacks of Open Source Software: An Exploratory Study of Secondary Software Firms , 2007, OSS.

[11]  Cristina V. Lopes,et al.  Archetypal Internet-Scale Source Code Searching , 2008, OSS.

[12]  Behrouz Homayoun Far,et al.  Repositories for Cots Selection , 2006, 2006 Canadian Conference on Electrical and Computer Engineering.

[13]  Veikko Seppänen,et al.  COTS component acquisition in an emerging market , 2004, IEEE Software.

[14]  Alberto Sillitti,et al.  Selecting components in large COTS repositories , 2004, J. Syst. Softw..

[15]  Brian Fitzgerald,et al.  The Transformation of Open Source Software , 2006, MIS Q..

[16]  Claudia P. Ayala Systematic Construction of Goal-Oriented COTS Taxonomies , 2006, CAiSE.

[17]  Marco Torchiano,et al.  A State-of-the-Practice Survey of Risk Management in Development with Off-the-Shelf Software Components , 2008, IEEE Transactions on Software Engineering.

[18]  Antonio Vallecillo,et al.  Measuring the usability of software components , 2006, J. Syst. Softw..

[19]  Anna Syberfeldt,et al.  Practitioner perceptions of Open Source software in the embedded systems area , 2011, J. Syst. Softw..

[20]  Rosalva E. Gallardo-Valencia,et al.  Internet-Scale Code Search , 2009, 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation.

[21]  Armin Eberlein,et al.  COTS Selection: Past, Present, and Future , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[22]  Zhongjie Wang,et al.  A Survey of Business Component Identification Methods and Related Techniques , 2008 .

[23]  Reidar Conradi,et al.  An empirical study on software development with open source components in the chinese software industry , 2008 .

[24]  Ivica Crnkovic,et al.  COTS Selection Best Practices in Literature and in Industry , 2008, ICSR.

[25]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[26]  Bernard Golden,et al.  Succeeding with Open Source , 2004 .

[27]  Andrea Bonaccorsi,et al.  Comparing motivations of individual programmers and firms to take part in the open source movement: From community to business , 2006 .

[28]  Claudia Patricia,et al.  Systematic construction of goal-oriented COTS taxonomies , 2008 .

[29]  Thomas Wieland,et al.  Evaluation criteria for free/open source software products based on project analysis , 2006, Softw. Process. Improv. Pract..

[30]  Reidar Conradi,et al.  Adoption of Open Source in the Software Industry , 2008, OSS.

[31]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[32]  A. Bonaccorsi,et al.  Comparing Motivations of Individual Programmers and Firms to Take Part in the Open Source Movement. From Community to Business , 2006 .

[33]  Janne Merilinna,et al.  State of the art and practice of open source component integration , 2006 .

[34]  Rajendra M. Sonar,et al.  Evaluating and selecting software packages: A review , 2009, Inf. Softw. Technol..

[35]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[36]  Marco Torchiano,et al.  Overlooked aspects of COTS-based development , 2004, IEEE Software.

[37]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[38]  Maurizio Morisio,et al.  COTS-based software development: Processes and open issues , 2002, J. Syst. Softw..

[39]  J. Overhage,et al.  Sorting Things Out: Classification and Its Consequences , 2001, Annals of Internal Medicine.

[40]  Ari Jaaksi,et al.  Experiences on Product Development with Open Source Software , 2007, OSS.

[41]  Ej Iversen Knowledge, Technology and Policy , 2004 .

[42]  A. Finkelstein,et al.  Software Package Requirements & Procurement , 1996 .

[43]  James D. Herbsleb,et al.  Addressing Challenges to Open Source Collaboration With the Semantic Web , 2003 .

[44]  Raphaël Semeteys,et al.  Method for Qualification and Selection of Open Source Software , 2008 .

[45]  Slinger Jansen,et al.  Pragmatic and Opportunistic Reuse in Innovative Start-up Companies , 2008, IEEE Software.

[46]  Reidar Conradi,et al.  Challenges of the Open Source Component Marketplace in the Industry , 2009, OSS.

[47]  Sandro Morasca,et al.  Quality of Open Source Software: The QualiPSo Trustworthiness Model , 2009, OSS.

[48]  Reidar Conradi,et al.  Adoption of open source software in software-intensive organizations - A systematic literature review , 2010, Inf. Softw. Technol..

[49]  Jørgen Bøegh Certifying software component attributes , 2006, IEEE Software.

[50]  Marco Torchiano,et al.  Development with Off-the-Shelf Components: 10 Facts , 2009, IEEE Software.

[51]  Sven Overhage,et al.  On Component Identification Approaches - Classification, State of the Art, and Comparison , 2009, CBSE.

[52]  Peyman Oreizy,et al.  Reuse of off-the-shelf components in C2-style architectures , 1997, ICSE '97.

[53]  Sihem Ben Sassi,et al.  MoReCOTS: a specialized search engine for COTS components on the Web , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[54]  Linda Shields,et al.  Content Analysis , 2015 .

[55]  Marcus Ciolkowski,et al.  Towards a Comprehensive Approach for Assessing Open Source Projects , 2008, IWSM/Metrikon/Mensura.