I, William Grant, apply for core-dev.


William Grant

Launchpad Page


Wiki Page


Who I am

I'm a long-time Ubuntu and Launchpad developer, and nowadays a member of the Ubuntu Engineering Continuous Integration team at Canonical.

My Ubuntu story

I've been involved with the larger Ubuntu community since 2005, and in 2006 I became a member and a MOTU. In 2009 I focused more of my efforts on improving Ubuntu's pain points in Launchpad, and in 2010 was hired by Canonical to work on Launchpad full-time. Recently I've become more directly involved in Ubuntu again, primarily with the arm64 and ppc64el porting efforts.

My involvement

Porting, bugfixing, QA tooling, all sorts.

Areas of work

I've worked in many different areas over the years, though most recently in bootstrapping Ubuntu's arm64 and ppc64el ports. This has involved much ugly code porting, many thorny test suite issues, numerous trivial autotools-related uploads, unbitrotting a lot of upstream code and packaging, tracking down obscure crashers in kernel and toolchain ports, and everything else that falls out from building the entire archive from scratch. Most of the arm64 work was very late in the Saucy cycle, so involved cherrypicking minimal patches from upstream and close coordination with the release team to keep everything compatible with freezes.

Most of my recent uploads have been sponsored by cjwatson, doko, infinity and slangasek, and can be found at

Much of my past focus has been on trying to beat universe into some kind of quality and security. I also maintain and many of the tools on it.

Things I could do better

I've lately been somewhat inconsistent in forwarding patches to Debian and further upstream. After spending my early years gardening universe I very much know the importance of minimising delta, so I'm improving back to my previous standard.

Plans for the future


In the immediate future I'll be fixing a lot of bits and pieces for ppc64el and arm64. But after that I hope to return more to general work around the archive, particularly aided by not having to pester people for trivial fixes to packages in main and restricted.

What I like least in Ubuntu

The wildly differing implementations of version control and continuous integration around the archive make it awkward to efficiently work across a varied set of packages. Most packages are maintained in UDD Bazaar branches, some in alioth git, a few in separate packaging branches, while others have no VCS at all. Certain important software needs to go through Jenkins-based CI systems, and uploading changes as if they were normal packages can block their normal development processes. These different ways to do the same thing seriously slow down development, and it's not always easy to see which apply to a given package. Like my previous point, this often adds an extra delay of having to poke people before making a trivial, clearly safe change.


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


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


General feedback

While I've only sponsored a few packages for William into Ubuntu recently as part of a new port bringup, I've known him in the Ubuntu community for years. When sponsoring these packages I finally got tired of listening to him demure about how he's not active enough to apply for core-dev, and declared that I considered him to have well exceeded the threshold for applying due to managing to simultaneously annoy four different existing core-devs with needing to sponsor his uploads that required no correction or review.

I have complete trust in William's ability to upload packages without the need for someone looking over his shoulder, and to ask for help when there's something he doesn't understand. There is no question in my mind that he should be granted core-dev status.

Adam Conrad

General feedback

William's skills in random programming languages, assembly, and packaging have come in handy time and again in the last two port bootstraps we did but, more importantly, he understands the archive and packaging better than 95% of our current core-devs. Despite his obvious and diverse skillset, he still has the humility to ask for advice, help, and review, and also to just leave things alone when he doesn't understand them. This combination of skill and caution makes him an ideal core-dev, in my opinion. Precisely the sort of person we want to be granting upload rights to.

Areas of Improvement

Usually in this bit, I write that someone needs to learn to jump to conclusions less quickly, or be more careful, or ask for help more often. The only thing I really have to say about William is that he needs to sleep less and upload more. His contributions are highly valued, and if I didn't have to sponsor them anymore, I'd be in heaven.

Colin Watson

General feedback

I've worked with William both as an Ubuntu developer making changes to Launchpad and seeking advice/review from him (where he has always been an invaluable source of expert advice), and as a reviewer of changes he made to help with the arm64 and ppc64el ports. In those cases he spent a lot of his time on the really hard cases, such as staring at ARM64 assembly code in the middle of Qt atomics implementations to try to figure out why anything that used Qt was segfaulting. In all these kinds of cases he came up with clear, correct, well-formatted patches that were no-brainers to sponsor into the archive. I'd be entirely happy for him to be able to upload his invariably excellent work himself rather than via intermediaries!


=== 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.''
=== Areas of Improvement ===


WilliamGrant/CoreDevApplication (last edited 2014-01-13 10:56:58 by 82-69-40-219)