Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt

Willy Tarreau <w@1wt.eu> Thu, 02 September 2010 05:24 UTC

Return-Path: <w@1wt.eu>
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 69BF03A68B2 for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 22:24:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.689
X-Spam-Level:
X-Spam-Status: No, score=-2.689 tagged_above=-999 required=5 tests=[AWL=-0.646, BAYES_00=-2.599, HELO_IS_SMALL6=0.556]
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 OKJM2-JiRXbr for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 22:24:50 -0700 (PDT)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by core3.amsl.com (Postfix) with ESMTP id 15B343A6860 for <hybi@ietf.org>; Wed, 1 Sep 2010 22:24:48 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id o825P9AT011986; Thu, 2 Sep 2010 07:25:09 +0200
Date: Thu, 02 Sep 2010 07:25:09 +0200
From: Willy Tarreau <w@1wt.eu>
To: Adam Barth <ietf@adambarth.com>
Message-ID: <20100902052509.GF10275@1wt.eu>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTikP1CF22fL0rBniXmrxEoBAbTNfzP9kyiNA4nbb@mail.gmail.com> <AANLkTi=_1m36ThFZTH_aGE_Unz0KTeexJq_74UGr2j+u@mail.gmail.com> <AANLkTikmYvJaZnc-SAaGm1Xztn31DqTnttonKFNBvT86@mail.gmail.com> <AANLkTik_YqJM7pFKUrEjhn1kZdCnBxNDog5uHs=S=Bx6@mail.gmail.com> <AANLkTinoJX-sxKjzPtDtCTX4B91cqtXzq=2HPcgCwmah@mail.gmail.com> <AANLkTi=AH-2eAjKw6fwsE1w+9XpxxugTHmHV-g1YB7eT@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <AANLkTi=AH-2eAjKw6fwsE1w+9XpxxugTHmHV-g1YB7eT@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt
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 05:24:51 -0000

On Wed, Sep 01, 2010 at 04:42:31PM -0700, Adam Barth wrote:
> On Wed, Sep 1, 2010 at 4:36 PM, John Tamplin <jat@google.com> wrote:
> > On Wed, Sep 1, 2010 at 7:22 PM, Adam Barth <ietf@adambarth.com> wrote:
> >> No one should be using this protocol for anything that can't receive a
> >> breaking change.
> >
> > Then how do we get real world data?  Should everyone go modify Firefox
> > or Chrome themselves and run against only their servers to see how it
> > works?
> 
> If you're running an experiment, you should either:
> 
> 1) Upgrade your clients and servers.
> 2) Break folks who are using old versions of the protocol.
> 
> (or ideally both)
> 
> If you can't either upgrade the old code or break the use of the old
> code, you'll be calcified into using that version protocol.
> Versioning isn't the solution.  Avoiding calcification in the
> solution.

Adam, I disagree. We're running an experimentation and we want to get
measurable results. This experimentation consists in :
  - getting server-side implementations
  - getting client-side implementations
  - see how they interoperate

If we state that every upgrade will break, noone will want to make the
first move. Browsers will wait for servers to be ready to support it,
and servers will wait for browsers to be ready. With a version, you can
change the servers first, and decide to break support for the old version
as soon as the browsers have support for the new protocol (eg: 1-2 weeks
later max). Also, when we get success or failure reports, it's important
to know if this is because clients can't communicate through the internet
or if it is because they're just not updated and don't talk the same
protocol anymore (in which case these samples must be dropped).

Willy