From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
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, 2 May 2018 09:16:32 +0100 [thread overview]
Message-ID: <20180502081632.GH3308@redhat.com> (raw)
In-Reply-To: <87d0ye8qho.fsf@dusky.pond.sub.org>
On Wed, May 02, 2018 at 09:29:39AM +0200, Markus Armbruster wrote:
> 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?
Check the deprecation policy wording again :-) All it says is that we
intend to give users 2 releases warning prior to making an incompatible
change.
Now, we've tried to nice and always provide the replacement functionality
at the same time that we introduce the deprecation warning, so there is a
period of overlap to let apps adapt, but we never actually documented that
as a hard requirement. That is perhaps an oversight when I wrote the
deprecation docs, but it does leave us wiggle room on how to intepret
what we need todo here.
https://qemu.weilnetz.de/doc/qemu-doc.html#Deprecated-features
> 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?
I venture to suggest that the deprecation policy leaves us enough
ambiguity that we could issue a deprecation warning saying something
suitably vague like "various quirks of the cli may change in incompatible
ways in future", and then just do a big-bang conversion to QAPI'ified
version. If there are known quirks that we intend to break we could
call them out, but if we accidentally change a few quirks without
realizing it, so be it.
IOW, the big-bang conversion to QAPIified CLI is possible with our
deprecation policy, without having the maintain the existing code
in parallel with bug-for-bug compat. The main constraint is that
we would need to have a reasonable idea about when the QAPIified
CLI is likely to be ready to merge, so we have ability to warn
developers of forthcoming changes.
> [*] 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.
Testing is something we should have for everything we do, but no amount
of testing is ever going to have perfect coverage unless we spend x5
the dev time on testing, as in writing the feature. We just have to be
sensible about how we invest time in different areas to maximise benefit
for the user. We also have to accept the reality of our current codebase
which has very patchy test coverage - mandating everyone do something when
they'd be starting from (near) zero is not likely to yield happy devs.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2018-05-02 8:16 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
2018-05-02 8:16 ` Daniel P. Berrangé [this message]
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=20180502081632.GH3308@redhat.com \
--to=berrange@redhat.com \
--cc=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).