The goal of a Company is to expand its market share and to capture revenue from this market.
This may not a bad thing for shared development. Companies who sell hardware components or developer services benefit from the expanded application market created for their devices and services by the shared development effort enforced by GPL licenses.
Unfortunately Companies who create applications compete with every other application developer often without much customer loyalty. To gain customer loyalty these Companies need to be able to provide something other competing cannot. BSD and dual-licenses to the rescue. These licenses allow Companies to benefit from the development effort of others without sharing the hard bits.
BSD and dual-licenses result in fragmentation and wasted effort, because the hard bits are not shared. Solutions from Companies with the largest market share winning out. Not necessarily the best solutions.
GPL fragmentation is actually a good thing because others can observe and experiment with the alternate solutions to the hard bits, with finally the best solutions winning out.
Learning, observing and experimenting is essential for training the next generation of developers who build on the experience of the last, solving new problems.