Evolution
This Wiki topic provides a model for understanding how Web standards evolve, and to reconciles Web development with more traditional standards development.
The Internet has become a primary communication network for the planet, used for a wide array of applications used by an enormous variety of devices and systems. The Web is not just an application but also a platform on which a growing number of Internet applications are built. For these applications and systems to work together, different implementations need to agree on the interfaces between them.
But the Web is also constantly changing, as new requirements arise, problems are discovered, new techniques discovered. How does evolution happen in a way that does not break the Web?
Traditional means of evolving standards do not fit well with the way the Web evolves. This analysis attempts to provide a different perspective for describing evolution of web standards, in order to help resolve some of the many contentious issues facing protocol designers and standards authors. This work includes 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 of web standards.
Compared to most other communication applications, the size of the community creating the Web and web applications is enormous, since it includes not only of implementors of browsers but also designers and programmers who compose web pages and scripts, and who build applications based on the Web. Because of the breadth of the base of implementors and implementations, the evolution and standardization of the Web has been different from the evolution of most previous communication standards. The history of the evolution of the web is messy; constrained by patent claims, the financial benefit of controlling standards, and confusion over the evolutionary model and extensibility methods, leading to "browser wars".
The hope is that
(Note that this topic originated from http://www.w3.org/2001/tag/2011/12/evolution and not everything there has yet been migrated to the Wiki.) Topics:
- /Background: how we got here, why was the TAG originally talking about this?
- /Terminology, /Concepts, /Risks (from [Concepts and Terminology]): establishing a framework and terminology for use throughout
- /Identifiers: adding new values to the set of allowable values for a protocol element.
- /Registries: a common way of adding new values is to maintain a registry and support addition of new values.
- /MIME: the system used in the web to name languages (and character codings)
- /References : the interpretation of normative links to other specifications under evolution
- /Versions : Versions and Version Numbers
- /Content Negotiation : Getting different content (representations) from the same URL (resource)
- [Search Engines]
- [Normative Language in specifications]
- [Catalog]: a catalog of Web language and protocol extensibility points
- [Natural Language analogy] Analogy between evolution of web languages and protocols vs. natural language evolution
- [Left Over Topics] Even more tenuous subjects.