The initial project plan is based on the one from Angie (webchick), our illustrious D7 maintainer, on http://drupal.org/node/293540#comment-1076165
Before modifying this project plan, please first read the discussion about this plan below.
How do we get a new default theme in core?
- Create a project plan for getting a new default theme into Drupal 7 core. (That’s why this page is a wiki.)
- Pick a flexible, easy to extend base theme for core. A group of Known Knowledgable Themers gets together and evaluates the pros/cons of all the various frameworks and chooses "the one" to go with. This is similar to how the selection of jQuery as Drupal's JS library went. Whoever heads this up, timebox the discussion at X weeks to give a firm deadline for when consensus must be reached (but leave enough time for people to comment).
- Add the new base theme to core. Once "The One" is chosen, we work on making that into core (which means replacing all of Drupal core's default output to match it). It should be emphasized that this is non-trivial. The chosen theme must be well-coded, well-documented, conform to coding and web standards, etc. etc. Therefore, I am completely less than jazzed about the idea of trying to do this more than approximately once. I'm very -1 to the idea of "Let's pick the X prettiest looking themes in contrib and just jam them into core." -- there is far, far more to a good solid theme than how pretty it is.
- Theming contest to create D7 sub-themes for core. Now that we have our flexible, easy to extend base theme in core, it's time to start a theming contest. This contest revolves around creating sub-themes for The One True Core Base Theme. Pick the best X of these and go to town. These are /much/ easier to review and get into core en masse, because they will probably be changing CSS only, or if they do override markup it'll be very short snippets.
- Create a theme contest RFP. We need a clear set of guidelines to what a core theme should include.
- Create a tarball of theme files. To get as many designers as possible, we should provide them with a simple downloadable set of files that they can use to more easily build their theme. People who enter the contest should not necessarily be Drupal theme system experts. As long as the tarball files are in version control, we can reverse-engineer any winners to see what they did and to clean up the code.
- Advertise the hell out of it.
- Vote for the winners.
- Evaluate the winning theme entries to see how close they are to being core worthy. Themes that have too high a wtf/min rate may need to be skipped.
- Add sub-themes to core. Take the “the chosen” and make them core ready and get them committed. Since the initial, un-styled tarball will be in version control, we can use that to determine what changes were made and, thus, what needs to stay in the sub-theme.
- Remove the cruft.
$ cvs rm themes/pushbutton
$ cvs rm themes/bluemarine
$ cvs rm themes/chameleon
$ cvs commit -m "So long, ugly table-based themes, and thanks for all the fish!" - Profit! ;)
[Edit: 2008/12/14—I removed the dates from this plan since I was wildly optimistic when put them in initially.]