Soren Stoutner:
After reading a number of comments to the email below, I thought I would
provide a bit of context for this email and Phil’s excellent work on Mentors.

Recently Phil has taken it upon himself to triage every package that requests
sponsorship on mentors.debian.net.  Here is an example of the work he does:

[...]

Hi,

I wholehearted agree that Phil is doing a lot of good work here and that it is helpful to all parties involved in d-mentors. From my PoV, what Phil does is so valuable that ideally we would provide it to all sponsored maintainers with minimal latency. For me, that means automating most of what Phil does. Ideally all, but I am not sure all the things Phil does are trivial to automate where we are now.


But I have found Phil’s work to be very helpful, as I have limited time to
handle sponsorships.  When I look at a package Phil has endorsed, I can be
sure that the simple and obvious things have already been taken care of.


Thinking a bit more on this and its long term sustainability, I think we have a spot here where we could automate the process a lot. If we look at the list of things Phil does:

 1. Build:

    Automate-able if we had good sandboxes/throw away build machines.

 2. Lintian:

    I think mentors.d.o already does this. But it only works on the
    artifacts uploaded and Phil probably enriches this.

 3. Licenses:

    While ideally, we would want this to be automatic, I think we do not
    have a good solution to this and I doubt we get it any time soon.

    Though an 80/20 might be in our grasp for someone interested and
    I do not think it would need to depend on 1).

 4. Build Twice (sudo pbuilder build --twice <package>.dsc):

    Automate-able once 1) is solved.

 5. Reproducible builds (reporotest):

    Trivially automate-able once 1) is solved.

 6. Install/Upgrade:

    It sounds like something piuparts would check, so I assume this is
    all solvable once 1) is complete.

 7. Curating packages that pass these checks to various prospective
    sponsors (such as the mail we are all replying to)

These automations would not replace Phil since Phil in "failure" cases provides suggestions on how to move forward. This part we would ideally automate as well, but that is a much harder problem for most of these checks. Still, having a "red/green" marker would enable newcomers to figure out where they need more effort or assistance.

The salsa-CI pipeline basically does most of these (3+7 being very clear exceptions, do not remember if 4 is covered by salsa-ci, but adding it would probably easy) and that infrastructure already has "no trust" code execution flows. Another alternative might be leveraging debusine if that can do the same and is intended for this purpose (did not check).

In theory, we can reduce this to a already solved problem by linking the RFS/mentors entry with the relevant CI pipeline report where possible and a "Consider using the salsa-CI pipeline" check. Might need tag2upload or dgit (assuming these support mentors.d.o), since that would make the commit visible. Additional bells and whistles can be added to the salsa-CI pipeline in the form of a small machine readable report output that mentors.d.n could render if necessary (etc.)

I do think it could be a major improvement our sponsorship work flow for both sponsors and sponsored maintainers.

 1) We promote a streamlined packaging workflow that a large portion of
    Debian already follows and leverage existing infrastructure. Any
    updates to our workflow would appear into the sponsor workflow
    checklist workflow because they are the same underlying checks.

 2) The workflow provides most of these checks with low latency
    automation and would save the sponsored maintainers RFS +
    mentors.d.o upload round trips.

 3) The process would be a lot more sustainable, since most of it would
    be automatic.

Obviously, on paper is doable but it might require ironing out a lot of bends or even not be possible at all. Sadly, I am not volunteering to do it (got too much on my plate already). However, I am putting the idea out there in case someone has time and interest in working on this area.

I think the primary risk (problem to solve) is linking the mentors.d.o upload to a git commit on salsa and the related pipeline data for that. As said, I hope tag2upload/dgit could be part of the solution here (not sure how those will cope with mentors.d.o versions being a lot more mutable than regular uploads). For everything else, I think most of the heavy lifting have already been done and "just" a matter of gluing it all together.

I would heartily hope that Phil continues to send periodic emails to debian-
devel with lists of packages that he considers ready, but that are languishing
on the vine because nobody has noticed them.

Agreed.

[...] There is probably nothing as demotivating to a first-time
contributor as putting a lot of effort into a package, having it be in good
shape, and then never having it be sponsored simply because it didn’t get
noticed.

Soren


Agreed; feedback latency is quite a de-motivation factor for me as well.

P.S.  Based on Phil’s work on Mentors and my interactions with him, I have
advocated for him to become a Debian Developer, uploading.  I think his
contributions to Debian will be even more impactful when he can sponsor the
packages he feels are ready.

https://nm.debian.org/process/1305/

[...]

Thanks for supporting Phil. :)


Best regards,
Niels

Reply via email to