Free and open source software development: the end of the teenage years (original) (raw)

Free/open source software development: recent research results and emerging opportunities

2007

The focus of this paper is to review what is known about free and open source software development (FOSSD) work practices, development processes, project and community dynamics, and other socio-technical relationships. It focuses on exploring how FOSS is developed and evolved based on an extensive review of a set of empirical studies of FOSSD projects that articulate different levels of analysis. These characterize what has been analyzed in FOSSD studies across levels that examine (i) why individuals participate; (ii) resources and capabilities supporting development activities; (iii) how cooperation, coordination, and control are realized in projects; (iv) alliance formation and inter-project social networking; (v) FOSS as a multi-project software ecosystem, and (vi) FOSS as a social movement. Next, there is a discussion of limitations and constraints in the FOSSD studies so far. Last, attention shifts to identifying emerging opportunities for future FOSSD studies that can give rise to the development of new software engineering tools or techniques, as well as to new empirical studies of software development.

Open Source Software Development

This article examines and reviews what is known so far about free/open source software development (FOSSD). FOSSD is not the same as software engineering as that is portrayed in common textbooks. Instead, it is a complementary approach to address the many challenges that arise in the development of complex software systems that are often built outside of a traditional corporate software development environment. This article highlights some of the basic understandings for how FOSSD works based on empirical studies of FOSSD projects, processes, and work practices in different communities. This includes identification of different types of informal online artifacts that facilitate and constrain FOSSD projects. This article also identifies what different studies examine as well as the approaches used to sample and systematically study FOSSD. Next, opportunities for constructive crossover studies of software engineering and FOSSD help reveal new directions for further research study. Finally, the last section presents limitations and conclusions regarding studies of FOSSD.

Free and Open Source Software Development and Research: Opportunities for Software Engineering

Free/Libre/Open Source Software (FLOSS) communities have produced a large amount of valuable software that is directly or indirectly used daily by any person with access to a computer. The field of Software Engineering studies processes, mechanisms, tools, and frameworks for the development of software artifacts. Historically, however, most of Software Engineering research and education does not benefit from the large and rich source of data and experimental testbeds offered by FLOSS projects and their hundreds of millions of lines of working code. In this paper, we discuss how Software Engineering research and education can greatly benefit from the wealth of information available in the FLOSS ecosystem. We then evaluate how FLOSS has been used, up to now, by papers published in the Brazilian Symposium on Software Engineering. Finally, we present an agenda for the future, proposing concrete ways to exploit the synergies between research and education in Software Engineering and FLOSS projects.

The 3rd workshop on open source software engineering

25th International Conference on Software Engineering, 2003. Proceedings., 2003

Despite the remarkable success of open source software, there are a number of challenges to collaboration in open source software development, in particular, with respect to supporting collaboration among developers, supporting potential contributors, and in bringing users and developers together. In this paper, we examine some of the possible enhancements of open source development environments, and consider the application of Semantic Web technology to address these. challenges of collaboration in open source software environments. 2. Open source challenges While open source practices and tools have been remarkably successful, we believe there are several areas where there are opportunities for improvement: supporting collaboration among subsets of developers, supporting new developers, and supporting the broader user community by heightening awareness of the needs of non-developer users. 2.1. Collaboration Software development is a closely-coupled activity, often with tight integration and interdependencies between modules, and therefore requires a substantial amount of coordination and communication between developers [10] if they are to collaborate on features. Geographically distributed collaborative work, on the other hand, tends to result in significantly reduced communication between team members [1, 12]. One of the biggest needs in distance collaboration is for more awareness of the activities of developers at remote sites. The lack of awareness stems both from reduced communication and from missing contextual information, which is naturally and implicitly shared in co-located contexts, but is difficult to obtain in distributed work. In general, unlike their counterparts in commercial environments, most open source software developers work relatively independently of one another, which makes it difficult to add substantial new features requiring close coordination among a team. This tension between the needs and the capabilities of distributed software development environments leads, in commercial development, to misunderstanding, miscommunication and coordination problems during integration [9]. Improved collaborative capabilities might allow developers to work together more effectively. Another problem in geographically distributed developments is the difficulty in finding and consulting experts at remote locations. For 'uncertain' projects, informal communication has been found to be particularly important [13]. Open source software projects almost epitomize uncertain projects, since the objectives and trajectory of the project are often ill-specified. However, informal communication is nearly absent in open source communities. In commercial environments, this appears to cause development to take much longer when it is split across sites [10]. Fostering social interaction and supporting the social structures within the open source software community would encourage informal communication and provide a context for community members to interact and share information [6]. 2.2. Support for new developers Open source software project websites are primarily tailored to meet the needs of core developers. New or 'peripheral' developers, who would like to contribute to a project, are in the unenviable position of having to understand a part of the project well enough to contribute, without the mentoring that would take place in co-located contexts and with little support in the form of documentation, tutorials or guides. Some of the larger projects, such as Mozilla and Apache Cocoon [18], do invest effort into providing documentation of code and community procedures to an extent. However, the creation and maintenance of this documentation requires more resources than most open source projects can afford. Furthermore, often new developers have to not only understand the code, but also the community, practices, and culture of that particular open source software project, which can vary considerably from project to project. Making the social networks of the community apparent would help new developers understand the culture and community they want to contribute to and ease their initiation.

