BITCOIN FORK
The word fork in Bitcoin has a different and more complex meaning from the usual software development one. One might think that this is simple to introduce new features in the protocol — just release a new version of the software, and tell all nodes to upgrade. In reality, it's just impossible to assume that every node would upgrade. Some nodes in the network would fail to get the new software or fail to get it in time. We can differentiate between two types of changes: those that would cause a so-called hard fork and those that would cause a soft fork.
A hard fork in Bitcoin is needed to introduce new features into the Bitcoin protocol that were previously considered invalid. That is, the new version of the software would recognize blocks as valid that the old software would reject. Hard forks make the block chain split, and branches will never join together again. Every node in the network will be either on one or the other side of it based on which version of the protocol it is running. . Only miners will have to upgrade, otherwise they risk ending up on the wrong side of the fork and losing money. Users and merchants can keep running older nodes, which will accept the newer blocks. Hard forks are not forward-compatible (old nodes may not accept blocks created by new nodes). With a hard fork, everyone (miners, users, and merchants) will need to upgrade to the new code.