I think that some thought and discussion needs to be put into the drupal development path. This post is in no way meant to be a criticism of the development team or their standards or ideals, I think that Drupal is an amazing product and am deeply indebted to the team that have created and developed it.
However I think that the development path is not ideal. When D6 was launched there were a lot of critical modules that were not available for it. For newcomers to Drupal this was a bit confusing. I thought ‘great a new version, I will concentrate on that’, but slowly found that I could not achieve a great deal with it. You end up reading D5 tutorials and trying to apply them to D6, then finding that certain modules are not available, you think they might be available soon so you hold on, only to find that the going is much slower than you thought, you offer to help, but as a drupal newbie no one wants you to assist in their module development.
Eventually you end up going back to D5 and building sites in that, while continually doing tentative explorations into the world of D6 to see if it is ready yet. It is getting close, but it isn’t quite there.
Now D7 is starting to put pressure on the whole system. The fact that D7 is going to be released soonish starts to make it hard to develop in D5 for fear of being left behind, lack of security release cover and lack of module development, yet in some cases you still cant use D6 because the module still has not been ported.
Added to which the development effort that is put in by the module contributors is further diluted, good new modules being developed are only being developed for D6 and D7, so you cant use them in your D5 site. Getting modules to work in D6 is essential, because if the launch of D7 is anything like that of D6 then it is going to happen about a year before the product becomes useful due to modules having to catch up. Yet contributors time is being diluted by the pressure to get their module to work in D7 as well as D6.
I don’t know the answers to this problem. I have some ideas, but they all have negative and positive sides. We could say that D7 wont be launched until a certain list of modules are available for it, then have the community generate that list, vote on it, set a cut off. That works great for people getting started on D7 but risks having D6 development diluted. We could also have a similar list of modules that need to be available for D6 before D7 is launched, get the community to vote, and set a cut off. This works better for people that have invested time and effort in D6 but leaves the people who have worked hard to build D5 sites out. Or we could have a policy change to provide security support to more than just the current and the one previous version. This would at least give some peace of mind who are stuck in D5 developments because the modules are not available in D6, D5ers would still lack some of the more modern modules but security is the real important issue. Drupal is getting very big, and hence a prime target for attacks. A lot of small businesses cannot afford to upgrade their site to D6, particularily in the current financial climate, so losing security support is a real issue. Perhaps we should look at making it the two previous versions. Or if we set a time limit, say security releases for 6 years, then at least we would be able to explain when selling a site that it has a shelf life of 6 years.
I look forward to hearing other peoples thoughts on this topic
Comments
This has been covered in many
This has been covered in many different posts
http://groups.drupal.org/node/3467
http://buytaert.net/backward-compatibility
The closest thing to a vote: take the top 20 most used modules (http://drupalmodules.com/top-downloads), they all have 6.x versions. The problem is people often go with modules which the mantainer stops mantaining and so they are stuck when it comes to upgrade; there has been talk of a module review system to deal with this.
Believe me, the upgrade path from one version of Drupal to another is much easier compared to some CMS's (Our team has recently migrated 3 big sites to D6 from another CMS because we reckoned it would take about as much work to migrate as to upgrade to the next version of the old CMS). Plus as the previous version is still supported for bug fixes, it means you have at least 2 years of support for every version (and there is nothing stopping people from signing on to mantain older versions). I did think D6 made a mistake having such a big time gap between D6 and CCK/Views releases, but I dont think the timelag will be so great in D7
Dries has explicitly talked
Dries has explicitly talked about this in his keynote speech on Drupalcon Paris. People are really aware that contrib modules should be available as soon as D7 is released. Many module maintainers have already taken this pledge: http://cyrve.com/d7cx.