Collaborative software development model
Encyclopedia
The Collaborative software development model is a style of software development whose focus is on public availability and communication, usually via the Internet
.The software development model began widespread adoption with the Linux kernel
in 1991.
. It is very compatible with free software because free software projects publish the source code
of any published programs, so they do not have the secrecy reason for hiding their communications and in-progress development.
This development model is detailed examined by Eric Raymond in his book The Cathedral and the Bazaar
where he compares it to a Bazaar model usually followed by hierarchic organizations.
of software changes and commits is possible under the collaborative development model. This has been summarised by Raymond in what he terms Linus's Law
: many eyeballs make all bugs shallow.
However, the extent that such peer review actually occurs is disputed.
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
.The software development model began widespread adoption with the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
in 1991.
Collaborative software development and free software
It is the dominant model used in development of free softwareFree software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
. It is very compatible with free software because free software projects publish the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
of any published programs, so they do not have the secrecy reason for hiding their communications and in-progress development.
This development model is detailed examined by Eric Raymond in his book The Cathedral and the Bazaar
The Cathedral and the Bazaar
The Cathedral and the Bazaar is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. It examines the struggle between top-down and bottom-up design...
where he compares it to a Bazaar model usually followed by hierarchic organizations.
Peer review
Massive scale peer reviewPeer review
Peer review is a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility...
of software changes and commits is possible under the collaborative development model. This has been summarised by Raymond in what he terms Linus's Law
Linus's Law
There are two statements named Linus's Law: one by Eric S. Raymond concerning software bug detection by a community, and the other by Linus Torvalds about the motivations of programmers.- By Eric Raymond :...
: many eyeballs make all bugs shallow.
However, the extent that such peer review actually occurs is disputed.
Involving users
One of the key facts is getting users involved. Many organizations have created special programs to ease enrolling new committers.See also
- Open source software assessment methodologiesOpen source software assessment methodologiesSeveral methods have been created to define an assessment process for Free/Open Source software. Some focus on some aspects like the maturity, the durability and the strategy of the organisation around the Open Source project itself...
- Commons-based peer productionCommons-based peer productionCommons-based peer production is a term coined by Harvard Law School professor Yochai Benkler to describe a new model of socio-economic production in which the creative energy of large numbers of people is coordinated into large, meaningful projects mostly without traditional hierarchical...
- HackathonHackathonA hackathon, a hacker neologism, is an event when programmers meet to do collaborative computer programming. The spirit of a hackathon is to collaboratively build programs and applications. Hackathons are typically between several days and a week in length...