Software Development and Coordination Tools in Open Source Communities

Author(s):  
Ruben van Wendel de Joode ◽  
Hans de Bruijn ◽  
Michel van Eeten

Open source communities bring together a dispersed collection of people, sometimes a large number of them, around the development of open source software. In the absence of enforceable formal structures, like those found in corporate settings, how are the activities of all these participants coordinated? From the outside looking in, it may seem that chaos and disorder rule. It is true that most decisions are made on an individual basis by the participants themselves. Nevertheless, work is coordinated successfully. We first discuss mechanisms that reduce the need for coordination— most notably by striving for modularity and elegance. We then turn to a number of mechanisms that provide coordination even under the difficult conditions that are present in open source communities. We conclude by outlining a number of potential steps for future research.

Author(s):  
Ruben van Wendel de Joode ◽  
Sebastian Spaeth

Most open source software is developed in online communities. These communities are typically referred to as “open source software communities” or “OSS communities.” In OSS communities, the source code, which is the human-readable part of software, is treated as something that is open and that should be downloadable and modifiable to anyone who wishes to do so. The availability of the source code has enabled a practice of decentralized software development in which large numbers of people contribute time and effort. Communities like Linux and Apache, for instance, have been able to connect thousands of individual programmers and professional organizations (although most project communities remain relatively small). These people and organizations are not confined to certain geographical places; on the contrary, they come from literally all continents and they interact and collaborate virtually.


2019 ◽  
Vol 5 (1) ◽  
Author(s):  
Malvika Rao ◽  
Georg J P Link ◽  
Don Marti ◽  
Andy Leak ◽  
Rich Bodo

Abstract The security of software is becoming increasingly important. Open source software forms much of our digital infrastructure. It, however, contains vulnerabilities which have been exploited, attracted public attention, and caused large financial damages. This article proposes a solution to shortcomings in the current economic situation of open source software development. The main idea is to introduce price signals into the peer production of software. This is achieved through a trading market for futures contracts on the status of software issues. Users, who value secure software, gain the possibility to predict outcomes and incentivize work, strengthening collaboration and information sharing in open source software development. The design of such a trading market is discussed and a prototype introduced. The feasibility of the trading market design is corroborated in a proof-of-concept implementation and simulation. Preliminary results show that the implementation works and can be used for future experiments. Several directions for future research result from this article, which contributes to peer production, software development practices, and incentives design.


10.28945/4516 ◽  
2020 ◽  
Author(s):  
Christine Bakke

Aim/Purpose: To examine crowd-sourced programming as an experiential learning, instructional medium. The goal is to provide real-time, real-world, artificial intelligence programming without textbook instructional materials. Background: Open source software has resulted in loosely knit communities of global software developers that work together on a software project. Taking open source software development to another level, current trends have expanded into crowd sourced development of Artificial Intelligence (AI). This project explored the use of Amazon Alexa’s tools and web resources to learn AI software development. Methodology: This project incorporated experiential and inquiry educational methods that combined direct experience with crowd-sourced programming while requiring students to take risks, solve problems, be creative, make mistakes and resolve them. The instructor facilitated the learning experience through weekly meetings and structured reports that focused on goal setting and analysis of problems. This project is part of ongoing research into small group creative works research that provides students with real-world coding experience. Contribution: Undergraduate students successfully programmed an introductory level social bot using experiential learning methods and a crowd-sourced programming project (Amazon Alexa social bot). Findings: A of the experience and findings will be included with final paper release summary Recommendations for Practitioners: Crowd sourced programming provides opportunities and can be harnessed for semester long coding projects to develop student programming skills through direct involvement in real open sourced projects. Recommendation for Researchers: There is a high rate of failure associated with software projects, yet pro-gramming courses continue to be taught as they have been for decades. More research needs to be done and instructional materials developed for the undergraduate level that use real programming projects. Can we improve the rate of success for software projects by requiring expe-riential education in our courses? Impact on Society: Crowd-sourced programming is an opportunity for students to learn to program and build their portfolio with real world experience. Students participating in crowd-sourced programming are involved in creative works research and gain experience developing real-world software. Future Research: Future research will explore experiential learning such as crowd-sourced and other open source programming opportunities for undergraduate students to participate in real software development.


Sign in / Sign up

Export Citation Format

Share Document