Towards a Global Research Infrastructure for Multidisciplinary Study of Free/Open Source Software Development

IFIP – The International Federation for Information Processing, 2008

The Free/Open Source Software (F/OSS) research community is growing across and within multiple disciplines. This community faces a new and unusual situation. The traditional difficulties of gathering enough empirical data have been replaced by issues of dealing with enormous amounts of freely available public data from many disparate sources (online discussion forums, source code directories, bug reports, OSS Web portals, etc.). Consequently, these data are being discovered, gathered, analyzed, and used to support multidisciplinary research. However at present, no means exist for assembling these data under common access points and frameworks for comparative, longitudinal, and collaborative research across disciplines. Gathering and maintaining large F/OSS data collections reliably and making them usable present several research challenges. For example, current projects usually rely on direct access to, and mining of raw data from groups that generate it, and both of these methods require unique effort for each new corpus, or even for updating existing corpora. In this paper, we identify several needs and critical factors in F/OSS empirical research across disciplines, and suggest recommendations for design of a global research infrastructure for multi-disciplinary research into F/OSS development.

18 DEVELOPING OPEN SOURCE SOFTWARE: A Community-Based Analysis of Research

2014

Open source software (OSS) creates the potential for the inclusion of large and diverse communities in every aspect of the software development and consumption life cycle. However, despite 6 years of effort by an ever growing research community, we still don’t know exactly what we do and don’t know about OSS, nor do we have a clear idea about the basis for our knowledge. This paper presents an analysis of 155 research artefacts in the area of open source software. The purpose of the study is to identify the kinds of open source project communities that have been researched, the kinds of research questions that have been asked, and the methodologies used by researchers. Emerging from the study is a clearer understanding of what we do and don’t know about open source software, and recommendations for future research efforts 1

Understanding the Social, Technological, and Public Policy Implications of Open Source Software Development Position paper

Interest in open source software has emerged in many different communities. Much of this interest has focused attention primarily onto the products of open software development (source code), and secondarily onto the processes and productive units that facilitate such development. My research is focused to understanding the processes, practices, and communities that give rise to open source software. My research group is studying the role of software informalisms (vs. formalisms and standards found in software engineering), (b) the emergence and articulation of open software requirements, (c) the forms and constituencies of the social worlds of open software, and (d) other processes and practices across multiple open software development communities . I am prepared to discuss our results, work in progress, and the need for further research on all of these topics. However, the remainder of this position paper identifies what I believe are areas, topics, or basic questions requiring further research in the arena of open source software development and how it may impinge on government policies. These follow in an unordered manner.

Results from software engineering research into open source development projects using public data

2000

This paper presents first results from research into open source projects from a software engineering perspective. The research methodology employed relies on public data retrieved from the CVS-repository of the GNOME project and relevant discussion groups. This methodology is described in detail and some of the results concerning the special characteristics of open source software development are given.(author's abstract)

Towards a National Research Infrastructure for Multidisciplinary Empirical Study of Free/Open Source Software Development

The Free/Open Source Software (F/OSS) research community is growing across and within multiple disciplines. This community faces a new and unusual situation. The traditional difficulties of gathering enough empirical data have been replaced by issues of dealing with enormous amounts of freely available public data from many disparate sources (online discussion forums, source code directories, bug reports, OSS Web portals, etc.). Consequently, these data are being discovered, gathered, analyzed, and used to support multidisciplinary research. However at present, no means exist for assembling these data under common access points and frameworks for comparative, longitudinal, and collaborative research across disciplines. Gathering and maintaining large F/OSS data collections reliably and making them usable present several research challenges. For example, current projects usually rely on direct access to, and mining of raw data from groups that generate it, and both of these methods r...