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][moshe] still seems highly relevant ([thanks, chx][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?
Community matters
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.
[moshe]: (We don’t know what we are doing) [chx]: (chx: Four today)
I just noticed the post by
I just noticed the post by Moshe myself. His analogy with jazz is spot on I think but what I’m really curious about is how other frameworks go about their business.
How does something like RoR or whatever else deal with API changes and what state is it in from its approach? If someone knowledgeable enough about another framework that contrasts with Drupal, I think it would give a better perspective.
I don’t mind how Drupal changes (I love it in fact and love jazz as long as it’s not Kenny G ;) but the only piece of software I can think of is MS Windows that takes the opposite approach but that comparison isn’t so interesting since MS isn’t so popular these days and it would be easy to bash on.
Are there other projects with a “Master plan” looking to the past and the future?
Not in open source, I think…
The only other frameworks I’ve been involved with are TurboGears and Django, both Python-based – and they certainly aren’t afraid of changes. TurboGears is a bit over the top in that regard, in my opinion – too much of a good thing…
I don’t think that there are any of the stuff that we commonly associate with Open Source that have master plans, but much of the stuff that Sun does is controlled by them and their executives, who probably have some kind of plan with their efforts.
I guess the same goes for Apple’s WebKit – there’s been some animosity between WebKit and KHTML, because the WebKit guys at Apple did their thing as ordered by their employer, and it took some time before the two developer teams figured out how to benefit more from each other.
This is a challenge for all Open Source projects – commercial companies have directors, deadlines and deliverables, and their needs do not always mesh well with the community’s.
development
Mike, I think it is amazing how drupal is moving forward with pressure from so many directions. when enough people push (and code), things just keep getting better and better. who needs a stable api?
Yeah, let’s hope that we
Yeah, let’s hope that we never get it right ;)
Post new comment