I, Valentin Haudiquet, apply for Ubuntu Contributing Developer.
I go by @vhaudiquet online, and you can contact me with the following means:
- Name: Valentin Haudiquet
- Launchpad: ~vhaudiquet
- Discourse: vhaudiquet
- Matrix: @vhaudiquet:ubuntu.com
- Website: https://vhaudiquet.fr
- GitHub: vhaudiquet
I am applying because:
- I would like to formally start my journey towards being an official Ubuntu contributor and uploader
- I want to express my commitment towards the Ubuntu community and project
Who I am
I’m a developer / software engineer from France. I started learning programming and experimenting with Linux early on in school, went to university to pursue a software engineering degree and am currently working at Canonical on Ubuntu, in the Foundations/Architecture team, on RISC-V support.
My Ubuntu story
I started using Ubuntu for the first time when I was in high school and learned to code. I distro hopped quickly after that, testing Mint, Debian, … and finally ArchLinux. I stayed on Arch when I was in University, and during an internship I had to use Ubuntu. I was quickly amazed at how it had gotten better during the time I was on Arch. The main issues that I had with Ubuntu in high school were all gone and I could not even remember them. This made me eager to work for this distribution, as for me it was always the one that I would recommend to a beginner and I was happy to use it myself. Hence why I decided to join Canonical.
Examples of my work / Things I’m proud of
My contributions to Ubuntu are centered around RISC-V architecture support.
I have contributed to fix multiple bugs in Ubuntu packages. The full list is available in Ubuntu Sponsorship Miner.
I addressed multiple FTBFS issues caused by the Ubuntu RISC-V RVA23 transition, fixing packages such as:
- LP: #2121938: mozc FTBFS with RVA23
- LP: #2121937: libcupsfilters FTBFS with RVA23
- LP: #2122479: protobuf FTBFS on i386, s390x, riscv64
- LP: #2122271: inetutils FTBFS due to failure of ls command
- LP: #2122492: pam FTBFS on arm, libraries built without GCS
- LP: #2121516: webkit2gtk FTBFS with RVA23
I have kept an eye on FTBFS reports and Launchpad bugs over time, and fixed some of them when I could:
- LP: #2126058: pytorch FTBFS on riscv64
- LP: #2125461: clean up NBS libomp5 and libomp-dev on riscv64
- LP: #2134454: libyuv is FTBFS on RISCV64
- LP: #2134556: stress-ng is FTBFS on riscv64
I worked on difficult bugs, for example one where running QEMU on s390x, a big-endian architecture, would cause issues when emulating riscv64 little-endian because of riscv-specific extensions. This led to an upstream contribution in QEMU and an SRU:
- [PATCH] target/riscv: Fix endianness swap on compressed instructions
- [SRU] RISC-V: incorrect emulation of load and store on big-endian systems
I opened and fixed Launchpad bugs for RISC-V issues I encountered or issues that were reported to me, like for autopkgtests:
- LP: #2137720 autopkgtest-buildvm-ubuntu-cloud is broken on riscv64 for questing+
- Upstream merge request: Fix QEMU baseline on RISC-V for Ubuntu Questing+
I also engaged directly with Debian maintainers to update RISC-V specific packages like OpenSBI (MR 4, MR 5). I have worked on merges from Debian (LP: #2130124: merge inetutils from Debian Unstable to Resolute, LP: #2138472: merge inetutils 2:2.7-2 from Debian Unstable to Resolute)
I have also contributed to livecd-rootfs in order to fix various issues and add some specific features. My contributions were centered around RISC-V images, particularly allowing RISC-V Desktop images to build. Here is a list of my Merge Proposals:
- riscv-netboot: add grub EFI bootloader in riscv64 netboot tarballs
- riscv64-vmlinux: fix restore “vmlinux” kernel name for riscv64 boot
- for-iso.dtb: change dtb handling, refactor, pre-extracting them for iso
- desktop-kernel-updates: update kernel to hwe-26.04 and use riscv64 workaround
- SRU: for-iso.dtb and desktop-kernel-updates workaround for Resolute
- nocloud-data: fix deprecated cloud-init data in nocloud images
- SRU: nocloud-data for Resolute
Finally, I have helped improving Ubuntu Project Documentation through various instances:
- Ubuntu Project Docs: added a note about sbuild, added a link to FTBFS report
- Ubuntu Hardware Support documentation: updated QEMU/RISC-V instructions, as well as some board supports (Commits · ubuntu/ubuntu-hw-support · GitHub)
Areas of work
I am working in the Foundations team at Canonical, in the Architectures squad, and my responsibilities are RISC-V support. My work is centered around the RISC-V architecture, fixing architecture-specific bugs and bringing features to match other mainstream architectures.
Things I could do better
I sometimes overlook small details like version numbers, target branch, etc during my uploads. This has caused trouble to sponsors or SRU team members because they need to fix it afterwards in the upload, sorry! I know that I need to be more careful, triple-check the branch I base my patch on and make sure that the version number is the right one for regular upload vs SRU for example. I also have contributed mostly around RISC-V, and I would like to participate more in general Ubuntu development, as I did when helping to merge packages from Debian.
Plans for the future
General
I plan to improve the situation of Ubuntu on RISC-V. The goal always is to reach architecture parity, meaning that RISC-V would be on-par with x86 for example. This is really a moonshot as there are still a lot of issues that need to be addressed on RISC-V, but we have seen a huge amount of progress recently, particularly with the transition to RVA23 and the release of hardware.
What I like least in Ubuntu
There are small things that I have issues with in Ubuntu. I don’t really like the default desktop look, but that is a matter of personal preference I guess
(I move the dock on the bottom
)
Every day I find small issues that can be fixed, but the main ones are on RISC-V hardware. There is still a lot of work to be done to make the RISC-V experience as pleasant as amd64, because right now there are a lot of many small pain points.
Ubuntu development can also be painful because of outdated tools and processes, but I know that we are all trying to modernize everything for the better
and this is a really cool effort to be part of!
Endorsements and Comments
Ask your sponsors and people that closely worked with you to use the template below, and reply to your application with their packaging endorsement (sponsors) or comments (anyone including sponsors).
## 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?