posted on 2023-02-22, 09:46authored byKlaas-Jan Stol
THERE ARE VARIOUS scenarios for a software development organisation to adopt Open Source Software (OSS). One scenario is the adoption of OSS products in order to integrate them as components into a final
software product. Another scenario is the adoption of OSS development
practices within the confines of an organisation; this is called “Inner
Source”. In both cases, the software product that is developed is used in
component-based software development (CBSD) to build large-scale products. Also, in both cases, such software is developed by a
“community”, or using Raymond’s metaphor, in a “bazaar”. In the first case, the bazaar is external, and in the second case the bazaar is internal to the organisation.
Both scenarios have been reported as providing benefit to organisations. However, little research has been conducted to identify and document the challenges that practitioners may encounter in these two
scenarios. The research in this thesis is divided into two strands, one for
each scenario. The first research strand consists of a systematic identification of
challenges in using OSS in product development. One of the most frequently reported challenges is the evaluation and selection of components. This was followed by an analysis of existing OSS evaluation
methods proposed so far. These methods seem to pay little attention to a product’s software architecture, which has been identified as a critical success factor in CBSD. To gain insight whether or not practitioners are, in fact, interested in architectural knowledge (AK) of an OSS product, an empirical survey was conducted. One of the findings was that practitioners are interested in certain cases in a component’s architectural patterns. Since there exists no guidance to identify architectural patterns (as opposed to design patterns), the thesis proposes a process to guide the task of identifying architectural patterns in an OSS product.
The research continued by investigating the second scenario, which is Inner Source. This strand of research started with an
investigation of challenges at an Inner Source organisation. These challenges were categorised and compared to the challenges identified for the external bazaar. This was followed by a literature-based framework
that an organisation may use to assess its fit with Inner Source. In summary, by identifying and documenting challenges and
needs, and by proposing guidance to practitioners, the contributions of
this thesis support product development with software from the bazaar.