Drupal's popularity has really taken off on these parts – the last year has seen amazing growth, from a few hobbyists people meeting in Copenhagen now and then to large and respectable organisations deploying Drupal in really ambitious projects.
One of the things I have noticed as a result of the change, is how many that do not understand the why's and the how's of Drupal's development.
I've had to put up with a lot of grumbling about Drupal's pace of development, our unstable API, even from my new colleagues (I've been working full-time with Drupal since January 7th.), who now work with Drupal on a daily basis – you know who you are, curmudgeons ;)
So, this blog post by Moshe Weitzman from 2006 still seems highly relevant (thanks, chx). Truth is, we still don't know what we're doing. We still have no road map or master plan. We will probably still see sweeping API changes every now and then.
My point is that you should be glad that this is so, because all these things are the very reasons for Drupal's success. Let me explain.
I've used Drupal as my main CMS for two years now, although I've tried it out earlier – at Drupal 4.5. And my, we've come a long way since that. It would be disrespectful to say that Drupal 4.5 sucked, but compared to what we have today, it did.
So why do you clamour for API stability? Do you truly wish that we would have sat down at Drupal 4.5 and said that this API is just fine, thank you very much...?
No you don't. And the same goes for road maps and master plans. It can be a good thing to have plans, but when it comes to a thing that changes as quickly as the Internet does, it is all but useless to plan more than 12 months ahead, because there's probably a technology right around the corner that will change things – and make your 5-year plan useless.
At Drupal 4.6 or 4.7, nobody could have predicted our current situation accurately – so why are you asking for us to do the same with Drupal 8 or 9?
My final point is the community. I think the main reason people find Drupal hard to grok is the community aspect of it. We often describe ourselves as the colloquial "we". We the Drupal community. We the people.
The thing is, that there is no coherent "we" when it comes to the Drupal community. "We" is a huge schizophrenic choir. A huge smattering of individual, each with their own issues, their own vision, their own itches. Each has an idea of what would be great for the next version of Drupal. And many of us set out to make that idea become reality by doing what we can. Translate stuff, file bugs, help out with the issue queue or write code. Or maybe just advocate Drupal to others, since the more of us there are, the greater chance there is that someone will have the same itch as you – and go scratch it.
So while Dries is a great leader and has plans and visions for Drupal, his voice is not the only one, just the loudest one. And since he has yet to get his own army and secret police to come wake us up at night and make us code what he wants us to, there is never going to be coherent focus in the development process.
And that's good too. Because even doctors of Computer Science have been know to make mistakes from time to time. So if he was some day to make a mistake, we would not follow him blindly. And I personally think that that's the way it's supposed to be.
So the next time you feel like griping, remember that Drupal is what it is, because of all these things, not in spite of them.