Re: [hybi] Protocol simplicity and the "amateur programmer" standard

John Tamplin <jat@google.com> Mon, 26 July 2010 15:46 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 AE3123A6C28 for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 08:46:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level:
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, 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 SnYOJmPtMFCM for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 08:46:08 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 900953A6BD2 for <hybi@ietf.org>; Mon, 26 Jul 2010 08:46:08 -0700 (PDT)
Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id o6QFkT4o024210 for <hybi@ietf.org>; Mon, 26 Jul 2010 08:46:29 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1280159189; bh=Z+q6hXZKyKLYDuA6WCLhUWjrCIA=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=veYOzVxQTDFK1Vgeog+3ruLk9WFSPloyPWXrFx9RNpfj2zim/ox7T1ERBloBEk4zy /qxwyKQirvTJ2JXsNmDyg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=KTjT3dG0/+sJEXn7x1rl2tTxV3wNlE1c/4LZSS+jJJKahcmYnXTZGkkvZuAnerDoz /ZRc5V0MEDNSNfdzIwiqw==
Received: from gwb11 (gwb11.prod.google.com [10.200.2.11]) by wpaz9.hot.corp.google.com with ESMTP id o6QFkSSJ019617 for <hybi@ietf.org>; Mon, 26 Jul 2010 08:46:28 -0700
Received: by gwb11 with SMTP id 11so156536gwb.18 for <hybi@ietf.org>; Mon, 26 Jul 2010 08:46:28 -0700 (PDT)
Received: by 10.150.227.14 with SMTP id z14mr198232ybg.10.1280159187902; Mon, 26 Jul 2010 08:46:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.60.3 with HTTP; Mon, 26 Jul 2010 08:46:07 -0700 (PDT)
In-Reply-To: <4C4DA92D.8010105@opera.com>
References: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com> <4C4D66AF.9030905@opera.com> <DAA95AEE-300E-4C2D-BBCA-02D0385EE482@apple.com> <4C4D760A.9060906@opera.com> <C1B1A36F-55E1-4526-B535-3F9CF27F1EB7@brandedcode.com> <AANLkTikWb1w5PrH2XoB4kVHY+u=BZxwh1Bm3oPwdZhbf@mail.gmail.com> <4C4DA92D.8010105@opera.com>
From: John Tamplin <jat@google.com>
Date: Mon, 26 Jul 2010 11:46:07 -0400
Message-ID: <AANLkTim7QywrwL0=uLCL4j2CN12L8WJjDz+wR8ESaBG1@mail.gmail.com>
To: James Graham <jgraham@opera.com>
Content-Type: multipart/alternative; boundary="000e0cd51a72a6a205048c4c4928"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] Protocol simplicity and the "amateur programmer" standard
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: Mon, 26 Jul 2010 15:46:09 -0000

On Mon, Jul 26, 2010 at 11:26 AM, James Graham <jgraham@opera.com> wrote:

> That is fine as long as you have the requirement that 1.1 is backwards
> compatible with 1.0. That means substantial breaking changes to e.g the
> handshake need to happen on the 1.0 timescale.
>

All the more reason that versioning and negotation should be included in the
base release.  I don't know of any widely used protocol which didn't undergo
changes over its lifetime, and it makes sense to incorporate formal support
up front (for example, you shouldn't have to look for the presence of
particular headers to distinguish v75 from v76 in a server).

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