How the Opt-in Will Work
I, among others, have been discussing this opt-in issue with Chris Wilson for the past few weeks, in relation to HTML5.
(See the various versioning threads on public-html if you're interested in reading it all)
http://lists.w3.org/Archives/Public/public-html/2007Apr/
So, AIUI, this is how it will work:
Existing (X)HTML DOCTYPEs (e.g. HTML 4.01 Strict, XHTML 1.0 Strict, etc.) that currently trigger standards mode will require an explicit opt-in in order to trigger the latest standards mode in future versions of IE. Without the opt-in, such pages will default to IE7 mode. So that means, existing pages will continue to render exactly the same way that they do in IE7, forever, until an explicit opt-in is added.
Existing HTML DOCTYPEs that trigger quirks mode will continue to trigger quirks mode, even if an opt-in is present. I'm not totally certain about this, but it is the most likely to ensure that pages don't trigger standards mode in IE, and quirks mode in other browsers, which would cause more problems and force other browsers to reverse engineer and implement the opt-in switch.
The HTML5 DOCTYPE will trigger standards mode by default, without an additional opt-in. However, there is no guarantee that this will always be the case. For example, IE9 could be released and require an additional opt-in, even with the HTML5 DOCTYPE. If that occurs, it will be a serious problem (see below).
The specific syntax of the opt-in is not yet known, but it will either be a comment based opt-in, an attribute on the html element, or both (so the author could use either one).
Even though Microsoft have good intentions about not unintentionally breaking compatibility with existing content, there are several major problems with this situation.
1. IE will never, ever be fully interoperable with other browsers in the way it handles legacy content. This was one of the problems that HTML5 was attempting to solve, and the other browsers are going to work hard on being interoperable with each other, but Microsoft are refusing for any pre-HTML5 content.
2. Because it's possible that IE will continue to add more opt-ins in the future, even for future HTML5, they will effectively be introducing an unbounded number of frozen bug states, each of which will require a new opt-in to be added by authors. In the worst case scenario, other browsers will be forced to reverse engineer every one of those frozen bug states, and support the opt-ins.
Every new mode added to browsers increases cost, complexity and the surface area for bugs and, worse, security holes. Microsoft seem willing and able to ignore those issues, but they will cause serious problems if other browsers are forced to ever reverse engineer and implement IE's bug-modes and opt-ins. That is extremely anti-competitive behaviour, and I honestly hope it won't come to that.
IMHO, Microsoft is making a big mistake and they will suffer for it in the long run, but there's not much we can do except try to make the best of a bad situation.