Software Reuse in Open Source

2011 ◽  
Vol 3 (3) ◽  
pp. 10-35 ◽  
Author(s):  
Andrea Capiluppi ◽  
Klaas-Jan Stol ◽  
Cornelia Boldyreff

A promising way to support software reuse is based on Component-Based Software Development (CBSD). Open Source Software (OSS) products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the “reuse mechanism”: many OSS projects duplicate effort, for instance when many projects implement a similar system in the same application domain and in the same topic. One successful counter-example is the FFmpeg multimedia project; several of its components are widely and consistently reused in other OSS projects. Documented is the evolutionary history of the various libraries of components within the FFmpeg project, which presently are reused in more than 140 OSS projects. Most use them as black-box components; although a number of OSS projects keep a localized copy in their repositories, eventually modifying them as needed (white-box reuse). In both cases, the authors argue that FFmpeg is a successful project that provides an excellent exemplar of a reusable library of OSS components.


Author(s):  
Andrea Capiluppi ◽  
Klaas-Jan Stol ◽  
Cornelia Boldyreff

A promising way to support software reuse is based on Component-Based Software Development (CBSD). Open Source Software (OSS) products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the “reuse mechanism”: many OSS projects duplicate effort, for instance when many projects implement a similar system in the same application domain and in the same topic. One successful counter-example is the FFmpeg multimedia project; several of its components are widely and consistently reused in other OSS projects. Documented is the evolutionary history of the various libraries of components within the FFmpeg project, which presently are reused in more than 140 OSS projects. Most use them as black-box components; although a number of OSS projects keep a localized copy in their repositories, eventually modifying them as needed (white-box reuse). In both cases, the authors argue that FFmpeg is a successful project that provides an excellent exemplar of a reusable library of OSS components.



2014 ◽  
pp. 1900-1926
Author(s):  
Andrea Capiluppi ◽  
Klaas-Jan Stol ◽  
Cornelia Boldyreff

A promising way to support software reuse is based on Component-Based Software Development (CBSD). Open Source Software (OSS) products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the “reuse mechanism”: many OSS projects duplicate effort, for instance when many projects implement a similar system in the same application domain and in the same topic. One successful counter-example is the FFmpeg multimedia project; several of its components are widely and consistently reused in other OSS projects. Documented is the evolutionary history of the various libraries of components within the FFmpeg project, which presently are reused in more than 140 OSS projects. Most use them as black-box components; although a number of OSS projects keep a localized copy in their repositories, eventually modifying them as needed (white-box reuse). In both cases, the authors argue that FFmpeg is a successful project that provides an excellent exemplar of a reusable library of OSS components.





2016 ◽  
Vol 3 (1) ◽  
pp. 107-128
Author(s):  
Syed Nadeem Ahsan ◽  
Muhammad Tanvir Afzal ◽  
Safdar Zaman ◽  
Christian Gütel ◽  
Franz Wotawa

During the evolution of any software, efforts are made to fix bugs or to add new features in software. In software engineering, previous history of effort data is required to build an effort estimation model, which estimates the cost and complexity of any software. Therefore, the role of effort data is indispensable to build state-of-the-art effort estimation models. Most of the Open Source Software does not maintain any effort related information. Consequently there is no state-of-the-art effort estimation model for Open Source Software, whereas most of the existing effort models are for commercial software. In this paper we present an approach to build an effort estimation model for Open Source Software. For this purpose we suggest to mine effort data from the history of the developer’s bug fix activities. Our approach determines the actual time spend to fix a bug, and considers it as an estimated effort. Initially, we use the developer’s bug-fix-activity data to construct the developer’s activity log-book. The log-book is used to store the actual time elapsed to fix a bug. Subsequently, the log-book information is used to mine the bug fix effort data. Furthermore, the developer’s bug fix activity data is used to define three different measures for the developer’s contribution or expertise level. Finally, we used the bug-fix-activity data to visualize the developer’s collaborations and the involved source files. In order to perform an experiment we selected the Mozilla open source project and downloaded 93,607 bug reports from the Mozilla project bug tracking system i.e., Bugzilla. We also downloaded the available CVS-log data from the Mozilla project repository. In this study we reveal that in case of Mozilla only 4.9% developers have been involved in fixing 71.5% of the reported bugs.



