Late in the code sprint the last day of DrupalCON in Copenhagen, there was a lot of discussion going on about the upgrade path in Drupal 7. Questions of how to handle certain aspects of the process and prevent horrible flaming death when upgrading a site and its contrib modules. Upgrade processes, much like data migration, often become a sticky problem. Right now that stickiness has literally stuck the release of Drupal 7.
Regardless of the release status, folks are starting to adopt D7 for their projects. The Examiner recently launched on Drupal 7. Acquia's Drupal Gardens moved into public beta this summer, also on D7. These folks aren't alone, but not everyone has the expertise and backing to convince the decision makers to live on the bleeding edge.
With new Drupal sites being launched or started every day, what are developers and site builders to do? Do we continue starting new projects on Drupal 6 while waiting patiently for Drupal 7 to be DONE? Or do we take the risk of developing on Drupal 7 in a alpha or beta state? And what about contrib developers? Many have pledged through D7CX to have their modules and themes ready, but some may be waiting for the dust to settle before fulfilling that pledge.
Let's jump back to those last days in Copenhagen and the conversations about the upgrade path. If the upgrade path is the biggest hurdle to releasing Drupal 7, why wait? In Copenhagen, the idea was presented that perhaps we don't wait. Fact is, Drupal 7 is more or less ready - at least for new sites. Release 7.0, and let people (comfortably and confidently) start building new sites on it. In the mean time, continue working on the upgrade path - releasing that at a (hopefully not much) later date as 7.1.
Release 7.0 with no upgrade path? This might sound crazy to some, but this practice is not that uncommon. Before becoming a Drupal developer I worked for a large software company providing enterprise solutions to some pretty big clients. Because of the size and complexity of the software it was a pretty common practice for our products to ship without an upgrade path in the initial release.
I'm unsure where this conversation has gone over the last week, but I think this is something the Drupal community should strongly consider. In my opinion we should put our stamp of approval on 7.0 and get it out the door as soon as feasible so people can comfortably and confidently start building sites on it. The upgrade path can wait for a point release, and ultimately this will mean there are fewer sites that need to be upgraded.

Comments
I don't understand why you
I don't understand why you think the upgrade path is what is holding D7 back? A cursory examination of the remaining critical/major bugs on drupal.org shows that only a few are upgrade-related. And most of them aren't the hardest ones to fix.
Surely more will be added to that list as time goes on and more people test Drupal 7, but right now they are a small number. There is no reason to rush Drupal 7 out the door without fixing them first; that would be very short-sighted. We should release Drupal 7 once it's actually ready to be released.
--David Rothstein
Guarding against unknown unknowns
A full release is a public statement that the API is stable. It's possible that when fixing the upgrade path, something will be discovered which requires an API change to fix (this happened as recently as Drupalcon Copenhagen - http://drupal.org/node/895386#comment-3381224).
People can still start building sites on Drupal 7, but pretending that it's ready before the criticals are fixed and the API will harm us a lot more than a longer wait for a full release.
Of course, there's one way we can get it out quicker - pull up the criticals list and get patching :-)
-- Marcus Deglos
@manarth
What happened to KDE
Recently we saw something similar to this with KDE community. They planned a long-term changing from KDE 3 to KDE 4 but the marketing made was so terrible that people thought that KDE 4.1 would be as complete as KDE 3 was. That created a lot of noise and some headache to KDE community.
I think that if we release D7 without an upgrade path full functional we can make things became very bad to Drupal community since everybody is familiar with a release with full functional upgrade path.
What happened to KDE
Recently we saw something similar to this with KDE community. They planned a long-term changing from KDE 3 to KDE 4 but the marketing made was so terrible that people thought that KDE 4.1 would be as complete as KDE 3 was. That created a lot of noise and some headache to KDE community.
I think that if we release D7 without an upgrade path full functional we can make things became very bad to Drupal community since everybody is familiar with a release with full functional upgrade path.
@rfsbsb
No Way
You're asking the wrong question. "DONE" should never be the word one uses with software projects especially open-source projects. That implies that there is an endpoint where all development stops. Living software is always moving and changing. You should ask, "Is Drupal ready for the public? Will it meet people's expectations?"
Every Drupal release should be able to upgrade from the previous version. Not being able to do that would be a major regression in feature set.
If you aren't happy with the progress or feel impatient, please invest the time and money to move the critical issue queue forward.
--momendo
To be fair, this is not an
To be fair, this is not an idea I came up with on my own. It was presented by two separate individuals heavily involved with the efforts to finish D7. I haven't named them as I haven't asked their permission to do so, and it's obvious there's some pretty negative reactions to suggesting something like this.
We can't make everyone happy, and I'm fine waiting for D7 to be official. We'll use it here as the things we need are ready. So this isn't about my impatience or trying to rush something out the door for the wrong reasons.
As we move forward as a software project we need to be open to different ideas or changing how things may have been done in the past. It needs to be about weighing the cost/benefit to the project. Perhaps releasing 7.0 with no upgrade path would have a negative impact, it's hard to say. If it was communicated properly to the community at large I don't think it would be a bad thing.
Right now there are other criticals holding back release, but it's been communicated a few times now that the upgrade path is a problem, that it's a big hang up - perhaps THE big hang up. Take a look at this post from CHX a few weeks ago http://www.drupal4hu.com/node/263.
And frankly, I'd advocate for splitting the upgrade into 7.1 not just to get 7.0 out the door sooner but to ensure that pressure to release 7 doesn't rush completion of something as critically important as a solid upgrade path.
These are just ideas, ideas I've heard from folks in the thick of it - and ideas I thought it prudent to put forth for consideration.
Post new comment