Fork is the term for branching a project; it is most often used in the context of software development. When a fork is founded, it creates an alternative version of the original software, which is further developed in its own way. Thus, although the two software variants are identical at the point of forking, they gradually become increasingly different projects.
The formation of alternative development forks is mostly common in open-source software. The reason for starting a new fork is typically for a different vision of the project’s future by a part of the development community. However, if the copied code base is not developed further, it is not a fork but a so-called mirror.
A good example of a well-known fork is the MariaDB database system, which was created after the original project – MySQL – was acquired by Oracle, and some developers were worried about the termination of the free license. Therefore, they created an alternative based on a copy of the MySQL code, which they continue to develop independently of the original project.
Another example is the various Linux distributions. These have simply been split at one point into two separate versions based on the same fundamentals but differ in further development. However, they do not necessarily diverge in all aspects; they can also cooperate. A good example is CentOS Stream, which is based on CentOS.
Nevertheless, the term fork does not only refer to software development. It is also commonly used as an alternative branch of a particular cryptocurrency; the most famous one, Bitcoin, for example, has branched out into several forks (e.g., Bitcoin Cash, Bitcoin Gold, or Bitcoin Diamond). Theoretically, an unfinished book in which another author copies and writes two different endings parallel to the original author can also be considered a fork. However, the term is not usually used for these purposes.