2022 ◽  
Author(s):  
Georges Labrèche ◽  
David Evans ◽  
Dominik Marszk ◽  
Tom Mladenov ◽  
Vasundhara Shiradhonkar ◽  
...  


Author(s):  
Brian Still

This chapter serves as an introductory overview of Open Source Software (OSS) and the Open Source movement. It is geared primarily for technical communicators. To provide a thorough overview, this chapter defines OSS, explains how OSS works in comparison to proprietary software, looks at the history of OSS, and examines OSS licensing types, applications in business, and overall strengths and weaknesses when compared to proprietary software. Lastly, it evaluates the practical potential of OSS as well as emerging and future trends relating to it. From this general but thorough overview the intended audience of technical communicators will gain the solid understanding needed to work successfully in an academic or professional environment where OSS continues to grow in popularity, spurring more organizations to rely on it or the Open Source ideas that have inspired and continue to drive its creation and growth.



Author(s):  
Dilek Karahoca ◽  
Adem Karahoca ◽  
Ilker Yengin ◽  
Huseyin Uzunboylu

This chapter explains the developmental reasons and design to implementation cycles of the Computer Assisted Active Learning System (CALS) for History of Civilization (HOC) courses at Engineering Faculty of Bahcesehir University. Implementation purpose of CALS is to develop set of tools in a systematic way to enhance students’ critical thinking abilities for HOC courses. Dynamic meta-cognitive maps, movies, flash cards and quiz tools were developed. In order to reduce implementation costs of CALS, open Free and Open Source Software (FOSS) standards and platforms were utilized in the development and implementation cycles. This study also investigates the importance of the e-learning platform usage in HOC courses in Engineering Faculty of Bahcesehir University to improve the level of students. Results indicate that the concept based meta-cognitive tool improves learning instead of students just memorizing the class material. Also, engineering students improved their positive attitude towards who wants to learn the history of civilization by using CALS. This study shows that software helps to change human behavior in the learning cycle. This chapter highlights the implications of successful development of FOSS for the CALS.



2012 ◽  
Vol 3 (2) ◽  
pp. 1-5
Author(s):  
Ken Hartness

Although open source software has existed, in a sense, throughout the history of computing, it has only more recently become recognized as a valid means of producing professional-quality software. Although primarily conceived as a zero-cost alternative to commercial software, open source software also supports customization and verification as a result of the software being available to all users in human-readable form. The availability of free software supports both researchers with limited budgets and those who seek to confirm the findings of researchers or use similar methods in related research.



Author(s):  
Alexander Lampropoulos ◽  
Apostolos Ampatzoglou ◽  
Stamatia Bibi ◽  
Alexander Chatzigeorgiou ◽  
Ioannis Stamelos


2020 ◽  
Vol 21 (1) ◽  
Author(s):  
Sven D. Schrinner ◽  
Rebecca Serra Mari ◽  
Jana Ebler ◽  
Mikko Rautiainen ◽  
Lancelot Seillier ◽  
...  

Abstract Resolving genomes at haplotype level is crucial for understanding the evolutionary history of polyploid species and for designing advanced breeding strategies. Polyploid phasing still presents considerable challenges, especially in regions of collapsing haplotypes.We present WhatsHap polyphase, a novel two-stage approach that addresses these challenges by (i) clustering reads and (ii) threading the haplotypes through the clusters. Our method outperforms the state-of-the-art in terms of phasing quality. Using a real tetraploid potato dataset, we demonstrate how to assemble local genomic regions of interest at the haplotype level. Our algorithm is implemented as part of the widely used open source tool WhatsHap.



Sign in / Sign up

Export Citation Format

Share Document