A Quantitative Study of the Adoption of Design Patterns by Open Source Software Developers

Author(s):  
Michael Hahsler

Several successful projects (Linux, Free-BSD, BIND, Apache, etc.) showed that the collaborative and self-organizing process of developing open source software produces reliable, high quality software. Without doubt, the open source software development process differs in many ways from the traditional development process in a commercial environment. An interesting research question is how these differences influence the adoption of traditional software engineering practices. In this chapter we investigate how design patterns, a widely accepted software engineering practice, are adopted by open source developers for documenting changes. We analyze the development process of almost 1,000 open source software projects using version control information and explore differences in pattern adoption using characteristics of projects and developers. By analyzing these differences, we provide evidence that design patterns are an important practice in open source projects and that there exist significant differences between developers who use design patterns and who do not.

Author(s):  
Michael Hahsler

Several successful projects (Linux, Free-BSD, BIND, Apache, etc.) showed that the collaborative and self-organizing process of developing open source software produces reliable, high quality software. Without doubt, the open source software development process differs in many ways from the traditional development process in a commercial environment. An interesting research question is how these differences influence the adoption of traditional software engineering practices. In this chapter we investigate how design patterns, a widely accepted software engineering practice, are adopted by open source developers for documenting changes. We analyze the development process of almost 1,000 open source software projects using version control information and explore differences in pattern adoption using characteristics of projects and developers. By analyzing these differences, we provide evidence that design patterns are an important practice in open source projects and that there exist significant differences between developers who use design patterns and who do not.


2012 ◽  
Vol 4 (1) ◽  
pp. 37-59 ◽  
Author(s):  
Megan Squire

Artifacts of the software development process, such as source code or emails between developers, are a frequent object of study in empirical software engineering literature. One of the hallmarks of free, libre, and open source software (FLOSS) projects is that the artifacts of the development process are publicly-accessible and therefore easily collected and studied. Thus, there is a long history in the FLOSS research community of using these artifacts to gain understanding about the phenomenon of open source software, which could then be compared to studies of software engineering more generally. This paper looks specifically at how the FLOSS research community has used email artifacts from free and open source projects. It provides a classification of the relevant literature using a publicly-available online repository of papers about FLOSS development using email. The outcome of this paper is to provide a broad overview for the software engineering and FLOSS research communities of how other researchers have used FLOSS email message artifacts in their work.


Author(s):  
Pankaj Kamthan

The steady rise of open source software (OSS) (Raymond, 1999) over the last few decades has made a noticeable impact on many sectors of society where software has a role to play. As reflected from the frequency of media articles, traffic on mailing lists, and growing research literature, OSS has garnered much support in the software community. Indeed, from the early days of GNU software, to X Window System, to Linux and its utilities, and more recently the Apache Software Project, OSS has changed the way software is developed and used. As the deployment of OSS increases, the issue of its quality with respect to its stakeholders arises. We contend that the open source community collectively bears responsibility of producing “high-quality” OSS. Lack of quality raises various risks for organizations adopting OSS (Golden, 2004). This article discusses the manifestation of quality in open source software development (OSSD) from a traditional software engineering standpoint. The organization is as follows. We first outline the background and related work necessary for the discussion that follows, and state our position. This is followed by a detailed treatment of key software engineering practices that directly or indirectly impact the quality of OSS. Next, challenges and directions for future research are outlined and, finally, concluding remarks are given.


2002 ◽  
Vol 7 (3-4) ◽  
pp. 173-188 ◽  
Author(s):  
I. P. Antoniades ◽  
I. Stamelos ◽  
L. Angelis ◽  
G. L. Bleris

Author(s):  
Timothy C. Lethbridge

Umple is an open-source programming technology developed almost entirely by students, the majority of whom were working on it as their capstone project through a program called UCOSP. We describe our development process for Umple that has provided a rich educational experience for the students, while at the same time continually improving Umple’s quality. We also describe features of Umple that have been designed to facilitate its use in teaching software engineering.  


Author(s):  
Huaiwei Yang ◽  
Shuang Liu ◽  
Lin Gui ◽  
Yongxin Zhao ◽  
Jun Sun ◽  
...  

2021 ◽  
Vol 5 (CSCW1) ◽  
pp. 1-28
Author(s):  
R. Stuart Geiger ◽  
Dorothy Howard ◽  
Lilly Irani

Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


Sign in / Sign up

Export Citation Format

Share Document