<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hello.<br>
<br>
Back in November 2018 [1] and subsequent requests since [2] [3], I
made several <br>
attempts to reach out to the Backports team on public lists to
volunteer my <br>
time and energy to work on the Backports queue and to clear them
out, and to <br>
get more information on what the team requires for someone to help
with the <br>
backports process.<br>
<br>
With no public responses to my messages, the third message [3] I
sent included <br>
direct messages to the admins. I had received only one response
off-list, and <br>
it was suggested through there that:<br>
<br>
1. The backports process in general is broken.<br>
<br>
2. Putting the burden on a tiny number of admins to do checking
and uploading <br>
does not scale to the volume of requests<br>
<br>
3. Given points #1 and #2 my request to assist was not likely to
be actioned<br>
on.<br>
<br>
It was also stated that because the current process is broken, it
no longer is <br>
capable of being considered a valid approach to backports.<br>
<br>
In ongoing research into all backport requests currently in the
queue including <br>
for now-EOL releases (bugs in the Backports targets projects that
have yet to <br>
be closed or acted on at all), I have come to the following
conclusions:<br>
<br>
1. That the current process is indeed broken for Backports,
concurring with <br>
the private opinions provided to me. (With some smaller
exceptions for <br>
certain packages, such as cockpit as an example, where developers
directly<br>
handle their own requests.)<br>
<br>
2. That the current process for backporting things is not
feasible for <br>
scaling, also concurring with the private opinions provided to
me.<br>
<br>
3. That the vast overwhelming majority of backports requests are
made by <br>
mostly 'random users' or users who are not 100% familiar with
requirements <br>
for backporting or package versions to be included (including
build and <br>
testing requirements).<br>
<br>
4. That the vast majority of requests do not have ample
justifications tied <br>
to them other than "I want this version available"<br>
<br>
In separate discussions with interested parties and DMB members
off-list and <br>
in IRC discussions privately, it was suggested that if the current
process is <br>
broken, we need to redesign it.<br>
<br>
I am proposing that we change the process and how it's handled in
a substantial <br>
way, redefining the requirements for Backports and the process to
be more <br>
efficient.<br>
<br>
<br>
This proposal makes some key changes to the processes, in that:<br>
<br>
1. It moves uploading of backports from the small backporters
team to the<br>
larger developer body, and removes entirely the "Please backport
xxx" class<br>
of requests.<br>
<br>
2. It will retain the Backporters team's ability to review
backports, and <br>
ultimately approve backports so they can be moved from the Upload
queue into <br>
the specific repositories, in a manner similar to how the SRU
team processes <br>
the SRU queue, but further restricts the requirements to require
dedicated <br>
Ubuntu Developer (Team or Individual) backing.<br>
<br>
3. This retains the Backporters' privilege of review before
releasing things <br>
into the -backports repository, in a manner similar to how SRUs
would behave.<br>
(This might require some retooling behind the scenes for the
upload queue <br>
though...)<br>
<br>
While this proposal changes how things're delegated and handled,
this also <br>
handles the problem of "too many requests" - if a request can only
move forward <br>
with an individual or team backing it and they're an established
developer, <br>
that solves many of the problems that the current system has
shown. This also <br>
means that the number of things that needs actual approval from
the Backports <br>
team is limited, as well as the fact that the 'random backport
request' won't <br>
go through if it's otherwise not getting support from an
established developer.<br>
<br>
Please also note that while this proposal touches base on how I
would envision <br>
the process to operate, I welcome *all opinions and refinements to
this <br>
proposal and process*, as I intend this to only be the 'beginning'
of a more <br>
refined proposal or process declaration for changing the Backports
process.<br>
<br>
<br>
The following is my proposal in detail:<br>
<br>
<br>
Backporting Requirements<br>
------------------------<br>
<br>
The uploading of backports is now to be performed by Ubuntu
developers. The ~motu team<br>
can upload any backport, and we will request the DMB to extend PPU
rights to apply to<br>
all backports pockets too.<br>
<br>
1) Developers file requests in the regular Ubuntu project, try
their best to<br>
ensure that the backport is good (build/install/run test, post in
the bug<br>
confirming this has been done), and upload it to the queue. The
"Continued<br>
Functionality of Reverse-Dependencies" requirement from [0] is to
be relaxed.<br>
Each and every reverse dependency need not be tested; the
uploader should use<br>
their judgement, which the backports team will need to concur
with. This requirement<br>
has been responsbile for making it practically impossible to
backport anything complex.<br>
<br>
1.5) People who need sponsoring can perform step 1) and subscribe<br>
~ubuntu-sponsors *once there is a debdiff/package on the bug to
upload*.<br>
<br>
2) The ~ubuntu-backporters team reviews uploads from the queue
and accepts/rejects,<br>
in much the same way as the SRU team does currently.<br>
<br>
3) Any changes to the package which are required for backporting
must be minor <br>
in nature or otherwise required, and will be reviewed
specifically by the <br>
Backporters Team prior to backport acceptance.<br>
<br>
4) A backport request must specify the SOURCE release to backport
a package <br>
from and the TARGET release being backpoted to.<br>
<br>
5) Both SOURCE and TARGET releases must be a currently-supported
release of <br>
Ubuntu. Requests to backport to or from EOL releases will be
rejected.<br>
<br>
------<br>
<br>
An additional point of discussion is that if we can remove 'random
end user <br>
requesting' from the equation, that would also lighten up the
backports <br>
queues. When an end user wants to make a request, they should
field the <br>
request via <a class="moz-txt-link-abbreviated" href="mailto:ubuntu-backports@lists.ubuntu.com">ubuntu-backports@lists.ubuntu.com</a> or a similar mailing
list for <br>
community input on the request; if a developer or sponsor wants to
assist <br>
for that request, then with the revisions to the process above,
the backport <br>
process can move forward without major impact to the queue and
without <br>
adding additional major stressors to the Backporters team, as
those with <br>
upload rights would already be able to do the 'upload' steps.<br>
<br>
------<br>
<br>
Opinions, alterations, recommendations, changes, etc. are all
welcome, as I <br>
stated I intend this to more or less spark further discussion
rather than be <br>
accepted currently verbatim.<br>
<br>
I hope that this will ultimately lead to improving the Backports
process, as it <br>
currently is defunct for the most part and does not (and as it
currently is, <br>
will not) be able to continue to process new Backport requests
without radical <br>
changes to the process.<br>
<br>
(Note that parts of this proposal have had contributions from Iain
Lane, <br>
Robie Basak, and Seth Arnold, at my request, prior to my
submitting this, <br>
in order to better phrase and construct this proposal in an
acceptable manner.)<br>
<br>
------<br>
Thomas Ward<br>
Ubuntu Server Team Member<br>
LP: ~teward<br>
<br>
[0]:
<a class="moz-txt-link-freetext" href="https://wiki.ubuntu.com/UbuntuBackports#Continued_Functionality_of_Reverse-Dependencies">https://wiki.ubuntu.com/UbuntuBackports#Continued_Functionality_of_Reverse-Dependencies</a><br>
<br>
[1]:
<a class="moz-txt-link-freetext" href="https://lists.ubuntu.com/archives/ubuntu-devel/2018-November/040549.html">https://lists.ubuntu.com/archives/ubuntu-devel/2018-November/040549.html</a><br>
<br>
[2]:
<a class="moz-txt-link-freetext" href="https://lists.ubuntu.com/archives/ubuntu-devel/2018-December/040563.html">https://lists.ubuntu.com/archives/ubuntu-devel/2018-December/040563.html</a><br>
<br>
[3]:
<a class="moz-txt-link-freetext" href="https://lists.ubuntu.com/archives/ubuntu-devel/2018-December/040569.html">https://lists.ubuntu.com/archives/ubuntu-devel/2018-December/040569.html</a><br>
<br>
</p>
</body>
</html>