UbuntuCoreDeveloperApplication


This application was announced in the devel-permissions mailing list and was approved in the DMB meeting on 2022-08-08


I, Athos Ribeiro, apply for the Ubuntu Core Developer status within the Ubuntu community.

Name

Athos Ribeiro

Launchpad Page

~athos-ribeiro

Wiki Page

AthosRibeiro

While my current permissions (MOTU + Server package set) already allow me to perform most of the work I am interested in, being a core developer will grant me broader access to the distro infrastructure, allowing myself to be more helpful to the distro. For instance, this will allow me to re-trigger tests for packages out of the (universe + Server package set) set, use bileto, and upload non-(universe + Server package set) packages when needed.

Who I am

I am a software engineer working on the Ubuntu Server team. In the Server team, other than the usual bug/merge/maintenance work performed through the Server team package set, I currently focus in maintaining

  • the Ubuntu based OCI images shipped in DockerHub and in Amazon's Elastic Container Registry;

  • PHP (merges, bug fixes, and overall maintenance over PHP and related packages); and
  • PostgreSQL (merges, bug fixes, MREs and overall maintenance over PostgreSQL and related packages).

I have a Master's degree in CS from the University of São Paulo, in Brazil, where I am originally from and currently based in. That master's degree was focused on extending the work I performed as a guest researcher in the National Institute of Standards and Technology (NIST), in Maryland, regarding source code static analysis and static analysis tools evaluation.

From 2018 to early 2021, I lived in the Czech Republic, while working for Red Hat, where I worked on the development and maintenance of a container image build system, which is also used by Fedora to build the images available in their registry. I come from a Python background and also have previous experience with RPM packaging both from my previous job and from contributions to the Fedora project.

My Ubuntu story

Ubuntu was the first distribution I have used. This was at school, during my bachelor degree, many years ago. After I started getting comfortable as a Ubuntu user, I started trying different distributions. In that process, I got involved with the Fedora community and did stick with it for the past few years.

Right before joining the Server team, I migrated most of my systems to Ubuntu, where I usually run the development version both on work, and personal use machines.

In December 2021, I was granted PPU rights for the Ubuntu Server package set. My Server package set application can be fount at AthosRibeiro/UbuntuServerDeveloperApplication.

In April 2022, I was granted MOTU rights. My MOTU application can be fount at AthosRibeiro/MOTUDeveloperApplication.

My involvement

Examples of my work / Things I'm proud of

In the following subsections you will find a list of bugs, merge proposals, uploads, and repositories I have worked on in the past few months divided by topics (package merges, SRUs, etc). Since the list is somewhat extensive, I discuss a few issues below which should hopefully demonstrate my packaging, debugging, and Ubuntu processes skills.

  • PHP performance improvements: in LP: #1882279, The bug reporter noticed a PHP Ubuntu/upstream performance difference. A thorough investigation showed that a bug in a GCC macro embedded in the upstream project was preventing distribution PHP binaries from using x86_64 v2 and v3 instructions when they are available.

  • postgresql-common regression due to recent debhelper changes: in LP: #1973382, our investigations showed that recent changes in debhelper preinst injected snippets introduced a regression in this package's preinst script, forcing undesired service restarts upon package upgrades.

  • squid ROCK service investigation and patch: while LP: #1978272 is not related to a deb package, but to a ROCK image, the fix involved investigating how the deb package service relies on systemd defaults for the maximum number of open file descriptors. Without the cap, the squid process crashes in systems where the ulimit for file descriptors is too high (squid tries to allocate memory based on that value). We then crafted the squid ROCK's configurations to mimic the Ubuntu package service behavior, capping the number of maximum open files to systemd's default.

  • mdevctl MIR - Rust MIR, multiple upstream tarball delta: LP #1942394 shows a non-trivial MIR process being pushed forward by ~paelzer and I, where an older version of the package is already in main, but the latest version has been re-written in Rust, whose packages had no clear MIR path until this bug was filed. Moreover, the attached MP shows non-trivial packaging to include vendorized sources as a delta to the package and means for the security team to track those.

  • nss sync/delta analysis: LP: #1971299 shows a detailed delta analysis. Ubuntu carried several patches in nss up to this point. After checking each of them, we decided that we could sync the package instead, reducing our delta back down to zero, which, IMO, is something we should generally seek to reduce technical debt.

  • multipath-tools -Bsymbolic-functions dropped from LDFLAGS: LP: #1946834 Shows an interesting case where the usage of the -Bsymbolic-functions in LDFLAGS results in undesired codepaths being executed. While the fix for the issue was straightforward, the debugging process was quite time consuming and involved some offline discussion and a few debugging sessions with sergiodj.

  • cl-plus-ssl OpenSSL 3 support and pgloader follow-up fix: I personally enjoyed working on LP: #1960615. This included a feature freeze exception for jammy, a OpenSSL 3 support fix, and an upstream patch. I had no previous lisp experience then. To fix pgloader, a follow-up bug (LP: # 1968594) was needed, which needed careful analysis of lisp hooks and resulted in another upstream patch. While working on these bugs, we realized sbcl needed bootstraping for ppc64el, described below.

  • sbcl ppc64el bootstrap: in LP: #1968579, we bootstrapped sbcl for ppc64el. The process was described in the ubuntu-devel mailing list at https://www.mail-archive.com/ubuntu-devel@lists.ubuntu.com/msg10518.html and require a few reverse-dependencies rebuilds to provide ppc64el binaries for those dependencies as well.

MIRs

Package Merges and Syncs

Bug Fixes and SRUs

Autopkgtest & DEP8

Milestones and Exceptions

+1 maintenance

Bug reports

Reviews

Snaps and OCIs

Misc

Work in progress

