Models of FOSS Collaboration

Line 20: Line 20:
====Linux: Benevolent Dictatorship====
====Linux: Benevolent Dictatorship====
-
* Only trusted users can contribute code directly to the Linux codebase.
+
* A single individual decides what code goes into the Linux codebase.
* Traditional Software Development: a) Plan, b) Analyze, c) Design, d) Implement.
* Traditional Software Development: a) Plan, b) Analyze, c) Design, d) Implement.
* FOSS Development:  a) Code; b) Review; c) Pre-commit test; d) Development release; e) Parallel debugging; f) Production release.
* FOSS Development:  a) Code; b) Review; c) Pre-commit test; d) Development release; e) Parallel debugging; f) Production release.
* Originally, only Linus Torvald, the project's founder, had authority to commit code to the main Linux repository.
* Originally, only Linus Torvald, the project's founder, had authority to commit code to the main Linux repository.
 +
* The Linux Development Team: http://www.kernel.org/faq/#account
 +
* See: Federico Iannaci, [http://131.193.153.231/www/issues/issue8_12/iannacci/index.html#i1 The Linux Development Model]
* See: Federico Iannaci, [http://131.193.153.231/www/issues/issue8_12/iannacci/index.html#i1 The Linux Development Model]
* See: Eric Stanley Raymond, [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ The Catherdral and the Bazaar].
* See: Eric Stanley Raymond, [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ The Catherdral and the Bazaar].
* See: Karl Fogel, [http://producingoss.com/ Producing Open Source Software]
* See: Karl Fogel, [http://producingoss.com/ Producing Open Source Software]
 +
 +
====Sahana: Core Development Team====
 +
 +
* A small core team of '''committers''' can contribute code to the codebase, approve patches for inclusion in the code base.
 +
* Sahana's committers:  http://wiki.sahanafoundation.org/doku.php/team:home

Revision as of 13:21, 12 April 2010

In these notes we exam different models of collaboration in open source projects.

We are particularly interested in how the content that is shared -- be it encyclopedia knowledge (Wikipedia) or source code (Linux) -- is controlled.

There are many different models possible, ranging from very democratic models (Wikipedia) to what are called benevolent dictatorships (Linux) and many forms of hybrid models in between (Drupal, Sahana).

Wikipedia: Direct Democracy

  • Anonymous users can edit Wikipedia entries.
  • Traditional Encyclopedia: Hierarchy of publisher, editors, authors.
  • Wikipedia: Anyone can write, edit, publish.
  • Neutral point-of-view and good faith guide user's contributions.
  • Jimmy Wales, as a kind of constitutional monarch, has final say.
  • Bureaucrats, stewards, developers, administrators have responsibilities (rather than rights) and help manage the site.
  • Wales and the Wikipedia board of directors have authority to mediate editorial disputes, remove abusive and uncooperative users.
  • See: Joseph Reagle, In Good Faith (Ph.D. dissertation)

Linux: Benevolent Dictatorship

  • A single individual decides what code goes into the Linux codebase.
  • Traditional Software Development: a) Plan, b) Analyze, c) Design, d) Implement.
  • FOSS Development: a) Code; b) Review; c) Pre-commit test; d) Development release; e) Parallel debugging; f) Production release.
  • Originally, only Linus Torvald, the project's founder, had authority to commit code to the main Linux repository.
  • The Linux Development Team: http://www.kernel.org/faq/#account


Sahana: Core Development Team