TIP 54: Using PURLs to Unite the Tcl Webspace

Author:         Andreas Kupries <[email protected]>
Author:         Jeff Hobbs <[email protected]>
State:          Withdrawn
Type:           Process
Vote:           Pending
Created:        16-Aug-2001


This TIP proposes the use of PURLs to unify the scattered landscape of Tcl URLs into a coherent set of information about the language, the community, extensions, etc.

Background & Rationale

One of the recurring themes in the community in general (and news:comp.lang.tcl in particular) is the lack of central website people can turn to for an introduction to the language, the community, search for extensions and packages, et cetera.

Most of the solutions proposed so far have the distinctive disadvantage of not being able to use the existing sites and bind them into a whole. This is further aggravated by the fact that the 'natural' domain names, like for example http://www.tcl.com/ and http://www.tcl.org are already taken by other entities, commercial and not, and thus not available anymore. We do have control of the http://www.tcl-tk.net/ domain, provided by David Welton.

Instead of giving up at this point I propose to use PURLs a.k.a. Persistent URLs to construct a virtual website (the Tcl space) out of all the existing independent efforts. See http://www.purl.org/ for more explanations of PURLs.

Note that PURLs not only can refer to single URLs but to entire sites. The latter is done through a technique called 'partial redirection'. This ... is emphasized here because partially redirected PURL have to be used with a trailing slash whereas PURLs referring to single URL must not have a trailing slash.

In the lists below partially redirected PURLs are indicated by a trailing slash.

A restriction we face is that PURLs are case insensitive. This means that the names we will have to come up with have to be unique even with case removed.

One of the most important features is the persistency. In real life however organizations, people, websites, etc. can disappear. According to http://www.purl.org/OCLC/PURL/FAQ\#toc3.14 the PURL stays in existence but can be redirected to a page detailing the history of the purl. This would include the decommission. We could also do our own scheme and redirect the purl to a page explaining the history in a more Tcl-specific manner (like: Company went out of business, was acquired, etc.).


This TIP is driven by several conflicting needs:

Of the existing PURLs the PURL domain /tcl created by Don Libes is the most promising one for the unification of the Tcl space. Six of the 24 aforementioned PURLs are defined below this domain too, providing a (good) framework on which to build.

The existing PURLs and sub-domains in the /tcl domain are:

With the exception of expect all of these are general classes and/or refer to important sites. They are used as is, except for expect which has to be redirected into the proposed sub-domain package.

The following new sub-domains covering the most important general classes of information and/or websites are proposed here. Please note that the examples used in the list below are using purely informal everyday names to refer to entities in the proposed domain. These examples should not be seen as suggestions for the concrete naming scheme used by the domain.


The /tcl domain was created by Don Libes which made him automatically the maintainer of the domain http://www.purl.org/maint/search_user.pl.cgi?userid=^LIBES$ . He has already extended the maintainership to the entity TCLGROUP http://www.purl.org/maint/search_group.pl.cgi?groupid=^TCLGROUP$ , currently consisting of

For the future I propose that



The following examples show how to use PURLs, using some of the already existing ones:

* <http://www.purl.org/tcl/tip/> refers to the TIP archive.

* <http://www.purl.org/tcl/wiki/> refers to the Tcl'ers Wiki.


This document is in the public domain.