Wrapping up before holidays (and Drupalcon Szeged)
I've had a pair busy weeks doing development and maintenance for contributed modules: Internationalization, Messaging, Notifications. All of them have got some new features and are on track for stable releases soon.
However, one of the the things I've realized (again) is that I've ended up maintaining way too many huge modules and maybe one of the ways to keep them moving faster is to break them down when it makes sense, and also to hand over maintenance to some more people. Now we have Mail2web (Ian Ward is the new maintainer) and Language Icons (Freso is helping with that one), more may be coming in the next future....
The other thing I've realized is that it is exhausting maintaining both 5.x and 6.x versions of a module. That means developing and testing everything twice with slight changes which is actually harder than working on two different projects. The thing is that Drupal 6 seems to be taking some time to become the main development version for new sites and more work is done with Drupal 5 yet.
Some people may argue that the reason for this are some widely used modules which have taken some time to be upgraded, like Views and CCK. But I think there's more behind that and it's not that Drupal 6 doesn't have enough improvements and advantages to do the upgrade. But the fact that Drupal has become such a big and successful software product makes that a lot of investment and work goes on each new version of Drupal.
Thus, once we feel comfortable enough working with a given version, and have perfectly worked out how the lot of contributed modules we use more often fit together, besides the building and deployment process, makes still more difficult to move to a new version, it doesn't really matter how better it is. Really, Drupal 5 was great and good enough for most of the sites we are still building today. And most of the cool new features come from contributed modules, for which there are still far more available for Drupal 5 than for Drupal 6.
However I don't think there's anything wrong with the 'always look forward' (fuck backwards compatibility) philosophy we have in the Drupal project. That's actually the way to produce a great product with each new major version. Just maybe we should rethink a little bit the release cycles and the product life cycle for each new version. We need to allow the whole ecosystem of contributed modules and software projects and companies that's growing around Drupal to flourish with each new major release, and that takes basically some time (certainly more than 6 months which is the time we end up building 100% on each version if we have yearly release cycles and a few months waiting for some contributed modules to be updated).
I don't really think the main question is whether the release cycle should be 6 months, 1 year, or 2 years. I think the main issue is whether they should be really purely time based or we should consider other factors instead and if so, which ones.
So I don't really have the answers, just lots of questions: Should new major releases be time based, demand based, or maybe based on some feature roadmap? Does having a fixed release date, that lately we en up pushing too often, help at all? (Do we really need to build with a hard dealine in mind?) Is it more important to know 'when' (but with big uncertainty about 'what' is finally included on each release) or would it be more useful to know 'what' will come with each new version (moving the uncertainty to the release date)? Would new (backwards compatible) features be desirable for new minor versions? (That may make sense if the main versions are released not that often) Would it help if we included some more modules in Drupal core? (Would it help if we dropped some modules from core instead?) Can we learn anything from other big and successful software products out there?
Anyway, next I'll be taking some holidays, and then I'll be at Drupalcon Szeged which looks it's going to be great once again. So I'll vanish for a few days trying to keep myself away from Internet connections, maybe when I'm back the whole Drupal world has finally turned 6.
See you at Drupalcon!.