CoreDeveloperApplication

I, William 'jawn-smith' Wilson, apply for core-dev.

Name

William Wilson

Launchpad Page

https://launchpad.net/~jawn-smith

Wiki Page

https://wiki.ubuntu.com/jawn-smith

I am applying because:

  • I joined the Foundations team in January 2021.
  • I'd like to eliminate delays in getting my work sponsored.
  • I'd like to reduce the burden on my sponsors.
  • I'd like the ability to contribute to Ubuntu more meaningfully.
  • As the Foundations team continues to hire this year, I'd like to be able to sponsor changes for the new employees.

Who I am

My name is William Wilson. I'm a member of the Ubuntu Foundations team currently living in Dallas, TX. I'm passionate about Linux, SBCs, and RISC-V. Before working for Canonical I was using Ubuntu to develop software for pharmaceutical companies, and developing Linux operating systems for use by the United States government. I'm the creator of the https://github.com/GlenPickle/Chimera and have contributed to https://github.com/qmk/qmk_firmware.

My Ubuntu story

I first used Ubuntu 12.04 while working on a research project with a professor during my undergraduate studies. I immediately found that using Ubuntu just made sense to me and I quickly fell in love with FOSS. I tried a few other Linux distributions, but always found my way back to Ubuntu, and have been using it on all of my workstations ever since. After University, I accepted a job at a company called CMI. Their company laptops came with Windows installed, so before I accepted their job offer I made sure I would be allowed to use my own laptop with Ubuntu instead. While at CMI I realized I wanted more OS development experience, so I got a job at a company called Forcepoint building Linux operating systems to be used by the US government. While at Forcepoint my desire to work on open source projects and give back to the open source community grew, so I applied to Canonical and have been given the opportunity to do just that on the Foundations team.

My involvement

Examples of my work / Things I'm proud of

* My greatest contribution to Ubuntu so far is my work on ubuntu-image. By rewriting it in Go I was able to greatly reduce the amount of code needed to build images by reducing duplication with snapd. I am proud to say this project currently has a 100% go report-card score and 100% test coverage.

As for things that aren't direct contributions to packages but I am proud of:

Areas of work

While on the Foundations team I have had the opportunity to work on:

  • Rewriting ubuntu-image in Go. I will be taking over maintenance of this package along with sil2100
  • Supporting RISC-V development and getting u-boot working on the Unmatched for 20.04.3
  • Taking over some of the Go toolchain responsibilities.
  • Raspberry Pi firmware updates
  • Many proposed migration tasks for foundations packages
  • Migrating universe packages while on +1 maintenance. I like to use my Go experience to help target those packages.
  • Some cross-team work adding new metrics for hwcap to ubuntu-report and making a PR in snapd to help integration with ubuntu-image.

Things I could do better

I could improve my attention to detail on steps like remembering to run "update-maintainer" when appropriate, and updating status of Launchpad bugs. I feel I have gained a good understanding of Ubuntu packaging, but I'm sure there is more I could learn.

Plans for the future

General

  • Continue to improve ubuntu-image
  • Continue to work with RISC-V and Raspberry Pi when appropriate
  • Gain more toolchain experience, specifically with Go if possible

What I like least in Ubuntu

Documentation can occasionally be hard to find. We have Discourse, the Ubuntu Wiki, the Canonical wiki, man pages, and personal blogs. I try to address this by duplicating documentation in multiple places. See My Blog and Discourse for one example. Certain other things (like priming a gadget snap for building classic images) aren't documented well at all, which I plan to help fix by writing more documentation.

In addition, there are many different version control schemes that I feel can be a barrier to new people who want to contribute. Some packages live in GitHub, some in launchpad git, some in launchpad Bazaar. It would be good to migrate more of the public projects to one place.


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@.


Endorsements

Łukasz 'sil2100' Zemczak

General feedback

Even though I have only sponsored 2 packages for William so far, we both are part of the Ubuntu Foundations team and cooperate tightly on everyday work-items and implementation of the new ubuntu-image Go-based rewrite. William demonstrated multiple times his eagerness to learn new distro-specific topics, adapt and perform highly in variety of Ubuntu related tasks. He is very passionate about Open Source Software and Ubuntu in overall. He willingly participated in +1 maintenance shifts, worked on various FTBFS, resolved autopkgtest issues and many more.

