Lots of time people try to ask this question as to why there is duplication of efforts in free and open source world. And I have been tired of answering people one by one. So here are the facts :-
1. Duplication comes and exists in the proprietary structures and this structure is just prevalent. And there its much more common due to people wanting to make their own IP.
2. Duplication comes in free software due to some common & some uncommon reasons :-
a. The developer/s of some software is not heeding to needs of a community. Differences of opinion.
b. The needs of some group/s become different from other groups or they want to take the project in some different direction which the developers do not want to go. So creativity does not get wasted. This happens not just to fork the project but sometimes also they come back & merge together. One of the more famous examples of this is the Compiz Fusion marriage which happened sometime back.
Doesn’t it all sound like our DNA, which has been forked so many times so we came & we are still forking as well as merging as we feel need.
This forking has some great great benefits as well :-
1. It makes people be on their feet all their time. Competition.
2. When big changes (like an API change) or something then one or the project would make sure to jump onto that. This way features which are needed to make that transition happen smoothly & take people with them happens. This happens all the time, like when KDE jumped from KDE 3.5 to KDE 4.0-4.1 now. We are in the midst of a great transition happening. Or whenever GNOME starts to go from 2.24.x series which its in process now to 3.0 series where things would be in flux for sometime to come. So people have to take a leap of faith.
Well, all said & done I’m all for this percieved notion of duplication. May it thrive, it just tells me there is one more way of doing something if something isn’t working. There is a second chance 😉