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


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


  • 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)

  • GWT (GWT Web Toolkit)

    - The GWT software development kit facilitates the creation of complex browser-based Java applications that can be deployed as JavaScript, for portability across browsers, devices and platforms. (TheServerSide.com)


  • 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



    Contribute to the conversation

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