Even though William is relatively new to the world of Ubuntu, in this rather short time period got strongly involved in the development of Ubuntu. He demonstrates high attention to detail, willingness to follow procedures and does not fear to ask when in doubt. This is why, even considering his short involvement period, I highly endorse his application to become an Ubuntu Core Developer.

Specific Experiences of working together

As mentioned above, I have only formally sponsored 2 of his packages so far: binutils and update-manager. I had multiple occasions to review his contributions while doing SRU reviews though, and most of them were flawless. I said 'most' as at the beginning there were a few difficult cases that haven't landed in the end (for instance ubiquity) - but that was most due to the nature of the problem than any shortcomings on his side.

I know William worked on a broad spectrum of Ubuntu tasks (as part of his +1 maintenance or weekly foundations tasks): FTBFS fixes, proposed-migration, MIR (filling paperwork + shepherding), hardware enablement, SRU preparation, merges.

Areas of Improvement

I think the only bit of experience that William is lacking is working on (leading?) transitions, but seeing that he touched basically all the other aspects of Ubuntu development, I'm confident he'd be able to deal with a transition if needed.

Dave Jones (waveform)

General feedback

I've been working with William on the Ubuntu Pi images for several months now, and he's a joy to work with. Never afraid to ask questions, and the questions that do come up always demonstrate he's grasped some concept and is ready to dig deeper, or move on to the next step. He has boundless enthusiasm for hacking on Open Source things, and is happy to dive in and engage with the community at every opportunity (whether in real-time through IRC, or offline via the forums and bug reports).

Specific Experiences of working together

I've sponsored a few uploads for William at this point (all Pi related: pi-bluetooth initially as I recall, followed by u-boot and pi firmware packages), and his quality of work has always been excellent. He's picked up all the administrative bits that've been thrown at him (mostly SRUs in my experience, along with some MIR bits) and has rapidly advanced beyond my understanding in several areas.

Areas of Improvement

As Łukasz has noted, I don't think William has any experience leading transitions, but then I can't speak to that having no such experience either! However, given the ease with which he's taken to every other task that has been thrown at him (across all areas from development to administration), there's no doubt in my mind he'd pick up the necessary skills rapidly and handle it with aplomb.

TL;DR: in my opinion, he'd be a significant boon to the Ubuntu project as a core developer.

-- waveform 2021-09-01 23:43:44

Brian Murray

General feedback

I second everything that Łukasz wrote in his general feedback section. Additionally, I've sponsored about a dozen packages for William and while we initially had to work some things out (package versioning, forwarding of patches and bugs) they were only because he was new to the Ubuntu development process. With every upload his quality of work has improved and the debdiffs he has provided have not required any changes in quite some time. I also have confidence that William will continue to ask questions if he has any doubts about what the proper way to proceed is.

Specific Experiences of working together

William and I worked on https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1902025 when he first started at Canonical and the change actually ended up creating a new crash. While creating a crash was unfortunate I think it was a good learning experience for William in that it showed him one way things could go wrong with a package upload and the process for fixing mistakes.

While I didn't sponsor his upload of shadow fixing https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1927078, I did watch him work on that bug. I think he did a great job of accepting lots of feedback and creating a multitude of test cases for the change.

Additionally, I've retried a lot of autopkgtests for William and I think he has a great understanding of when something should be retried versus modifying the package or its tests.

Areas of Improvement

I can't think of anything at this point in time. -- brian-murray 2021-09-01 23:26:13

Michael Hudson-Doyle

General feedback

I too work on the Ubuntu Foundations team with William and have found him to be very capable and thoughtful. I have no doubt he will be an excellent core developer. In particular, I trust him to ask first before doing anything rash!

Specific Experiences of working together

I have sponsored a few packages for William now (and am about to sponsor a few more). I have not had to make any changes to any of them beyond running 'update-maintainer'.

Areas of Improvement

I'm sure there are corners of the Ubuntu development process William does not yet completely understand (transitions and seeds and parts of image building maybe) but I have no doubt he will get to grips with them as he needs to.


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

jawn-smith/CoreDeveloperApplication (last edited 2021-09-17 18:24:46 by jawn-smith)