Re: [tap] Rethinking the TAP version

Aristotle Pagaltzis <pagaltzis@gmx.de> Fri, 20 February 2009 11:50 UTC

Return-Path: <pagaltzis@gmx.de>
X-Original-To: tap@core3.amsl.com
Delivered-To: tap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2A4B43A6B2B for <tap@core3.amsl.com>; Fri, 20 Feb 2009 03:50:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.792
X-Spam-Level:
X-Spam-Status: No, score=-0.792 tagged_above=-999 required=5 tests=[AWL=-0.607, BAYES_40=-0.185]
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 tXvVYA0Zg+Kb for <tap@core3.amsl.com>; Fri, 20 Feb 2009 03:50:03 -0800 (PST)
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by core3.amsl.com (Postfix) with SMTP id C52CE3A6AF3 for <tap@ietf.org>; Fri, 20 Feb 2009 03:50:02 -0800 (PST)
Received: (qmail invoked by alias); 20 Feb 2009 11:50:16 -0000
Received: from static-87-79-236-202.netcologne.de (EHLO klangraum) [87.79.236.202] by mail.gmx.net (mp049) with SMTP; 20 Feb 2009 12:50:16 +0100
X-Authenticated: #163624
X-Provags-ID: V01U2FsdGVkX1+UeSsvN2+U3SFvE8Z7KG0laJ5ID6o7VDvS4g4Yzy IAVJzbceCm6Y4M
Date: Fri, 20 Feb 2009 12:49:47 +0100
From: Aristotle Pagaltzis <pagaltzis@gmx.de>
To: tap@ietf.org
Message-ID: <20090220114947.GB16059@klangraum.plasmasturm.org>
Mail-Followup-To: tap@ietf.org
References: <499DF1D6.9020009@pobox.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <499DF1D6.9020009@pobox.com>
User-Agent: Mutt/1.5.18 (2008-05-17)
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.65
Subject: Re: [tap] Rethinking the TAP version
X-BeenThere: tap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Test Anything Protocol WG discussions <tap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tap>
List-Post: <mailto:tap@ietf.org>
List-Help: <mailto:tap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Feb 2009 11:50:04 -0000

* Michael G Schwern <schwern@pobox.com> [2009-02-20 01:00]:
> I propose that the version number change to X.Y where X
> indicates the compatibility series and Y indicates an
> incremental, but still compatible, revision. Everything that
> can read protocol 2.0 can read 2.1 and 2.13 and 2.99 but if a
> 2.x parser sees 3.1 it knows it can't handle it and can act
> appropriately. Similarly, a 2.x parser is not guaranteed to be
> able to read 1.x.

It sounds good in theory, but doesn’t work out very well in
practice. It’s only a win if you want to break backcompat often,
which is not a smart idea. But if you revv that major version
only once in every decade, you effectively create a new protocol
each time, not a revision to the old one. Going from `TAP version
1.13` to `TAP version 2.0` is effectively indistinguishable from
going to `TAP2 version 1`, and you don’t need any version check
code to make consumers fail to parse future TAP versions.

(That’s how we handled it in the Atom WG too. There’s no format
version in Atom; if backwards-incompatible changes are ever
necessary, the XML namespace will change, so old consumers will
fail to process the document at all.)

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>