Re: Request for well-known URI: contribute.json

"Roy T. Fielding" <> Mon, 10 October 2016 17:42 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2A5A7129578 for <>; Mon, 10 Oct 2016 10:42:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Hs2T3Y46ryon for <>; Mon, 10 Oct 2016 10:42:34 -0700 (PDT)
Received: from ( []) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4BCD51288B8 for <>; Mon, 10 Oct 2016 10:42:34 -0700 (PDT)
Received: from (localhost []) by (Postfix) with ESMTP id 8270E60001020; Mon, 10 Oct 2016 10:42:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to;; bh=nX5YxE/t/ZRR1vGUrM9aiO9tVjQ=; b=kQzzf1pT7Wj1jOXu1mXUOljHR79r pfW6KJW1zKg9Wk5h63WUpEFeLjkW+QWQOViZ9TAKnJmbNoXJGVGjWGj2YOs8xybr 6VeUQxUjuCPTg+3pT5G0V49zEuLqXS3v63IX4w2GJYGwE0sNCy0PHX5VgexTu0hm rs1QOlC+K8N4s1I=
Received: from [] ( []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 70F3660001006; Mon, 10 Oct 2016 10:42:33 -0700 (PDT)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Subject: Re: Request for well-known URI: contribute.json
From: "Roy T. Fielding" <>
In-Reply-To: <>
Date: Mon, 10 Oct 2016 10:42:32 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: Paul McLanahan <>
X-Mailer: Apple Mail (2.2104)
Archived-At: <>
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Well-Known URI review list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 10 Oct 2016 17:42:37 -0000

On Oct 6, 2016, at 8:01 PM, Paul McLanahan <> wrote:
> Hello all,
> Some colleagues and I at Mozilla have developed a JSON schema for indicating that an open-source website or project welcomes contribution in some way. We have been using it for a while now but would like to formally register a .well-known URI for it. Currently the documentation recommends a URI of "/contribute.json", but we'd obviously like to move that to "/.well-known/contribute.json" and support both.
> Thank you for your consideration.
> --
> URI suffix: contribute.json
> Change controller:
>         Mozilla
> Specification document(s):
> --
> Paul McLanahan
> Sr. Web Developer
> Mozilla

FWIW, reserving a universal location for this purpose doesn't make any sense.
It is common for a single hostname to provide many different open source projects.
Even an Apache project will often have multiple product-specific pointers to
contributions within the same project-specific hostname.

The well-known URIs are intended for protocols that do not want to access part
of a site's normal resources.  In particular, when the only thing a client knows about
a site is a URI that it does not want to access before knowing something more about
the site or its communication options.

In this case, the client already knows the home page of an open source project.
There is no reason for that client not to GET the homepage. The data in this resource
is commonly found in (or near) the homepage. So, the only thing you are providing
is a structured record in a common format.  You can do that within the homepage
using a standard JSON object, a standard profile of HTML elements, or even an
embedded link with a standard relationship.

When that data is in the homepage, there is no need for a separate request, and
the data itself is less likely to become stale over time.  It also allows a
single host to have more than one distinct open source project.


Roy T. Fielding                     <>