Application - Server Package set - Guilheme Puida Moreira

I, Guilherme Puida Moreira, am applying for upload rights to the Server Package set.

Contact Information:

I am applying because:

  • I’d like to reduce the burden on my sponsors (especially on my team).
  • I’d like to be able to sponsor work of others.
  • I’d like to be able to onboard new contributors to help maintain Server
    packages.

Who I am

I’m Guilherme, a software engineer currently working at Canonical as part of
the Ubuntu Server team.

Outside of work, I enjoy contributing to Free Software projects. I am a Debian
Developer, mostly working on the Go team, maintaining both applications and libraries. I am also the co-creator of the Hare team, maintaining packages for the Hare compiler and standard library. I (try to) attend the weekly debian-devel-br meeting, where many Brazilian Debian Developers get together to talk about what we are working on, share technical challenges, and just chat about random stuff.

For non-tech related activities, I enjoy running, reading science fiction, listening to music and playing rhythm games.

My Ubuntu story

Ubuntu was the first GNU/Linux distribution I ever used. It came preinstalled
in a pre-built PC my parents got me when I was ~12yo, and I was hooked ever
since. As with any teenager interested in distributions, I distro-hopped for a
while before settling with Ubuntu and Debian in all my personal machines and
servers.

I really enjoy Debian/Ubuntu packaging, even when considering the arguably
arcane hoops we have to jump through.

Examples of my work / Things I’m proud of

Quick links:

Some highlights and important milestones:

Areas of work

I have mostly worked on Server packages, such as netplan.io, network-manager
and rabbitmq-server. I also work on the Ruby ecosystem.

I work closely with the Ubuntu Server team, who are always really cooperative
and ready to help me when needed.

I enjoy upstreaming work when possible, to try to avoid future maintenance
burden. Having upload rights in Debian makes this easier.

Things I could do better

Sometimes I am slow to seek help when blocked/stuck. I enjoy figuring out
things on my own (and I’ll always reach out to my colleagues if I can’t), but
my life would probably be easier if I was a little bit faster when asking for
help.

I also need to understand better how things are done in Ubuntu. This will
probably come with experience, but I am actively working on it.

Plans for the future

General

I plan to continue doing my work as part of the Ubuntu Server team, and having
upload permissions for the package set would make my work more efficient. I
also plan to eventually apply for core dev permissions.

What I like least in Ubuntu

There are a lot of tasks and processes that could be (at least partially)
automated. I know that there is an ongoing effort in modernizing our tooling
and this should make the overall experience of contributing to Ubuntu better.


Endorsements and Comments

If you have worked with me and can judge the quality of my work, please consider endorsing my application!

## Sponsoring feedback

* Please fill us in on your shared experience.
  * How many packages did you sponsor? A list of sponsored packages can generated [via UDD here](https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi)
  * 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.*

## Areas of improvement and next steps

What is the journey you see ahead of the applicant, the next steps they should take, the next things they likely have to learn and the next mountains to climb?
2 Likes

Sponsoring feedback

Sponsoring a single SRU is, IMHO, usually not enough to consider an endorsement.

However, I would still like to endorse Puida’s Server packageset application:

I have known Puida and his work for many years now. We often interact in Debian, mostly during our weekly Debian Brasil online sessions, which usually include live debugging sessions and technical discussions, and during DebConfs and MiniDebConfs in Brazil. We are now working together in the Ubuntu Server team, where Puida really contributes with all his high quality work.

Puida’s work has always been high quality, for as long as I can recall. A great example (the best so far IMO) is described in his rabbitmq upgrade path Discourse post linked in his application. Both the packaging work and the documentaion are great.

I fully trust Puida to join the server packageset and start uploading to those packages now. This will be a great addition to the Server Team and to the Ubuntu developers community.

Specific experiences of working together

The only evidence I can produce ATM is
Bug #2126573 “n-dhcp4: Do not set ciaddr in DISCOVER state.” : Bugs : network-manager package : Ubuntu which I sponsored for Puida. The merge proposals had no major issues.

