The term “forking” has been around in software development for decades. But what does it mean?
The term “forking” has been used within the software development community for decades. At that time, it mainly referred to copying a piece of software and then developing it parrallel to its trunk copy.
But the term’s meaning evolved over time and now defines a specific phenomenon in software development jargon. So, what does it mean when software is forked? Let’s take a look.
What Does It Mean When Software Is Forked?
Software is forked when a rift occurs within its developing team, which could be due to differences of opinion regarding the project’s direction or personality clashes.
A faction or member of the development team will then take the program’s source code and start independent development under a different name, approach, and direction. So, even though a fork is based on its parent software’s source code, it is a new and independent project in its own right.
Because it’s hard to legally secure the rights to a propriety software source code, forking occurs almost exclusively within the free software development world. This type of software’s “open source” nature also means that any user is within their rights to use, study, change, and distribute both it and its source code.
The Right to Fork
When a faction or member of a development team takes a project’s source code and decides to start independent development, they most of the time do it under a shroud of conflict and animosity. This has led the community to see forking under a bad light.
However, many forks have been very successful and even surpassed the original software in popularity, such as Firefox from Mozilla and Ubuntu from Debian. Also, the “open source” nature of free software means that any user or developer team is within their right to use or modify their source code however they like.
Now You Know What Software Forking Is
The term “forking” has been around for centuries and generally refers to a parting of ways. Since the late 20th century, though, it has become a common word within software development communities as well.
If you think you can take a project in a better direction, and the conflict with your colleagues is unresolvable, forking is something you might want to consider.
Sometimes, the end-user benefits greatly from forks. Sometimes, the fork is done under a shroud of anger, hatred and animosity. Let’s look at some examples.
About The Author