Comments on Rationale

Jim Whitehead (ejw@ics.uci.edu)
Mon, 22 Jul 1996 05:22:56 -0700


David Durand and Fabio Vitali posted a thought-provoking draft of
functional requirements for versioning on the WWW.  At the beginning of
their document, they describe what they consider to be the rationale for
versioning on the web.  My comments in this post apply to the rationale
elements of their document.

While I think their functional requirements draft provides a solid
foundation for a final draft document, it still requires some revision, and
tightening up.  I offer the following comments in this vein.

I think the first bullet, "(Versioning) allows more efficient management of
large web sites," is a benefit that can be ascribed to facilities for the
management of configurations of versioned resources, rather than simply to
versioning individual resources.  Thus I see efficient management of large
web sites helped by CM capabilities working in tandem with versioning
capabilities, not simply by versioning capabilities alone.

The second bullet, "(Versioning) allows concurrent and controlled access to
resources by authors and editors" is at once too broad and too restrictive.
Too broad, because browsers already handle concurrent and controlled
access to resources: they serve the resource concurrently to everyone who
asks for it (excepting cases where the resource is password protected).
Too restrictive, because the potential roles of people employing versioning
capabilities is far greater than simply authors and editors.  Computer
programmers, reviewers, managers, students, etc. are all people whose roles
both fall, and don't fall under "authors and editors."

However, I think this bullet does get at the essence of one of the most
important capabilities versioning should provide: parallel development
support, the ability for two or more people to simultaneously edit a
resource.  The second issue alluded to in this bullet is access control, in
many versioning schemes a necessary support capability for parallel
development.  Thus I think the "concurrent and controlled access" bullet
should be subdivided into two bullets:

- Versioning provides parallel development support
- Versioning provides access control over resources

The bullet stating that versioning enhances annotation support due to the
preservation of the historical record merges several points which should be
separated:
- Versioning provides a consistent naming scheme for versions of a resource

This supports two major rationales for versioning:
- browse access to previous versions of a resource
- annotation support

- Jim Whitehead <ejw@ics.uci.edu>