<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<rfc ipr="full2026" docName="draft-king-vnd-urlscheme-03.txt" category="bcp">
<front>
  <title abbrev="vnd and prs URI schemes">
    The vnd and prs Trees for URI Scheme Names
  </title>

 <author initials="I." surname="King" fullname="Ian King">
     <organization>Microsoft Corporation</organization>
     <address>
     <postal>
         <street>One Microsoft Way</street>
            <city>Redmond</city><region>WA</region>
             <code>98052-6399</code>
            <country>US</country>
      </postal>
      <phone>+1 425 703 2293</phone>
      <email>iking@microsoft.com</email>
  </address>
  </author>

 <author initials="L." surname="Masinter" fullname="Larry Masinter">
     <organization>Adobe Systems Incorporated</organization>
     <address>
     <postal>
         <street>345 Park Ave</street>
            <city>San Jose</city><region>CA</region>
             <code>95110</code>
            <country>US</country>
      </postal>
      <phone>+1 408 536 3024</phone>
      <email>LMM@acm.org</email>
      <uri>http://larry.masinter.net</uri>
  </address>
  </author>
 <date day="6" month="September" year="2003" />
<area>Applications</area>

<abstract>
 <t>

This document describes a way in which individuals and vendors can
define URI schemes in a way that avoids name collisions, but with
relaxed registration requirements. This is done by allowing URI
schemes that start with "vnd-" or "prs-", analogous to a similar
mechanism for MIME media types.

</t></abstract>
<note title="Note">

<t>

Discuss this document on uri@w3.org.
A HTML version of this document can be found at
http://larry.masinter.net/vnduri.html. 
</t>

</note>
  
</front>
<middle>

<section anchor="intro" title="Introduction">

<t> The registration process for URI schemes, described in <xref
target="refs.rfc2717">RFC 2717</xref>, requires IESG review and
approval of all proposed scheme names within the "IETF tree", which
encompasses simple, short, often descriptive URI scheme names (such as
http:, fax:, or mailto:).
</t>
<t>
However, there are circumstances where it is desirable to
allocate a URI scheme name outside of this process.
This document establishes alternative trees, "vnd-" and "prs-",
corresponding to the similar concept for MIME type registrations<xref
target="refs.rfc2048" />.  The rules for use and registration of URI
schemes with in these trees are intended to be analogous those for the
corresponding MIME type trees.
</t>
<t>

The "vnd-" tree is used for URI schemes associated with available
products or services; "vendor" or "producer" are construed as
equivalent and broadly. The registration belongs to the vendor or
organization producing software or offering a service that utilizes
the URI scheme. Registration in the vendor tree is distinguished by
the leading "vnd-", followed, at the discretion of the registration,
either by the scheme name or (preferably) by an IANA-approved
designation of the producer's name, followed by the specific scheme
name.
Designations of producers should match those used for media types, and
follows the same criteria.

</t>
<t>
Similarly, the "prs-" tree is intended for URI schemes used
experimentally or as individual contributions.  The owner of
"personal" registrations and associated specifications is the person
or entity making the registration, or one to whom responsibility has
been transferred as described below.
</t>
<t>

Note that earlier drafts of this document suggested using "." as the
delimiter between "vnd" and the URI scheme. However, <xref
target="refs.rfc2717">RC 2717</xref> reserved the "-" character for
non-IETF registrations (and not "."), so the delimiter was changed for
compatibility.  Because these earlier drafts were available for
several years, however, there may be some URI schemes with "vnd."
still in use.

</t>

</section>
<section title="Syntax">
<t>

The general syntax for these new trees follows the syntax recommended
in <xref target="refs.rfc2717">RFC 2717</xref>:

<figure>
 <artwork>
     scheme     = ("vnd-" / "prs-") [ vendor-id "-" ] scheme-id
     vendor-id  = ALPHA *(ALPHA / DIGIT / "+" )
     scheme-id  = ALPHA *(ALPHA / DIGIT / "+" / "-" / "." )
 </artwork>
</figure>
</t>


<section title="Syntax notes">
<t>

