Fork (software development)

A timeline chart showing the evolution of Linux distributions, with each split in the diagram being called "a fork"

In software development, a fork is a codebase that is created by duplicating an existing codebase and, generally, is subsequently modified independently of the original. Software built from a fork initially has identical behavior as software built from the original code, but as the source code is increasingly modified, the resulting software tends to have increasingly different behavior compared to the original.[example needed] A fork is a form of branching, but generally involves storing the forked files separately from the original; not in the repository. Reasons for forking a codebase include user preference, stagnated or discontinued development of the original software or a schism in the developer community.[1] Forking proprietary software (such as Unix) is prohibited by copyright law without explicit permission, but free and open-source software, by definition, may be forked without permission.

  1. ^ "Schism", with its connotations, is a common usage, e.g.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search