What is Forking?

In computer software terminology, forking means to split source code into different development directions. Forking leads to the development of different versions of a program. Forking often occurs when the development of a piece of open source code has reached an impasse. The project is forked so that the code can be developed independently in different ways with different results.