Areas of work

  • The Ubuntu Server package set
  • PHP
  • PostgreSQL
  • Ubuntu OCI images
  • Ubuntu OCI images QA
  • Snaps used to build Ubuntu OCI images

Things I could do better

  • Read more docs to better understand the work, tooling, and processes of different teams, such as MIR, SRU, archive admins, the technical board, the DMB, etc.
  • Increase participation in Ubuntu mailing lists and IRC channels.

Plans for the future

General

  • Increase my participation in and interactions with Debian.
  • Help making Ubuntu a better distribution by taking part in discussions, producing automation tools, and improving documentation.

What I like least in Ubuntu

Finding resources around may be difficult at times. For instance, if one does not keep track of their work and/or does not properly set fields in launchpad, compiling a list of work performed around Ubuntu, such as this one, may become a hard task. Working on both documentation and automation tools could help the community and decrease the efforts when one applies for membership.


Endorsements

As a sponsor, just copy the template below, fill it out and add it to this section.

Bryce Harrington

General feedback

I've reviewed many of Athos' merge proposals and always find his work solid. Where I've suggested improvements they are well received, and adopted into his common practice. As he mentioned in his introduction, he has the necessary permissions to do his day-to-day work; his coredev membership will be more for the benefit of Ubuntu itself, since it will let us tap him for a broader array of work beyond that such as +1 maintenance and review/sponsorship of new developers. He will make a great addition to the larger development community, and I would encourage him to think about continuing his development towards participation in one of the higher level boards, administrative teams, or other roles.

Specific Experiences of working together

Athos has provided a thorough list above of packaging items we've worked together on, but I'd like to specifically note the PHP work.

I've handled the PHP transitions up until now, but wanted to hand it off. Athos was looking for opportunities to learn a lot more about advanced packaging techniques and was eager to take it on. Serendipitously, for 22.10 the team was not planning on doing a PHP transition (Debian still has 8.2 as experimental), but there was ample re-merging and cleanup work from the PHP 8.1 transition. I gave Athos a todo list at the start of the cycle, and he polished it off quicker than I expected, and then proceeded to merge and fix a number of more challenging packages I had been expecting to do myself. Through all of this he was diligent at pushing delta up to debian or upstream, or dropping it after verifying it was no longer needed. This should make the 8.2 transition next cycle easier, and gives me a lot of confidence he's up to the task. I bet he'll do a better job at it than me!

Beyond PHP, Athos has also worked with me as a reviewer for my own packaging work and python coding. He always has good suggestions for improvements and is quick to respond with his reviews.

Areas of Improvement

Just keep up the great work!

Sergio Durigan Junior

General feedback

This is the third endorsement I write for Athos, and I am very happy to know it will be the last one in Ubuntu: I strongly support Athos' Core Dev application and know that he will continue to be a valuable member of the project.

He and I have continued to work close together since he became MOTU; we really get along and I absolutely enjoy having discussions about debugging stuff with him. I joke that whenever he comes to me with an package issue, it's always a hairy, difficult and fun one to work on.

I am very satisfied to see his progress since he joined the Server team last year. I said this already, but I like his attention to details and his commitment to always do a good job when he works on Ubuntu packages. Lastly, sometimes we (the Server team) forget that Athos is not a Core Dev already. This, to me, is a testament to the fact that he *should* be one.

Specific Experiences of working together

As I said, Athos and I have done many things together these past months. I liked to see the work he did on performance improvements for PHP. I also had fun bootstrapping sbcl on ppc64el with him; it was nice finding hairy bugs and seeing his diligence in working on them.

Areas of Improvement

I really cannot think of any improvement areas for Athos right now. And I can say that it will be a pleasure having him as a fellow Core Dev, helping with +1 maintenance and other things.

-- sergiodj 2022-07-20 19:21:30

Christian Ehrhardt

General feedback

The quality of Athos work is great, since he joined our team he was always eager to do a step more - add one more test or "I have found this should now be done that way in d/rules" and such. Due to that his proposed changes were always exactly as needed or better.

Athos has a good connection into the Server Team, the Ubuntu Developers in general and also into Debian which provides him ample opportunity to pre-discuss options and solutions enabling him to provide that great work.

Specific Experiences of working together

There would be many small things, but the other endorsements above covered a lot of the same. Instead I'd like to talk about postgresql. I have myself taken that over years ago from Pitti when he left and recently just got so overloaded with other tasks that I needed help. Athos (and Sergio) were very kind to help taking over that work and I'm pleased with it. Athos did not only continue my work including merges, re-occurring MREs and general triage and bug work. He also came up with little improvements here and there of his own - furthermore I connected him with the Debian maintainer who is kind and works with us (=Ubuntu) well. Athos took that connection as well and communicated proactively with Debian which is just the right path on the postgresql packages.

Areas of Improvement

No single big thing comes to my mind. Being a core-deve soon (hopefully) I'd like to see him join our +1 maintenance rotation to broaden his scope even further - but that isn't critique, more an obvious next step.

-- paelzer 2022-08-02 06:53:10


Comments

If you'd like to comment, but are not the applicant or a sponsor, do it here. Don't forget to sign with @SIG@.


TEMPLATE

== <SPONSORS NAME> ==
=== General feedback ===
## Please fill us in on your shared experience. (How many packages did you sponsor? How would you judge the quality? How would you describe the improvements? Do you trust the applicant?)

=== Specific Experiences of working together ===
''Please add good examples of your work together, but also cases that could have handled better.''
## Full list of sponsored packages can be generated here:
##  https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi
=== Areas of Improvement ===


CategoryCoreDevApplication

AthosRibeiro/UbuntuCoreDeveloperApplication (last edited 2022-08-08 20:03:10 by athos-ribeiro)