Re: [hybi] Versioning is a anti-pattern

John Tamplin <jat@google.com> Thu, 02 September 2010 18:49 UTC

Return-Path: <jat@google.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 275813A65A5 for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 11:49:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.875
X-Spam-Level:
X-Spam-Status: No, score=-105.875 tagged_above=-999 required=5 tests=[AWL=0.102, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YSBysxvXYMfQ for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 11:49:53 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 21BDD3A67F7 for <hybi@ietf.org>; Thu, 2 Sep 2010 11:49:53 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [172.25.149.3]) by smtp-out.google.com with ESMTP id o82IoMnO009476 for <hybi@ietf.org>; Thu, 2 Sep 2010 11:50:22 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1283453422; bh=3jQyWFTtvXTokExM9yo+F9Nbwzk=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=grIoYTU8Vs/RlYKTn0lzGnT/TvpSBLFikCPez/W4FXJBpDL3/hpUPthYihG85xwoa gjR9yBgk8+L1+fFKVPFZg==
Received: from gyf1 (gyf1.prod.google.com [10.243.50.65]) by hpaq3.eem.corp.google.com with ESMTP id o82IoKlx031031 for <hybi@ietf.org>; Thu, 2 Sep 2010 11:50:20 -0700
Received: by gyf1 with SMTP id 1so343493gyf.26 for <hybi@ietf.org>; Thu, 02 Sep 2010 11:50:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=T46GRqXPrg3rrqixtq1+YaoI0GN0DFOThKYskLvclC8=; b=XBeOJktO7xQbacYhLaN1b8VSMv7p62atve0fZkwNtMiHmFOdDJ4b9l7t3pT2MJQJWY CsI+wYK0HOLdVVG85ZdA==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=T/WwLxaqzO8BoIptkaPqLS32+3W+47F0PatTFmLFLdvpGpSkdT3t/SPK2XcWx40uCB ASvnP6iZo7er/np8Abrg==
Received: by 10.151.63.32 with SMTP id q32mr498355ybk.285.1283453420188; Thu, 02 Sep 2010 11:50:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.103.4 with HTTP; Thu, 2 Sep 2010 11:50:00 -0700 (PDT)
In-Reply-To: <AANLkTikDXaAM+JFieicNcOvsZtahtX-rb9iXVv1+dC36@mail.gmail.com>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTikP1CF22fL0rBniXmrxEoBAbTNfzP9kyiNA4nbb@mail.gmail.com> <AANLkTi=_1m36ThFZTH_aGE_Unz0KTeexJq_74UGr2j+u@mail.gmail.com> <alpine.DEB.2.00.1009022022090.7470@tvnag.unkk.fr> <AANLkTikDXaAM+JFieicNcOvsZtahtX-rb9iXVv1+dC36@mail.gmail.com>
From: John Tamplin <jat@google.com>
Date: Thu, 02 Sep 2010 14:50:00 -0400
Message-ID: <AANLkTim5E9ufWdOgQ5aD2nV01wn0mWcN_Qg+w-3GHNBD@mail.gmail.com>
To: Tim Bray <tbray@textuality.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] Versioning is a anti-pattern
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Sep 2010 18:49:54 -0000

On Thu, Sep 2, 2010 at 2:42 PM, Tim Bray <tbray@textuality.com> wrote:
> Versioning requres you to make all sorts of REALLY HARD choices, and runs
> the risk of imposing really onerous costs on implementors.  Thus, you need
> to be really convinced that there are really significant benefits before you
> embark on this difficult and risky course of action.  -Tim

Not versioning requires an implementor to make the same really hard
choices, plus the added complexity of trying to figure out which
version of the protocol the other version is speaking.

Once we get to the final version of the spec, I am fine with leaving
out a formal version identifier, and then when we get to the point of
wanting to add some non-backwards-compatible feature we can have the
discussion about adding versioning then.

However, I remain totally convinced that we have to have some version
identifier in the draft protocol, so we can tell different versions of
the draft apart.  We already have mutually incompatible
implementations in the wild, and having to come up with heuristics to
detect each new version that might be out there is going to get more
and more problematic.

-- 
John A. Tamplin
Software Engineer (GWT), Google