All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Thomas Huth <thuth@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] release retrospective, next release timing, numbering
Date: Wed, 02 May 2018 09:29:39 +0200	[thread overview]
Message-ID: <87d0ye8qho.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <CAFEAcA8wJuJ9464LadgjJOo-7ttdGYcfDQWALbkxBRJCr_knkg@mail.gmail.com> (Peter Maydell's message of "Fri, 27 Apr 2018 17:24:38 +0100")

Peter Maydell <peter.maydell@linaro.org> writes:

> On 27 April 2018 at 17:17, Thomas Huth <thuth@redhat.com> wrote:
>> On 27.04.2018 17:51, Peter Maydell wrote:
>>> Hi; I usually let people forget about releases for a month or
>>> so before bringing this topic up, but:
>>>
>>> (1) do we want to call the next release 2.13, or something else?
>>> There's no particular reason to bump to 3.0 except some combination of
>>>  * if we keep going like this we'll get up to 2.42, which starts to
>>>    get silly
>>>  * Linus-style "avoid being too predictable"
>>>  * triskaidekaphobia
>>
>> and maybe:
>>
>>  * Celebrate 15 years of QEMU
>
> Oh, hey, I hadn't noticed that. That's as good a reason as
> any other!
>
>> By the way, just another crazy idea for v3.0 (i.e. feel free to turn it
>> down immediately ;-)): Since compilation and testing time for QEMU is
>> really huge, what do you think if we got rid of some QEMU binaries?
>> qemu-system-aarch64 is a superset of qemu-system-arm, qemu-system-x86_64
>> is a superset of qemu-system-i386 and qemu-system-ppc64 is a superset of
>> qemu-system-ppc (and qemu-system-ppcemb). Would be feasible to get rid
>> of the subset binaries with some work? (I think they were especially
>> useful on 32-bit machines in the past, but most people are using 64-bit
>> machines nowadays, aren't they?).
>
> I think Markus' backward-compatibility rubber chicken may prevent
> us from removing those executables...

Nothing and nobody but ourselves can prevent us from breaking backward
compatibility.

We *choose* to sacrifice the poor chickens to the idol of backward
compatibility.  We *choose* to sacrifice to the idol whatever time and
effort it demands[*].  We *choose* to let the idol smother other
endeavors.

See also slide 35 "Must it be?" of
https://www.linux-kvm.org/images/f/f2/Armbru-qapi-cmdline_1.pdf

Breaking backward compatibility without good reasons is stupid.
Maintaining it at all costs is just as stupid.  There's no non-stupid
way around facing the tradeoffs and making choices.

Our adoption of a deprecation policy has enabled us to make sensible
choices in cases where providing old and new interface at the same time
is inexpensive: we keep the old one around until the deprecation grace
period expires.

What if we run into cases where that isn't practical?

How can I provide both the old command line in all its quirky glory and
a QAPIfied command line?  Unless we can, the deprecation policy doesn't
help one bit, it still wants us to replicate every mess we ever made in
the old command line.  Would that be a smart choice?

Even with a deprecation policy in place, there's still no non-stupid way
around facing the tradeoffs and making choices.

[...]


[*] Curiously, the idol doesn't seem to demand effort to test backward
compatibility.  The idol seems to be fine with us breaking it
accidentally, only doing it knowingly incurs its wrath.

  parent reply	other threads:[~2018-05-02  7:29 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-27 15:51 [Qemu-devel] release retrospective, next release timing, numbering Peter Maydell
2018-04-27 16:17 ` Thomas Huth
2018-04-27 16:24   ` Peter Maydell
2018-04-27 16:42     ` Thomas Huth
2018-04-30 10:06       ` Paolo Bonzini
2018-04-30 10:11         ` Peter Maydell
2018-05-02 11:58       ` Daniel P. Berrangé
2018-05-02 12:05         ` Peter Maydell
2018-05-03  9:33           ` Daniel P. Berrangé
2018-05-03  9:42             ` Thomas Huth
2018-05-03  9:45               ` Daniel P. Berrangé
2018-05-03 14:01                 ` Cédric Le Goater
2018-05-03 14:16               ` Cédric Le Goater
2018-05-03 18:02                 ` Stefan Hajnoczi
2018-05-03 18:50                   ` Dr. David Alan Gilbert
2018-05-04  8:29                     ` Stefan Hajnoczi
2018-05-04  5:29                   ` Markus Armbruster
2018-05-04  8:16                     ` Stefan Hajnoczi
2018-05-04  8:24                       ` Peter Maydell
2018-04-27 19:01     ` Michal Suchánek
2018-04-29 14:56       ` Richard Henderson
2018-05-02 10:41         ` Laszlo Ersek
2018-05-02 11:51           ` Peter Maydell
2018-05-07 18:12         ` Michal Suchánek
2018-04-30 10:35       ` Daniel P. Berrangé
2018-05-02  7:29     ` Markus Armbruster [this message]
2018-05-02  8:16       ` Daniel P. Berrangé
2018-05-02  9:44         ` Cornelia Huck
2018-04-30  9:29 ` Cornelia Huck
2018-04-30 10:01   ` Peter Maydell
2018-04-30 10:33 ` Daniel P. Berrangé
2018-04-30 11:21   ` Cornelia Huck
2018-04-30 17:36     ` Thomas Huth
2018-05-02  7:33       ` Cornelia Huck
2018-05-02  7:43         ` Liviu Ionescu
2018-05-02  7:59           ` Daniel P. Berrangé
2018-05-02  8:02             ` Liviu Ionescu
2018-05-02  8:13               ` Thomas Huth
2018-05-02  9:03                 ` Liviu Ionescu
2018-05-02  9:10                   ` Daniel P. Berrangé
2018-05-28  9:24                     ` Paolo Bonzini
2018-05-02  9:21                   ` Cornelia Huck
2018-05-02  9:22                   ` Thomas Huth
2018-05-02  8:26               ` Cornelia Huck
2018-05-04 17:34             ` Max Reitz
2018-05-02  7:44       ` Gerd Hoffmann
2018-05-02  8:02         ` Daniel P. Berrangé
2018-05-03  7:21           ` Stefan Hajnoczi
2018-05-03  9:07             ` Daniel P. Berrangé
2018-05-03  9:26               ` Cornelia Huck
2018-05-03  9:26               ` Peter Maydell
2018-05-03  9:31                 ` Daniel P. Berrangé
2018-05-03  9:47                   ` Thomas Huth
2018-05-03 13:43                 ` Gerd Hoffmann
2018-05-03 14:06                   ` Thomas Huth
2018-05-03 14:16                     ` Daniel P. Berrangé
2018-05-07 13:38                       ` Kashyap Chamarthy
2018-05-07 16:51                         ` Thomas Huth
2018-05-03 14:16                     ` Cornelia Huck
2018-05-04 13:20                   ` Kevin Wolf
2018-05-04 13:53                     ` Thomas Huth
2018-05-04 14:23                       ` Kevin Wolf
2018-05-04 17:30                     ` Richard Henderson
2018-05-07  5:33                       ` Thomas Huth
2018-05-07 14:05                         ` Kevin Wolf
2018-05-22 10:07   ` Peter Maydell
2018-06-01 11:57     ` Daniel P. Berrangé
2018-04-30 14:23 ` Greg Kurz
2018-04-30 14:30   ` Peter Maydell
2018-04-30 14:34   ` Daniel P. Berrangé
2018-05-03  1:04   ` David Gibson
2018-05-01 12:24 ` Stefan Hajnoczi
2018-05-01 12:48   ` Peter Maydell
2018-05-03 21:52   ` Laurent Vivier
2018-05-04  8:40     ` Stefan Hajnoczi
2018-05-28  5:31 ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d0ye8qho.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.