Jump to content

Collaborative software development

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Newslinger (talk | contribs) at 11:14, 27 August 2018 (Newslinger moved page Collaborative software development model to Collaborative software development: For consistency with Agile software development. Also, "Collaborative software development" has 5,400+ exact-phrase results in Google Scholar, while "Collaborate software development model" has less than 100). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Hackathon

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 and continues to be used primarily for freeware, open-source software and commons-based peer production. It is also used for certain types of developmental models, such as the Iterative and Agile development model, through which stages of the program are released for public feedback, driving the development of the program.

Collaborative software development and free software

It is the dominant model used in development of free software. 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 and 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.

Peer review

Massive scale peer review of software changes and commits is possible under the collaborative development model. This has been summarized by Raymond in what he terms Linus's Law: many eyeballs make all bugs shallow.

Many software developers and researchers who agree that collaborative development is one of the best ways to identify the most possible bugs in a program while remaining efficient. Another way that this has been stated is, “if you post it, someone will fix it,” referring to the same principle applied to source code rather than an actual program.

However, the extent that such peer review actually occurs is disputed.[1]

Involving users

One of the key facts is getting users involved. Many organizations have created special programs[2] to ease enrolling new committers.[3]

See also

References