Skip to content
Why Is It Called 'Fork'? — The Origin of the Term

Why Is It Called 'Fork'? — The Origin of the Term

DodaTech Updated Jun 20, 2026 2 min read

The Story

In the Unix world, creating a new process is called “forking.” The fork() system call, designed by Dennis Ritchie at Bell Labs in the early 1970s, makes a child process that is an almost exact copy of the parent. From that moment onward, two identical processes diverge — like a fork in the road.

The name comes from the physical metaphor: one path splits into two. The Latin root furca means pitchfork, and by the 17th century English had adopted “fork” for anything that divides into branches — a fork in a river, a fork in the road, a dinner fork’s tines.

Dennis Ritchie’s genius was in making fork() incredibly simple. The call returns twice — once in the parent with the child’s process ID, and once in the child with zero. That single system call became the foundation of Unix multitasking.

How It Evolved

The fork metaphor expanded far beyond process creation. In version control, forking a repository creates an independent copy where developers can experiment without affecting the original. GitHub made “forking” the primary mechanism for open-source contribution in the 2000s.

In blockchain, a “hard fork” splits a cryptocurrency into two separate chains — exactly like a fork in the road where both paths continue independently. Bitcoin Cash forked from Bitcoin in 2017.

The dining metaphor also survives: a dinner fork has multiple tines from a single handle, just as a software fork creates multiple paths from a single origin.

Did You Know?

The classic fork() + exec() pattern in Unix splits the creation of a new process into two steps: fork() copies the current process, then exec() replaces it with a new program. This two-step dance is unique to Unix and its descendants.

FAQ

Who created the POSIX fork() system call?
Dennis Ritchie designed and implemented fork() at Bell Labs in the early 1970s as part of the Unix operating system.
What is copy-on-write in forking?
Modern operating systems optimize fork() with copy-on-write: the child process shares the parent’s memory until one of them writes to it. Only then is the memory actually copied. This makes forking much faster and more memory-efficient.
Is fork in Git the same as fork in Unix?
The metaphor is identical — both create an independent copy that diverges from the original. The Git version allows the fork to later be merged back, while process forks typically remain separate.

Related Etymologies

Why Is It Called 'Bug'? Why Is It Called 'Kernel'?

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro