Decentralized systems do not encourage forking
It is true that decentralized systems can support long-lived branches. But forks are a social problem. They almost always occur when a person is working on a project gets into irreconcilable conflicts with the project's leadership. There are social pressures to avoid forking if at all possible, and even with decentralized systems, maintaining a fork is more trouble than getting patches merged in a healthy project. So forks are not likely unless a project is unhealthy.
People considering forking have two options:
- Fork the project.
- Stop working on the project.
Decentralized systems do make it easier to fork the project, so some of the people who would have chosen to stop working entirely may instead choose to produce a fork. But we don't believe decentralized systems will cause people to fork instead of contributing to the project.
So even if there is a fork, the original project loses nothing.
Decentralized systems do not encourage private forks
Private branches are an important feature, but it is not likely that they live very long. Again, for social reasons, people would prefer to be recognized as a contributor, not scorned as a leech. The same technological reasons as normal forks also apply here, but they are exaggerated because private forks tend to have a single maintainer who must cope with all changes in the parent project, while a public fork is more likely to become a group project.
Two other articles have been written on this subject.