Exploring Factors and Measures to Select Open Source Software

[Context] Open Source Software (OSS) is nowadays used and integrated in most of the commercial products. However, the selection of OSS projects for integration is not a simple process, mainly due to a of lack of clear selection models and lack of information from the OSS portals. [Objective] We investigated the current factors and measures that practitioners are currently considering when selecting OSS, the source of information and portals that can be used to assess the factors, and the possibility to automatically get this information with APIs. [Method] We elicited the factors and the measures adopted to assess and compare OSS performing a survey among 23 experienced developers who often integrate OSS in the software they develop. Moreover, we investigated the APIs of the portals adopted to assess OSS extracting information for the most starred 100K projects in GitHub. [Result] We identified a set consisting of 8 main factors and 74 subfactors, together with 170 related metrics that companies can use to select OSS to be integrated in their software projects. Unexpectedly, only a small part of the factors can be evaluated automatically, and out of 170 metrics, only 40 are available, of which only 22 returned information for all the 100K projects. [Conclusion.] OSS selection can be partially automated, by extracting the information needed for the selection from portal APIs. OSS producers can benefit from our results by checking if they are providing all the information commonly required by potential adopters. Developers can benefit from our results, using the list of factors we selected as a checklist during the Email addresses: xiaozhou.li@tuni.fi (Xiaozhou Li*), sergio.moreschini@tuni.fi (Sergio Moreschini*), zheying.zhang@tuni.fi (Zheying Zhang), davide.taibi@tuni.fi (Davide Taibi) Preprint submitted to Information and Software Technology February 22, 2021 ar X iv :2 10 2. 09 97 7v 1 [ cs .S E ] 1 9 Fe b 20 21 selection of OSS, or using the APIs we developed to automatically extract the data from OSS projects.

[1]  Gregorio Robles,et al.  Remote analysis and measurement of libre software systems by means of the CVSAnalY tool , 2004, ICSE 2004.

[2]  Hridesh Rajan,et al.  Boa: Ultra-Large-Scale Software Repository and Source-Code Mining , 2015, ACM Trans. Softw. Eng. Methodol..

[3]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[4]  Hridesh Rajan,et al.  Boa: A language and infrastructure for analyzing ultra-large-scale software repositories , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[5]  Christoph Treude,et al.  Twenty Years of Open Source Software: From Skepticism to Mainstream , 2019, IEEE Softw..

[6]  Sandro Morasca,et al.  The QualiSPo approach to OSS product quality evaluation , 2010, FLOSS '10.

[7]  Terese Besker,et al.  An Overview and Comparison of Technical Debt Measurement Tools , 2021, IEEE Software.

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

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

[10]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[11]  Francesca Arcelli Fontana,et al.  Towards an Architectural Debt Index , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[12]  Sandro Morasca,et al.  OpenBQR: a framework for the assessment of OSS , 2007, OSS.

[13]  P. Sedgwick Convenience sampling , 2013, The SAGE Encyclopedia of Research Design.

[14]  Sihem Ben Sassi,et al.  Exploring information from OSS repositories and platforms to support OSS selection decisions , 2018, Inf. Softw. Technol..

[15]  Magiel Bruntink An Initial Quality Analysis of the Ohloh Software Evolution Data , 2014, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[16]  Roberto Di Cosmo,et al.  Software Heritage: Why and How to Preserve Software Source Code , 2017, iPRES.

[17]  Georgios Gousios,et al.  The GHTorent dataset and tool suite , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[18]  Sandro Morasca,et al.  A Study on OSS Marketing and Communication Strategies , 2012, OSS.

[19]  Daniel Izquierdo-Cortazar,et al.  FLOSSMetrics: Free/Libre/Open Source Software Metrics , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[20]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[21]  Qian Xu,et al.  OSSpal: Finding and Evaluating Open Source Software , 2017, OSS.

[22]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[23]  Shuichi Takayama,et al.  Studying the Cost and Effectiveness of OSS Quality Assessment Models: An Experience Report of Fujitsu QNET , 2018, IEICE Trans. Inf. Syst..

[24]  Tommi Mikkonen,et al.  How the Cathedral Embraced the Bazaar, and the Bazaar Became a Cathedral , 2020, OSS.

[25]  Slinger Jansen,et al.  Measuring the health of open source software ecosystems: Beyond the scope of project health , 2014, Inf. Softw. Technol..

[26]  Davide Taibi,et al.  Open Source Software Evaluation, Selection, and Adoption: a Systematic Literature Review , 2020, 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[27]  Alberto Sillitti,et al.  Introducing the OpenSource Maturity Model , 2009, 2009 ICSE Workshop on Emerging Trends in Free/Libre/Open Source Software Research and Development.

[28]  Davide Taibi,et al.  An Empirical Investigation on the Motivations for the Adoption of Open Source Software , 2015, ICSEA 2015.

[29]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[30]  Davide Spadini,et al.  PyDriller: Python framework for mining software repositories , 2018, ESEC/SIGSOFT FSE.