[PATCH] docs: Document backport criteria
Daniel Axtens
dja at axtens.net
Fri May 24 14:07:17 AEST 2019
Stephen Finucane <stephen at that.guru> writes:
> On Wed, 2019-05-15 at 03:00 +1000, Daniel Axtens wrote:
>> Stephen Finucane <stephen at that.guru> writes:
>>
>> > Explain why we don't want to be in the business of backport certain
>> > patches, in the long run. It took me a while to put this into words but
>> > I was helped by a similar discussion ongoing in the OpenStack community
>> > at the moment [1].
>> >
>> > [1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006220.html
>> >
>> > Signed-off-by: Stephen Finucane <stephen at that.guru>
>> > Cc: Daniel Axtens <dja at axtens.net>
>> > ---
>> > docs/development/releasing.rst | 27 +++++++++++++++++++++++++++
>> > 1 file changed, 27 insertions(+)
>> >
>> > diff --git a/docs/development/releasing.rst b/docs/development/releasing.rst
>> > index 86cacb3a..8bb6b314 100644
>> > --- a/docs/development/releasing.rst
>> > +++ b/docs/development/releasing.rst
>> > @@ -115,3 +115,30 @@ when committing::
>> >
>> > When enough patches have been backported, you should release a new **PATCH**
>> > release.
>> > +
>> > +Backport criteria
>> > +~~~~~~~~~~~~~~~~~
>> > +
>> > +We consider bug fixes and security updates to the Patchwork code itself valid
>> > +for backporting, along with fixes to documentation and developer tooling. We do
>> > +not, however, consider the following backportable:
>> > +
>> > +Features
>> > + Backporting features is complicated and introduces instability in what is
>> > + supposed to be stable release. If new features are required, users should
>> > + update their Patchwork version.
>>
>> Agreed.
>>
>> > +
>> > +API changes
>> > + Except for bug fixes that resolve 5xx-class errors or fix security issues.
>> > + This also applies to API versions.
>>
>> Agreed. (Unless I've misread it, the first line is incomplete: except
>> for ..., what? I know from context that the 'what' is no backports, but
>> it's not clear from the text.)
>>
>> > +
>> > +Requirement changes
>> > + Requirements on a stable branch are provided as a "snapshot in time" and, as
>> > + with features, should not change so as to prevent instability being introduced
>> > + in a stable branch. In addition, stable requirements are not a mechanism to
>> > + alert users to security vulnerabilities and should not be considered as such.
>>
>> I don't think I really buy the idea that a snapshot in time is a
>> particularly useful or meaningful way of conceptualising an individual
>> software component's release in large and highly interdependent
>> systems. But, I don't think that's worth litigating here in light of the
>> carve-out for distro support below.
>>
>> I am with you on the "In addition" part.
>>
>> > + Users of stable branches should either rely on distro-provided dependencies,
>> > + which generally maintain a snapshot-in-time fork of packages and selectively
>> > + backport fixes to them, or manage dependencies manually. In cases, where using
>> (no comma needed after cases?)
>>
>> > + a distro-provided package necessitates minor changes to the Patchwork code,
>> > + these can be discussed on a case-by-case basis.
>>
>> I think this is generally OK. I would have made a stronger statement
>> about merging small patches to support distro-provided packages if I had
>> written it, but I think the practical upshot of our development process
>> means that discussion (or at least evaluation) of patches on a
>> case-by-case basis is an accurate description of what will inevitably
>> need to occur to get patches in to stable trees.
>>
>> I'd be really wary about suggesting that people manage dependencies
>> themselves, as they then take on the burden of tracking security updates
>> for their systems themselves and this is hard work.
>
> Fair point. Realistically, any self-respecting sysadmin is going to
> rely on distro packages or always use the latest and greatest version
> of all dependencies though. The reason for including this is to handle
> the people who insist on using virtualenvs or similar to manage their
> dependencies.
>
Okie dokie.
>> One final though I had: when I was working for Canonical in their
>> support engineering team we had rules for what could make it in to
>> stable kernels - https://wiki.ubuntu.com/KernelTeam/KernelUpdates The
>> first four rules are the usual boring sorts of things, critical bug
>> fixes, tracking stable kernel releases, etc. Their final category for
>> patch acceptance, however, reads:
>>
>> "$DEITY intervention. Might happen, but very very rarely and will not be
>> explainable."
>>
>> Do we want a similar thing for if and when we decide to break the rules,
>> or are we right to leave that as implied?
>
> I think we can leave that as implied, given that the decision is
> ultimately going to come down to one of us and I imagine we can explain
> ourselves well enough if necessary.
Yep, no worries, perfectly reasonable call, just wanted to make sure
we'd considered it.
>
> Is this otherwise good to go, so?
>
Yeah I think so.
Acked-by: Daniel Axtens <dja at axtens.net>
Regards,
Daniel
> Stephen
>
>> Regards,
>> Daniel
>>
>> > --
>> > 2.21.0
More information about the Patchwork
mailing list