Note that <xref target="refs.rfc2396">RFC 2396</xref> limits the
characters in URI scheme names to include only letters, digits, plus
("+"), period ("."), or hyphen ("-"); further, that although scheme
names are case insensitive, the canonical form is lowercase and
documents that specify schemes must do so using lowercase
letters. These restrictions apply to &lt;vendor-id&gt; and
&lt;scheme-id&gt;.
</t><t>
To avoid confusion, a &lt;vendor-id&gt; may not contain a hyphen "-"
or a period ".".
</t>
</section>
<section title="Choosing a vendor-id">
<t>

The vendor-id is an IANA-approved designation, consisting of a short
string of characters that is sufficient to uniquely identify the
organization.

</t><t>

To avoid exhaustion of the namespace, vendors are encouraged to
establish only one vendor-id, although it is recognized that large
organizations may actually consist of multiple sub-units.
Organizations should use the same vendor-id for MIME types and URI
schemes.

</t><t>

The organization may be a business (whether for-profit or not),
governmental unit, educational institution, or any other entity,
organization or community which is regularly engaged in producing
software.  The term "vendor" is used in this document for simplicity.

</t><t>

IANA may choose to reject a request for a particular vendor-id or
propose a different vendor-id based on IANA's best judgment as to
whether the string proposed is appropriate for the organization
requesting it.

</t>
</section>
<section title="Syntax for scheme-id">
<t>

There are no formal restrictions on the scheme-id except that the
characters be chosen from those allowed in a URI scheme name (letters,
digits, plus, period, hyphen), and be registered using the lowercase
form.  The registrar is encouraged to select a scheme-id that is short
and descriptive of its purpose.

</t>
</section>
</section>
<section title="Requirements for Scheme Name Registration">
<section title="General Requirements">
<t>

The purpose of registration is to give notice to the Internet
community of the existence the scheme.  Registration of the vendor-id
is required, and serves to partition the namespace (and avoid
collision).

</t><t>

Similarly, to avoid collision and misuse, registration of "prs-" and
"vnd-" schemes without vendor-id parts is required.

</t><t>

If the vendor-id is registered, registration of a specific scheme-id
is optional; if supplied, the registrar may supply whatever
information is appropriate. Registration may only consist of the
scheme name, or might include a pointer to appropriate documentation
of the scheme's syntax and semantics.

</t>
</section>
<section title="Registering the vendor-id">
<t>

The request for vendor-id registration may be sent separately, or may
be included in a scheme name registration.  The initial request for
vendor-id names must contain the proposed vendor-id, the vendor's
legal business name, principal business address, telephone number, and
contact information for a person or position that will be responsible
for the use of the vendor's subtree.  The vendor should inform IANA if
of changes in this information, and may explicitly transfer ownership
of its vendor-id and associated subtree.

</t><t>

A given vendor-id can be issued only once, and it does not expire.
This is to avoid possible name collisions, since using a
registered vendor-id means there may be URI schemes that are
not otherwise registered.

</t><t>

IANA should maintain a public registry of the vendor-id's, together
with contact information for each vendor so registered.  A form for
submission of this information (together with scheme information as
appropriate) is provided in this document.

</t>
</section>
<section title="Publishing Scheme-Specific Information">
<t>

While public exposure and review of a URI scheme created in the "vnd-"
or "prs-" tree is not required, it is encouraged.  The
'uri-review@ietf.org' mailing list may be used for review of new URI
schemes, even if they are not in the IETF tree.

</t><t>

Publication of the scheme description as an Informational RFC may be
appropriate for those schemes of sufficient interest to the IETF
community; however, this mechanism is usually appropriate only for URI
schemes in the IETF tree.

</t><t>

Note that a separate, explicit request should be made to IANA (at
IANA@iana.org) to register schemes; discussion on uri-review@ietf.org
is insufficient. The request should follow the form is provided in
Appendix A of this document.

</t><t>

Internet Drafts intended for publication as Informational RFCs
describing new URI schemes should also contain an 'IANA
Considerations' section with the request for registration included.
The registration would occur at the time of publication of the
document as an RFC.

</t>
</section>
<section title="Change Control">
<t>

The vendor is the owner of all schemes within its registered tree, has
sole responsibility for management of the sub-tree created by its
vendor-id, and owns change control for any URI schemes deployed
therein.  If a vendor publishes information about a vnd URI scheme by
either of the methods described above, changes to the syntax or
semantics of that URI scheme must be subsequently published by the
same medium as originally employed.

