Content deleted Content added
Artoria2e5 (talk | contribs) |
m add DOI | Alter: title. Add: hdl. Removed URL that duplicated unique identifier. | You can use this tool yourself. Report bugs here. | via #UCB_Gadget |
||
Line 5:
== Etymology ==
The word "fork" has been used to mean "to divide in branches, go separate ways" as early as the 14th century.<ref>[http://www.etymonline.com/index.php?term=fork Entry 'fork' in Online Etymology Dictionary] {{webarchive|url=https://web.archive.org/web/20120525165727/http://www.etymonline.com/index.php?term=fork |date=25 May 2012 }}</ref> In the software environment, the word evokes the [[Fork (system call)|fork]] system call, which causes a running process to split itself into two (almost) identical copies that (typically) diverge to perform different tasks.<ref>"The term fork is derived from the POSIX standard for operating systems: the system call used so that a process generates a copy of itself is called fork()." {{cite conference|url=http://flosshub.org/sites/flosshub.org/files/paper_0.pdf|title=A Comprehensive Study of Software Forks: Dates, Reasons and Outcomes|first1=Gregorio|last1=Robles|first2=Jesús M.|last2=González-Barahona|conference=OSS 2012 The Eighth International Conference on Open Source Systems|year=2012|accessdate=20 Oct 2012|url-status=live|archiveurl=https://web.archive.org/web/20131202221721/http://flosshub.org/sites/flosshub.org/files/paper_0.pdf|archivedate=2 December 2013|df=dmy-all|doi=10.1007/978-3-642-33442-9_1}}</ref>
In the context of software development, "fork" was used in the sense of creating a revision control "[[branching (revision control)|branch]]" by [[Eric Allman]] as early as 1980, in the context of [[Source Code Control System|SCCS]]:<ref>Allman, Eric. [http://sccs.sourceforge.net/man/sccs.me.html "An Introduction to the Source Code Control System."] {{webarchive|url=https://web.archive.org/web/20141106144859/http://sccs.sourceforge.net/man/sccs.me.html |date=6 November 2014 }} Project Ingres, University of California at Berkeley, 1980.</ref>
Line 44:
# Successful branching, typically with differentiation (''e.g.'', [[OpenBSD]] and [[NetBSD]].)
[[Distributed revision control]] (DVCS) tools have popularised a less emotive use of the term "fork", blurring the distinction with "branch".<ref>''e.g.'' {{cite web|url=https://lwn.net/Articles/628527/|title=An "open governance" fork of Node.js|first=Nathan|last=Willis|work=LWN.net|date=15 January 2015|accessdate=15 January 2015|quote=Forks are a natural part of the open development model—so much so that GitHub famously plasters a "fork your own copy" button on almost every page.|url-status=live|archiveurl=https://web.archive.org/web/20150421055059/http://lwn.net/Articles/628527/|archivedate=21 April 2015|df=dmy-all}} See also {{cite thesis|type=Ph.D.|page=57|first=Linus|last=Nyman
Forks often restart version numbering from 0.1 or 1.0 even if the original software was at version 3.0, 4.0, or 5.0. An exception is when the forked software is designed to be a drop-in replacement for the original project, ''e.g.'' [[MariaDB]] for [[MySQL]]<ref>[http://programmers.stackexchange.com/questions/31551/forked-a-project-where-do-my-version-numbers-start Forked a project, where do my version numbers start?] {{webarchive|url=https://web.archive.org/web/20110826152252/http://programmers.stackexchange.com/questions/31551/forked-a-project-where-do-my-version-numbers-start |date=26 August 2011 }}</ref> or [[LibreOffice]] for [[OpenOffice.org]].
|