An open source software selection process and a case study
MetadataShow full item record
In this study, I design an empirical open source software selection process, which reuses some ideas from Commercial Off-the-Shelf selection methods and addresses the characteristics of the open source software. Basically, it consists of three basic steps: identification, screening and evaluation. The identification step is to find all possible alternatives to open source software that can meet the high level requirements. The next step is screening, in which the refined requirements are applied to filter the alternatives. The evaluation step is based on the Analytic Hierarchy Process, in which the alternatives are inspected from functional suitability, source code, support strength and popularity. In more detail, under functionality suitability criterion, alternatives to open source software are evaluated in viewing of how much functionality can fit in with the functional user requirements. The source code of the alternatives is evaluated from six criteria: programming language, code size, code comment, code intra-module complexity and code inter-module complexity. The evaluation of support strength depends on the evaluation of field support and support resources. The field support includes commercial support and community support. The community support specifically refers to the direct responses from the community to the support requests. Aside from field support, open source software projects also provide various support-related resources such as, documents, wiki, blog, etc. To determine the popularity of the alternatives, I evaluate them from software use, development participation and web popularity. In the case study, I utilize the process to select the best open source unified modeling language tool from the ten alternatives for the software development process. After the screening phase, the four competitive alternatives, BOUML, ArgoUML, UMLet and Violet, are evaluated from functionality, source code, support strength and popularity criteria. The evaluation result indicates that ArgoUML is the best tool for the requirement. The case study demonstrates the effectiveness of the selection process. Various important attributes of open source software are taken into consideration systematically and the final decision is reached based on comprehensive investigation and analysis. The process provides an operable solution to the open source selection problem in practice.