[Responder] James Graham
I strongly object to the proposal to add versioning information in HTML. In general terms, versioning on the UA side is bad for the web, significantly increasing the burden of complexity in new implementations, and therefore reducing competition in the browser space. Versioning is also bad for authors because it means they have to learn magic incantations to opt into the behaviour they expect, leading to confusion when things go wrong due to picking the wrong version. These problems can be seen today with quirks vs limited quirks vs standards modes. Given that switching behaviour based on versions is bad for both end users and authors, we should be designing the language to make it difficult for UAs to version switch, even if it is in their interests to do so, because it is not in the interests of the web as a whole. Although the change proposal makes some attempt to limit the scope of when versioning information is permitted and how UAs may react to it, it seems foolish to rely on both authors and vendors following such a complex set of rules when the downsides of breaking them is so great. In particular if UA vendors break the rules. costs are mostly in the form of externalities incurred by other vendors, authors and ultimately end users. We should be working to avoid such things, not encouraging them by making them easy. The suggested rules continually refer to "controlled environments". This implies that the change proposal is mainly concerned with non-web use cases. I do not believe we should give priority to non-web use cases particularly when they directly conflict with the requirements for the web. I also note that were these rules to be followed, and versioning only used in non-web applications, several of the supposed benefits of versioning could not actually occur in the manner described, unless we believe the argument that an unused syntactic construct is materially different from one that does not exist. However it is not clear why this is so; for example one suggested benefit of versioning is continuity of conformance for existing documents in the face of changes to the conformance requirements of the language. It is hard to see how this is realised in the case where there is a versioning mechanism that a document is not permitted to use, but not in the case where there is no versioning mechanism. In this sense I believe that the proposal is internally inconsistent. This inconsistency would be more troubling if the purported benefits of versioning were real. However I believe they are not, and agree with the criticisms that Henri made in his response. It has been suggested that non-browser UAs, in particular editors (or "editing workflows"), may benefit from versioning information. However it is not clear why this would be uniquely important, or even necessary, metadata for an editor. Such a UA may also want to store information such as the current cursor position, or details of the allowed features according to a specific set of browsers that the author wished to target. I do not think such UAs benefit substantially from a version indicator and certainly I see no need to raise it to a privileged position above all other possible metadata.