What is forking (software fork)? - Definition from WhatIs.com

Definition

forking (software fork)

Part of the Open source glossary:

Forking is to take the source code from an open source software program and develop an entirely new program.

Forking is often the result of a deadlock in an open source project that is so insurmountable that all work stops. Typically this happens when development team members are unable to resolve personal conflicts or fail to reach a consensus about next steps. Forks may also occur when core members of an open source development team decide not to address use cases that other members of the development community feel are important.

Software forks can be controversial when they duplicate efforts, but most developers agree that the right to fork is open source software's greatest strength. A successful fork can save development time, inspire other uses for old code and create new business opportunities. To be considered a fork, the newer version of the software must have its own name and its own developer community. When a new program remains compatible with the original program, it is referred to as a shallow fork.

The name fork is derived from the POSIX standard for operating systsems. In this context, a fork is a process that generates a copy of itself. 

This was last updated in June 2014
Posted by: Margaret Rouse

Related Terms

Definitions

  • source code

    - Source code is the fundamental component of a computer program that is created by a programmer. Unlike object code, source code can be read and easily understood by a human being. (SearchSOA.com)

  • GitHub

    - GitHub is a web-based revision control hosting service for software development and code sharing. GitHub was started in 2008 and was founded on Git, an open source code management system built crea... (searchITOperations.com)

  • Apache Camel

    - Apache Camel is a Java-based framework that implements messaging patterns in Enterprise Integration Patterns (EIP) to provide a rule-based routing and mediation engine enterprise application integr... (TheServerSide.com)

Glossaries

  • Open source

    - Terms related to open source, including definitions about Linux and words and phrases about Apache and other open source software development projects.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question About forking (software fork)Powered by ITKnowledgeExchange.com

Get answers from your peers on your most technical challenges

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.