State of the art and practice of open source component integration

The open source software (OSS) development approach has become a remarkable option to consider for cost-efficient, high quality software development. Utilizing OSS as part of an in-house software application requires the software company to take the role of a component integrator. In addition, integrating OSS as part of in-house software has a few differences compared to integrating closed source software and in-house software, such as access to source code and the fact that OSS evolves differently than closed source software. This paper describes the current state of the art and practice of open source integration techniques. The main observations are that the lack of documentation and heterogeneity of platforms are problems that neither the state of the art or practice could solve. In addition, although literature provides techniques and methods for predicting and solving both architecture and component level integration problems, these were not used in practice. Instead, companies relied on experience and rules of thumb.

[1]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[2]  Thomas A. Henzinger,et al.  Interface Compatibility Checking for Software Modules , 2002, CAV.

[3]  Leigh A. Davis,et al.  A notation for problematic architecture interactions , 2001, ESEC/FSE-9.

[4]  Leigh A. Davis,et al.  The impact of component architectures on interoperability , 2002, J. Syst. Softw..

[5]  Giancarlo Succi,et al.  An empirical study of open-source and closed-source software products , 2004, IEEE Transactions on Software Engineering.

[6]  Scott P. Muir An introduction to the open source software issue , 2005, Libr. Hi Tech.

[7]  Ying-Dar Lin,et al.  Open Source Software Development: An Overview , 2001, Computer.

[8]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[9]  Leigh A. Davis,et al.  Conflict Patterns: Toward Identifying Suitable Middleware , 2001, IRI.

[10]  Christof Ebert,et al.  Using open source software in product development: a primer , 2004, IEEE Software.

[11]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[12]  Kouichi Kishida,et al.  Evolution patterns of open-source software systems and communities , 2002, IWPSE '02.

[13]  Ioannis Stamelos,et al.  Open source software development should strive for even greater code maintainability , 2004, CACM.

[14]  Eila Niemelä,et al.  Practical Evaluation of Software Product Family Architectures , 2004, SPLC.

[15]  R. Keshav,et al.  Towards a taxonomy of architecture integration strategies , 1998, ISAW '98.

[16]  Hans Toetenel,et al.  Embedded Software Engineering: The State of the Practice , 2003, IEEE Softw..

[17]  Michelle Levesque,et al.  Fundamental issues with open source software development , 2004, First Monday.

[18]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[19]  Olivier Berger,et al.  Why and how to contribute to libre software when you integrate them into an in-house application ? , 2005 .