Drupal 7 first opened for development back in February 2008. At Drupalcon Boston a month later, we brainstormed on how to tackle some of Drupal's toughest challenges: our usability was not up to par, we were burning time fixing the same bugs over and over, our database abstraction layer suffered many limitations, upgrades were a nightmare, and critical modules such as CCK not being ported were harming our adoption rates of Drupal 6. Drupal 7 has made tremendous strides since then to solve each of these problems, as well as many others. Among the improvements are a revamped UI, a testing framework, a new database abstraction layer, a browser-based upgrade system for contributed modules and themes, and CCK in core.
Now it's time to head into the final stretch: stomping down the list of critical bugs, so that we can release Drupal 7.0 out into the world! :D
To help this along, Dries and I will create the first alpha release of Drupal 7 on January 15, 2010, Drupal's ninth birthday. For developers working on Drupal 7 clean-ups, particularly around anything that is touching APIs or the UI in a fundamental way, your changes will need to be completed by then. Once the alpha is released, we will start to treat Drupal 7 as an actual stable release, which means nothing but non-API-breaking bug fixes.
The initial brainstorming at Drupalcon just a few weeks after development opened for Drupal 7 was instrumental in laying a strong foundation for the entire release, I would love to see Drupal 8 get the same opportunity. However, this means releasing Drupal 7 before Drupalcon SF (mid-April), so that our attention is not divided between getting our past efforts out into the world, and deciding what our future efforts will be.
And when does Drupal 7 come out? When the list of critical issues hits zero (currently at 340, though this will fluctuate all over the place for awhile as non-critical issues are marked such as and new critical issues are found). To spook you with a little math, if we want to see a Drupal 7.0 release by the end of March, at the current total we need to solve roughly 120 issues per month, or 30 issues per week, or 5 per day. Yipes! :)
Obviously, the more people we have helping out with fixing critical issues, the faster this number will go down. So if you haven't yet played around with Drupal 7, now's a great time to start! Pick a critical bug that looks interesting/achievable, and take the opportunity to learn a bit about the changes in Drupal 7 at the same time while you solve it. There are always folks in #drupal and #drupal-contribute on irc.freenode.net to help you, and there are a variety of bugs for all skill levels and areas of expertise.