Software fork

From Citizendium
Revision as of 09:14, 9 April 2007 by imported>Eric M Gearhart (Added fork note)
Jump to navigation Jump to search
This article is about "forking" of a software project into two or more different projects. For the operating system term for starting a new process, see fork (operating system)

A fork of a computer software project is generally a version of the original software that makes use of the same (or a compatible) license, but with a development team that is usually under "new management." Forks usually occur when fundamental design differences can't be agreed upon.

A fork can also exist within a project, when code is divided into branches. For instance, Firefox development occurs on multiple codebases at the same time. While development on Firefox 2.0 was ongoing, other developers were working on 3.0, while patches and support continued to be issued for version 1.5. Other projects have "stable" and "development" branches, where code from the unstable branch is moved to the stable branch after it is ready for release.

Notable forks in the History Software development

  • Unix has been forked literally hundreds, if not thousands of times from the original software developed at Bell Labs

External Links

UNIX History, also has a UNIX timeline with a detailed diagram listing forks from the original Unix