There was also 2 uploaded MPs linked to https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/2138412 which ended up being overridden by security uploads, so they will need to be re-worked at some point.

Finally, we are currently working on https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/2151950, which is far from a trivial fix. The linked MPs really shows how careful and thoughtful Puida is, and how honest he is about his own findings.

Areas of improvement and next steps

As Puida mentioned in his application, all he needs on his road to core-dev (if this is what he is aiming for in the near future) is more exposure to the Ubuntu-specific processes. Granting him upload rights on specific packages or packagesets will definitely contribute to such exposure.

1 Like

Sponsoring feedback

I’m mentoring Guilherme in his Ubuntu journey, but I must say I’m barely doing anything. He knows this stuff, to say the least.

These are the packages I sponsored:
https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi?render=html&sponsor=*asenack*&sponsor_search=name&sponsoree=*puida*&sponsoree_search=name

The quality of his uploads is way above average for someone who just joined the team, but I guess that should not be a surprise given his Debian Developer background.

I mean, if my only comment on a PR that changes a systemd service is:

*  d/rabbitmq-server.service: fix infinite restart loop (LP: #2142374)

nitpick: there are two spaces after “*” :wink:

Then it’s definitely looking good.

So I will focus more on the Ubuntu processes, which are somewhat different from Debian.

Specific experiences of working together

Which brings me to his first SRU: dovecot.

It was basically spot on. My only nitpicks were on the “what could go wrong” section, which was already much better than most, it just needed a focus change, and a small test case adjustment. I was particularly impressed with the test case. Super easy to follow, and correct.

In parallel, that also taught Guilherme how to deal with our unfortunately flaky autopkgtest infrastructure. In the end, the SRU was released without issues in about 10 days. Good job.

A more complex PR about clevis also shows a good, mature, and insightful discussion in the comments, demonstrating the breadth of knowledge Guilherme has even in this very particular area of the system (booting from encrypted filesystems/partitions)

And finally the hot potato that is netplan. Also a tricky PR, because dealing with systemd service ordering is always complex, but it was handled beautifuly.

I think these examples, and others that he provided in his application, demonstrate that Guilherme is more than qualified for the ubuntu server package set, and that core dev comes next.

Areas of improvement and next steps

From what I have seen, Guilherme is proficient in documentation, packaging, and some processes (like SRU). Perhaps the only thing left to really zero in is the remaining processes, like package removals, MIRs, seed changing. But that will come with the normal daily work.

Sponsoring feedback

I endorse Puida’s Server packageset application.

I have sponsored several packages for them - the full list is here.

I trust they have everything needed to get these upload rights right now, and soon plead for more.

Specific experiences of working together

I have sponsored merges, fixes and SRUs for Puida, and every single one has been smooth. My reviews are usually quite strict process-wise, and Puida demonstrates not only to know the processes, but also the reason they exist and possible points of improvement. Of course their DD badge helps a lot with that, but in my opinion they are doing well with the Ubuntu specifics too.

Puida has reached for help in the correct channels when stuck.

They have also reviewed some of my uploads, and I’m very happy with their attention to details and kind approach on things which could have been done better. Their points are reasonable and concise.

Highlights:

We did the ruby3.3 merge together, and as stated by other colleagues, it was more me watching them work on it and provide small hints or guidance on specificities. Thanks (NO THANKS) to the autopkgtest infrastructure, Puida identified a very old bug and fixed it in a patch - which was really nice (:. Autopkgtest problems led to fixing ruby-curb too for the migration - smooth fix, accepted upstream, all processes followed with diligence and care.

sg3-utils was a good experience too - both the devel fix and the SRU to resolute fit what I described before quality-wise.

Areas of improvement and next steps

Touching more Ubuntu stuff will bring them the experience for a hopefully short term core-dev application. I think working on a transition would help, as much as changing seeds or driving MIRs.

1 Like

Strong endorsement. The examples show solid technical skills, good process awareness, and reliable collaboration. Puida’s handling of merges, SRUs, reviews, and debugging demonstrates they’re ready for the responsibility.