Currently, we have a gigantic external dependence in Ngit. Which is fine, so long as everything is fine.
But we have a strong incentive to duplicate or fork it, so that we can be maintainers. Otherwise, we get no credit for any improvements and if we need a bugfix and isn't available, we'll be forced to fork it and have our customers switch to our version in a rush. I've had that happen in a software project before and it's incredibly embarrassing to admit that you have no control over a core feature.
This is why everyone prefers to fork, rather than contribute. Contributing regularly to something you don't have your name on is cucky.