Evolution of the Web

Editor's Draft of 24 December 2011

This version:
Larry Masinter <masinter@adobe.com>

Status of this Document

This document is an editor's copy that has no official standing. For discussion at a future TAG meeting, and possibly on www-tag@w3.org (archived).

IMPORTANT: See Background document for history and references to previous work.


The of the Internet and the Web is global communication among unrelated parties, for wide variety of uses and needs. A wide variety of needs require a wide varity of applications (ways in which people communicate) and platforms (systems and contexts in which those applications run). Global communication among unrelated parties mean a variety of implementations. To support global interoperability, different implementations need to agree on the protocols, languages, and protocol elements in their communication.

The Web is not finished. Evolution is necessary to adapt to new requirements, add new features and fix problems in response to changes in circumstances, applications, and user needs.

How does evolution happen in a way that does not break it? Traditional means of evolution of formally defined languages, protocols, and standards do not fit well with the way in which the Web evolves.

Unmanaged evolution results in diminishing the interoperability of components, a cost to all which must be weighed against the benefits of evolution.

There are a number of issues that need to be addressed to help achieve the goal of global interoperability in an evolving world.

This document analyzes some of the issues and makes recommendations for best practice. The recommendations include attention to the way in which standards allow for extensibility by adding values and new meaning to the protocol elements used within them, guidelines for establishing and using registries, and a model for evolution in a way that a standards organization can lead in the managed evolution of the technology available to its implementations. In particular, it makes recommendations for the management of evolution of W3C Recommendations and related documents.

The subjects covered in this document are large and complex, and there is a risk of growing to become unwieldy. The scope of the document is limited, though: to summarize the design considerations important for creating W3C specifications that enable stable standards for the Web, in a way that the Web standards community can discuss issues and altenatives with a common framework, and the evolution of the Web not hindered by interoperability concerns.

One of the important aspects of the Web that is, unlike many other communication applications, there is a broad community of Web developers: designers, programmers, individuals, software engineers, who create instances or strings intended for use in the languages of the Web. Because of the breadth of users as well as large numbers of implementations, the evolution and standadization of the Web has been different from the evolution of most previous communication standards. The history of the evolution of the web is messy: "browser wars", "best viewed by", widespread misunderstanding, slow standards. If we understand better the way in which the Web evolves, we can facilitate the development of useful standards.

Typographical convention

Terms used with a particular (narrow) definition within this document (as noted in Concepts and Terminology are used in bold face. (Editorial comments are in parentheses and in italic.)

Table of Contents

The document has been divided into multiple sections:

These sections may become useful but aren't necessary yet and aren't filled out


(TAG members (implicit?), authors of previous work)