(This started off as a comment to this article which Dries posted at Buytaert.net. It started getting long and thought it would be interesting to see what the rest of the community's thoughts are on such things)
Collaboration, not competition
It is important that Drupal distributions collaborate, and not compete. To do so, we have to provide Drupal distributions an environment that encourages collaboration, and that allows for specialization (such as custom documentation and support) without introducing incompatibilities that drive competition. - Dries
I'm coming at these subjects from a place that a lot of people deeply involved with core development probably don't consider much and/or don't think is important. But I there are probably a lot of people who do think it's important...
As a small, independent Drupal developer I can understand how forks happen. The pace of development can be very hard to try and keep up with if you're trying to get work out the door and do everything else a company needs to do to be successful. Plus there's the considerations of having to update everything every time a new version comes out - which lately would be a lot. The fact that each version continues to be a total standalone is quite a thing to realize the first time you grasp it...
Obviously Drupal development still needs to go on but I think the question remains, especially for Drupal users and developers, of 'how can I fit in with and/or commit to using/marketing the Drupal organization/platform if I'm just going to keep having my stuff completely outdated every 9 months'. Trying to explain to a client why they can't have Drupal 5.0, 6.0, 7.0 etc with just a click of a button (and that it would in fact cost a bundle) can be a real contentious thing and tends to put emphasis in their minds about what they 'don't have' rather than what they do.
I myself do not, and it's debatable whether or not it's the right/smart thing to do -- but it seems easy to see how a lot of developers would be just as glad to play-down the fact that they use Drupal because of these kinds of things.
Certainly, if at some point Drupal development could happen along two tiers whereby a 'main-core' gets updated less often than a more modular sub-core so that developers would know that their stuff would be current for at least a couple couple years - it would probably do a lot to encourage folks to develop in a more committed way, encourage them to market Drupal, and to keep the number of forked projects down, and the number of collaborative projects up.
This might not be something which can be addressed right away, but when the roadmap for the next few years is being put together it might be worth considering the idea of just reinventing the hubcaps instead of the entire wheel each and every time a new version comes out.