Clever Geek Handbook
📜 ⬆️ ⬇️

Fork

Fork ( English fork - fork , fork ) or branch - the use of the code base of a software project as a start for another, while the main project can both continue to exist or cease to exist.

An offshoot project or fork can support and share part of the content with the main project, or it can acquire completely different properties, ceasing to have something in common with the basic project. Example: splitting an X Window System project into XFree86 and X.Org , splitting an OpenOffice project into LibreOffice and Apache OpenOffice . Separations were among non-free software. Example: Windows NT , which has divided into two branches as it develops: Windows 2000 and Windows Server .

To maintain the current version of the fork, during the development process, it may require frequent updating from the code base. A derivative is a special case of a fork and implies exactly this behavior.

The reasons for forking can be different: from the implementation of something experimental; porting to new niches and platforms; up to the salvation of the project, if the main project is frozen for various reasons, and its development under the current conditions is impossible or seems impossible, as well as if the developer does not want to develop the main project.

Further development can occur in different ways: coexistence and active exchange of a common (shared) code, independent existence, independent existence with a complete loss of common properties, “migration” of developers from the original branch to another, adaptation of the project to new technologies, or merging branches into a single project. Sometimes the "branch" when returning to the main project receives a leading role. For example, the Experimental / Enhanced GNU Compiler System (EGCS) project broke away from the GNU Compiler Collection (GCC). Two years later, the projects were reunited, and the result was based on EGCS and even inherited its much more open development process.

In the case of free software, the legal possibility of creating a fork directly follows from the fact that the program is distributed under a free license. However, forks of large projects are relatively rare and negatively perceived in the community, since they reduce the number of developers of each branch and slow down their development. Nevertheless, the value of the “right to fork” is quite large, even though it is rarely used in practice: this is a certain constraint in the relationship between key developers (who have the ability to make changes to the project code directly, upstream ) and the community.

See also

  • Branch (version control)

Notes


Source - https://ru.wikipedia.org/w/index.php?title=Fork&oldid=96405522


More articles:

  • Natural Capital
  • Blain, Georges
  • Peresek (Rogachev district)
  • Ploskinia (Rogachev district, village)
  • Serebryanka (Gomel region)
  • Palace (Rechytsa district)
  • Lunacharsk (Rechitsa District)
  • Lesnoe (Rechytsa district)
  • Nadvin (Rechytsa district)
  • Starina (Rechytsa district)

All articles

Clever Geek | 2019