Fork (software development)

forkforkedforksforkingcontinuationsoftware forkcode forksplitbranchedcontinued
In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.wikipedia
653 Related Articles

XEmacs

Lucid Emacs
"Fork" is not known to have been used in the sense of a community schism during the origins of Lucid Emacs (now XEmacs) (1991) or the BSDs (1993–1994); Russ Nelson used the term "shattering" for this sort of fork in 1993, attributing it to John Gilmore.
XEmacs is a fork, based on a version of GNU Emacs from the late 1980s.

Branching (version control)

branchbranchesbranching
The term often implies not merely a development branch, but also a split in the developer community, a form of schism. In the context of software development, "fork" was used in the sense of creating a revision control "branch" by Eric Allman as early as 1980, in the context of SCCS:
A branch not intended to be merged (e.g. because it has been relicensed under an incompatible license by a third party, or it attempts to serve a different purpose) is usually called a fork.

Free and open-source software

free and open-sourcefree and open source softwareFOSS
Free and open-source software is that which, by definition, may be forked from the original development team without prior permission, without violating copyright law.
OpenBSD forked from NetBSD in 1995.

MariaDB

MariaDB CorporationMariaDB FoundationMariaDB 10.2+
An exception is when the forked software is designed to be a drop-in replacement for the original project, e.g. MariaDB for MySQL or LibreOffice for OpenOffice.org.
MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License.

LibreOffice

LibreOffice ImpressLibreOffice OnlineLibre Office
An exception is when the forked software is designed to be a drop-in replacement for the original project, e.g. MariaDB for MySQL or LibreOffice for OpenOffice.org.
It was forked in 2010 from OpenOffice.org, which was an open-sourced version of the earlier StarOffice.

GitHub

github.comGistGitHub Pages
Sites such as GitHub, Bitbucket and Launchpad provide free DVCS hosting expressly supporting independent branches, such that the technical, social and financial barriers to forking a source code repository are massively reduced, and GitHub uses "fork" as its term for this method of contribution to a project.
At that time, about 6,200 repositories had been forked at least once and 4,600 had been merged.

MySQL

M'''ySQLMySQL 4.1MySQL 4.x
An exception is when the forked software is designed to be a drop-in replacement for the original project, e.g. MariaDB for MySQL or LibreOffice for OpenOffice.org.
In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL project to create MariaDB.

OpenBSD

PuffyOpenCVSPuffy (mascot)
Theo de Raadt created OpenBSD in 1995 by forking NetBSD.

NetBSD

BSDCryptographic Device DriverNetBSD Foundation
It was the first open-source BSD descendant officially released after 386BSD was forked.

OpenOffice.org

OpenOfficeOpenOffice.org WriterOpenOffice.org Calc
An exception is when the forked software is designed to be a drop-in replacement for the original project, e.g. MariaDB for MySQL or LibreOffice for OpenOffice.org.
TDF released the fork LibreOffice in January 2011, which most Linux distributions soon moved to.

Distributed version control

distributed revision controlpull requestDistributed
Distributed revision control (DVCS) tools have popularised a less emotive use of the term "fork", blurring the distinction with "branch".

GNU Compiler Collection

GCCGNU C Compilerg++
As GCC was licensed under the GPL, programmers wanting to work in other directions—particularly those writing interfaces for languages other than C—were free to develop their own fork of the compiler, provided they meet the GPL's terms, including its requirements to distribute source code.

Berkeley Software Distribution

BSDBSD Unix*BSD
"Fork" is not known to have been used in the sense of a community schism during the origins of Lucid Emacs (now XEmacs) (1991) or the BSDs (1993–1994); Russ Nelson used the term "shattering" for this sort of fork in 1993, attributing it to John Gilmore.
OpenBSD was forked from NetBSD in 1995, and DragonFly BSD was forked from FreeBSD in 2003.

Source Code Control System

SCCSSource code controlSource Code Control System (SCCS)
In the context of software development, "fork" was used in the sense of creating a revision control "branch" by Eric Allman as early as 1980, in the context of SCCS:
Jörg Schilling (who requested the release of SCCS in the early days of the OpenSolaris project) maintains a fork of SCCS that is based on the OpenSolaris source code.

Cedega (software)

CedegaWineXSee main article
Examples include macOS (based on the proprietary NeXTSTEP and the open source FreeBSD), Cedega and CrossOver (proprietary forks of Wine, though CrossOver tracks Wine and contributes considerably), EnterpriseDB (a fork of PostgreSQL, adding Oracle compatibility features ), Supported PostgreSQL with their proprietary ESM storage system, and Netezza's proprietary highly scalable derivative of PostgreSQL.
Cedega (formerly known as WineX) was the proprietary fork by TransGaming Technologies of Wine, from the last version of Wine under the X11 license before switching to GNU LGPL.

PostgreSQL

PostgresPgSQLPgAdmin
Examples include macOS (based on the proprietary NeXTSTEP and the open source FreeBSD), Cedega and CrossOver (proprietary forks of Wine, though CrossOver tracks Wine and contributes considerably), EnterpriseDB (a fork of PostgreSQL, adding Oracle compatibility features ), Supported PostgreSQL with their proprietary ESM storage system, and Netezza's proprietary highly scalable derivative of PostgreSQL.
Postgres-R is yet another fork.

X.Org Server

X.OrgXorgGlamor
X11R6.7.0, the first version of the X.Org Server, was forked from XFree86 4.4 RC2.

XFree86

XFree86 1.1 License
The first version, X11R6.7.0, was forked from XFree86 version 4.4 RC2 to avoid the XFree86 license changes, with X11R6.6 changes merged in.

Downstream (software development)

downstream
For example, a patch sent downstream is offered to the developers or maintainers of a forked software project.

Wine (software)

WineWine 1.0Wine software
Examples include macOS (based on the proprietary NeXTSTEP and the open source FreeBSD), Cedega and CrossOver (proprietary forks of Wine, though CrossOver tracks Wine and contributes considerably), EnterpriseDB (a fork of PostgreSQL, adding Oracle compatibility features ), Supported PostgreSQL with their proprietary ESM storage system, and Netezza's proprietary highly scalable derivative of PostgreSQL.
Formerly known as WineX, Cedega represented a fork from the last MIT-licensed version of Wine in 2002.

Software engineering

software engineersoftware engineerssoftware
In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.

Source code

codesourcesource file
In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.