As of this writing, Drupal 7 has been out for more than 6 weeks.
I have a customer with a relatively simple site to convert from D5, yet when I go down the list of modules, very few have even an alpha version for D7. I have, reluctantly, been forced to tell them that I can't guarantee a stable D7 site. There's even one module for D6 that is not yet stable, and a few that have no D6 version.
Almost all of the modules pledged to have an official version for D7 on the day it was released. Many of them do have -dev versions, but those are NOT "official" releases. Several more have -alpha releases (technically "official") and a few have -beta. I can count on one hand the modules that have an official "dot" release, that is 7.x-1.0 with no suffix.
Now, I am a developer and would be willing to help get these modules to a real "dot" release, but I cannot expect my employer to pay for this. And since it is a government agency, I can't expect the taxpayers (like me) to pay for it either.
What Does This Mean?
So here's what I'm learning:
- The "only current and immediately past releases are supported" policy results in a "fast follower" mentality that the community is simply incapable of supporting.
- The pledge idea was a nice experiment, but failed miserably. One can hope that developers will learn from this failure, but I doubt it. This situation is really not much better than the 5->6 upgrade. I'm glad I didn't make that pledge on any of my modules.
- When developing a web site, one must be discerning in the module selection process. Ask yourself, "What are the chances that this module (or theme) will be maintained and carried forward to the next release?"
- Be honest with the web site owner.
- Discourage the "fast follower" and "every other version" mentalities. Encourage an "every version after a while" mentality.
- I haven't decided yet whether it is better to use a contributed module that does much more than the customer needs or to develop a custom module that does only what they need. I suspect that the best answer is somewhere in between.
- Document, document, document.