</t>
</section>
</section>
<section title="Security Considerations">
<t>

The vendor identified by the vendor-id part of the URI scheme name
should be consulted for any information regarding the URI scheme and
its implementation.  To that end, vendors must provide a point of
contact that can be reasonably authenticated, for instance, common
business contact information (business address, telephone number,
etc.).  (This is addressed in the registration section above.)

</t><t>
The registration process encourages vendors to analyze and
disclose the security implications of using particular URI
schemes. Unregistered schemes or those without appropriate
security considerations may be unsafe to use.
</t>
</section>
<section title="IANA Considerations">
<t>

IANA currently maintains a registry of URI scheme names, per the
requirements of RFC 2717. Scheme names established under this
process should also be entered in that registry, when requested.
</t><t>

IANA should maintain a separate registry of vendor-id strings, relating
the vendor-id to the vendor information (business contact information,
etc.) provided in the registration. The vendor-id string list
should be used also for vendor strings used in media types,
as per RFC 2048.  IANA should reject a vendor-id
registration if it duplicates an existing registration, seems
inappropriate, confusing, misleading, or too similar to another
registered vendor-id, at IANA's discretion. IANA may offer an
alternative vendor-id string that IANA considers more appropriate.
</t><t>

A party whose vendor-id registration has been rejected or modified may
ask for review of the registration by the IESG, in the manner
described in RFC 2026, section 6.5.

</t>
</section>
<section title="Registration forms">
<t>
Form for vendor information:

<figure>
 <artwork>
   Vendor-ID:        proposed identifier
   Name:      formal name of organization
   Address:   full name of organization
   Telephone: full telephone number
   Type:      type of organization (corporation, educational
                institution, etc.)
   Contact Information:  name of contact person and location information
 </artwork>
</figure>
</t>
<t>
The form for scheme names follows RFC 2717, section 6.0.
<figure>
 <artwork>
    Scheme name: 
    Scheme syntax:
    Character encoding considerations:
    Intended usage:
    Applications and/or protocols which use this URL scheme name:
    Interoperability considerations:
    Security considerations: 
    Relevant publications: 
  </artwork>
</figure>


</t>
</section>

</middle>
<back>

<references title="Normative References">
<reference anchor="refs.rfc2396">
 <front>
  <title>Uniform Resource Identifiers (URI): Generic Syntax</title>
  <author initials='T.' surname='Berners-Lee' fullname='Tim Berners-Lee'>
   <organization />
  </author>
  <author initials='R.T.' surname='Fielding' fullname='Roy T. Fielding'>
   <organization />
  </author>
  <author initials='L.' surname='Masinter' fullname='Larry Masinter'>
   <organization />
  </author>
  <date month='August' year='1998' />
 </front>
<seriesInfo name='RFC' value='2396' />
</reference>

</references>
<references title="Informative References">

<reference anchor="refs.rfc2717">
<front>
 <title>Registration Procedures for URL Scheme Names</title>
 <author initials="R." surname="Petke">
   <organization /></author>
 <author initials="I." surname="King">
   <organization /></author>
 <date month="November" year="1999" />
 </front>
 <seriesInfo name="RFC" value="2717" />
</reference>

<reference anchor="refs.rfc2718">
<front>
 <title>Guidelines for New URL Schemes</title>
 <author initials="L." surname="Masinter">
   <organization /></author>
 <author initials="H." surname="Alvestrand">
   <organization /></author>
 <author initials="D." surname="Zigmond">
   <organization /></author>
 <author initials="R." surname="Petke">
   <organization /></author>
 <date month="November" year="1999" />
 </front>
 <seriesInfo name="RFC" value="2718" />
</reference>

<reference anchor="refs.rfc2048">
<front>
 <title>Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures</title>
 <author initials="N." surname="Freed">
   <organization /></author>
 <author initials="J." surname="Klensin">
   <organization /></author>
 <author initials="J." surname="Postel">
   <organization /></author>
 <date month="November" year="1996" />
 </front>
 <seriesInfo name="RFC" value="2048" />
</reference>

</references>

</back>
</rfc>
