It’s 07:00 local, I’m drinking coffee, just updated my gpg keys and know it’s going to take ~30 minutes for things to sync.[13] Seems like a good time to start my core-dev application. So grab your own coffee and be prepared for a book, because I write way too much.
Contact Info
- Name: John Chittum, jrchittum, jchittum, j5awry, failedcomposer
- Launchpad Page: https://launchpad.net/~jchittum
- Matrix: @jchittum:ubuntu.com
- IRC:
@jchittumon libera.chat and oftc - github:
@j5awry - i have a webpage. I’m easy to find[14]
Why Am I Applying
The List
- To break down barriers for more contributors to Ubuntu. Sponsor uploads, offer mentorship, and help more community folks get into Ubuntu developments
- To officially give my expertise to the Ubuntu project – not just through Canonical, but as an ongoing Ubuntu core developer. If I’m lucky enough to keep $DAY_JOB and spend my life on Ubuntu, awesome. If not, I still want to make this the best possible Linux based distro.
- To help drive improvements through the Ubuntu development world. I dream of a world where we’re doing. Think
tag2uploadin Debian (and all the amazing drama[0]), an allgitworkflow, rebasing, with more “smarts”.[1]- and also more code reviews for uploads than just the SRU team.

- and also more code reviews for uploads than just the SRU team.
- drive toward membership in “higher office” whatever that may mean, as it pertains to the above statement – whatever I need to do to help Ubuntu improve, I’ll do it.
- To get my work uploaded a bit faster, and help others upload faster.
- I don’t want to push without review. I don’t think any of us should be pushing without review. But as a core-dev, that review could be from a non-core-dev (a MOTU? a PPU? a couple community folks? who knows!) and I would feel more confident pushing. With more folks reviewing, I’m assuming I’ll upload faster than waiting for sponsors…until we have more sponsors, which is a goal
The Bigger Story
feel free to skip to Who Am I?
First, why upload rights. My $DAY_JOB at Canonical is engineering manager of the Debcrafters AMER team. Debcrafters subscribes to 1595 packages in main (as of 20260217). This spreads across the Ubuntu ecosystem, from libraries like libraw , abseil, or boost to not-as-popular toolchains like autoconf and automake to mission critical userspace packages like e2fsprogs and other filesystem tools, or valgrind. Toss in glibc, systemd to round out major pieces, the printing stack for good measure, and any semi-orphaned areas of Ubuntu – the dark corners that have been filled with cobwebs and desperately needed cleaning. To do my job effectively, I need upload rights.
We’re also in a bit of an … inflection point[1] for uploaders. There are 80 registered core-developers of which roughly 25 or so are actively contributing to Ubuntu. A fair number of those have $DAY_JOB that does include Ubuntu development, but it is not their sole purpose. There are 117 MOTUs , of which 66 are “direct” members, and some of those are double members between core dev and MOTU (which points to a possible cleanup). Of those, a quick scan shows a small subset who are active on a daily (THANK YOU FLAVOR LEADS AND COMMUNITY!).
Ubuntu provides some stepwise possibilities to upload rights. One can get a PPU, which can be a single package all the way to larger sets like Server, Desktop, or MOTU. To be honest, the current packagesets were created by groups dedicated to making them move. Server, Desktop, Cloud, etc have individuals working on them regularly. Could I be of use there? sure, one more person wouldn’t hurt I’m sure. Would being a MOTU help the community? Definitely. But my $DAY_JOB would get no improvements, including the big task of helping to onboard more people into Ubuntu Development in general.
The separation of powers is important, but if I’m going to help drive initiatives and maintain the dark corners of Ubuntu, there isn’t a lower packageset that allows me to do this. The stepwise progression would just give me access to upload limited sets, of which I don’t work on regularly, to prove I am “capable.” While it’s a burden to my sponsors, I can do that proof without rights.
Who Am I?
The List
- Ubuntu Member for … something like 5 years
- Ubuntu “downstream” image provider for 4.5 years, working on the Public Cloud team at Canonical.
- led refactors of build pipelines, lots of
livecd-rootfs, lots of distro type decisions, downstream of Server - included pushing for the Public Cloud package set, pushing folks to become Ubuntu Members, developers, and maintainers
- led refactors of build pipelines, lots of
- Canonical Ubuntu Server Team (fall 2024 - spring 2025) – a short lived move because…
- Canonical Debcrafters Team (spring 2025 - present)
- sponsorships (if it’s working)
- Ubuntu Server Seed spec
The Story
Skip to Key Accomplishments
Software Engineer of some type since September 2014. Doctorate of Musical Arts in Music Composition, the University of Missouri – Kansas City Conservatory of Music and Dance, emphasis in electronic music, live performance with interactive electronics, installations, and opera, ; Masters of Music, Brooklyn College, the City University of New York, emphasis in electronic music, interactive electronics, and opera; Bachelors of Musical Arts, DePauw University[3], emphasis in music education (7 out of 8 semesters[4]) and English Literature. Obviously, I have a deep theoretical understanding of computer architectures, especially…PSH who are we kidding. I wrote music, spent time in Max, Pure Data, CSound, and dabbled with Supercollider, ChucK, and Lilypond (with automation in Python…very little). I do know a surprising amount about digital signal processing, digital audio, and making sure everything is working. As I tell folks while interviewing “If my program didn’t work, or I showed up unprepared, it wasn’t ‘I’ll push a bugfix’ it was ‘show is canceled, refund the audience.’ or ‘we’ll never call that person again…’” It means I pay a lot of attention to testing, especially functional testing.
Professionally, I’ve spent a lot of time living and breathing build systems, continuous integration systems, and working with open source. Prior to Canonical I worked at Akamai, primarily on CI and build systems. A lot of time understanding Java, Javascript and Python building and testing, and finishing my time designing and building a system that would adapt native language ecosystems with how Akamai works. Without giving away “trade secrets”, Akamai, up till I left in 2020, was very much like a distro. Honestly, I wish they just called it distro development, because that’s closest to truth.
On the Public Cloud team I led big initiatives like the launch of ARM servers on Oracle Cloud[5], helped plan and communicate big Ubuntu things (thanks to @cjwatson and the Launchpad crew there is https://snapshot.ubuntu.com/. I played a part on the project side, and coordination with partners that now consume this continuously), even did an MIR and livecd-rootfs work. I needed a break from partner meetings, and wanted to shift my life full-time to Ubuntu. Thankfully @paelzer and @esj0 lobbied for the move, and SABDFL gave me a shot. Hopefully I’m not too disappointing.
My day to day since that move has been Ubuntu, with big drives to “how do we make Ubuntu development and Ubuntu server experience better?” After years working with cloud partners that were relaying a combination of end-user feedback and their own wishes and wants, I’d started to have some clear picture of what is, likely, the largest Ubuntu user based[6]. Upon moving to daily development, I hit all the friction points. Being very used to running Ubuntu as an admin (since 2014), as a daily desktop driver (since 2020, with about half time use starting in 2014[7]), and even developing images downstream, I thought I knew how things worked. I was mistaken, learned quickly, and have a long wishlist of “how to make this better.”
I also like to spin a yarn, tell a (slightly) tall tale, and enjoy regaling folks over a coffee or drink about meeting L.L. Cool J or catching Chubby Checker as he nearly fell off stage after rocking for 2+ hours. Or how uncomfortable having 1:1 lessons can be(definitely told over drinks).
Key Accomplishments
The List
- Ubuntu Server Seed[8]
- went through well, feedback hasn’t been much, and I helped drive various required fixed
- sponsorships (if it’s working)
- notables:
valgrind– moved ahead of Debian. did the fullgit-ubunturich history + new upstream version- others have followed the steps i listed in the bug and MP to do their own move ahead of Debian!
pnm2ppa– this seems “small” but it is a wild package. diverged oddly from Debian? Why? It’s all in the changelog. and git history. and hopefully it all makes more sense to the next person
busybox–rust-coreutilshas been a fun challenge. andbusybox+rust-coreutilswas very specialgraphite2– what a special special package. it hates gcc15 it hates O-3. it…sort of hates everyone.golang-github-containers-*andbuildahthis is a continuing headache, asbuildahis not in a great place in universe.podmantoo. lots of debugging and trying to improve things, it’s all in the bug.
- notables:
- I’m active on Matrix. likely actually active. I start threads asking advice, talking to community, etc.
- Active Bug Triage.
- the Canonical Ubuntu Server Team has done this. I pushed for Debcrafters to do the same. We’re not perfect, and there’s a lot of “noise”, but we’re trying. it’s led to a few fixes and possible SRUs
- Some forthcoming work on Filesystem Userspace Tools (as of 20260217 no link yet, but by the time I’m actually going in front of the DMB it’ll be done and even practiced. tl;dr we have work to do)
- tons of proposed-migration work in the 26.04 cycle
- I’ve spent the past month+ watching daily, rerunning tests, alerting teams, and pushing up FTBFS , testing, and transition changes (
abseilseems to be following me around…)
- I’ve spent the past month+ watching daily, rerunning tests, alerting teams, and pushing up FTBFS , testing, and transition changes (
Areas of Work
The List – Now
- filesystem tools (of all types)
- printing, apparently
- all the neglected corners of
mainthat need some TLC[9] - Ubuntu development practices
- the 1595 packages Debcrafters is looking after
- seeds, packagesets, making better, more streamlined Ubuntu and more logical ways of doing work.
Areas of Improvement
Bluntly, while I have a “make sure it works” attitude driven by a life where a mistake meant no gig, my brain also hits “80% is usually good enough.” In practice it means the contents of my uploads are correct, but metadata pieces, like changelog, git commits, and even code comments end up with typos or small mistakes. I’ll lose my train of thought mid sentence and a new sentence will begin. This needs to be addressed
I need to do more code reviews to practice. I do try to weigh in on MPs going up from Debcrafters, and try to drive-by things rolling through git-ubuntu (I get notified of anything tagged with that as well). If I’m going to spend more of my time sponsoring than doing individual uploads, I’ll need to practice reviewing even more. Especially keeping paragraph 1 in mind.
Be even more open in Matrix and Discourse. I think I do better than the “average Canonicaler” in my day to day Ubuntu discussion, but it’s not enough. What is enough? I don’t know, but it needs more.
I also need to improve in my golang and Rust packaging. I’ve hit Python, C, C++, Ruby, and Perl packages at various points. My only golang has been the Debian style, which is not how Golang is supported in main , and I’ve barely touched Rust. This has mainly been because $DAY_JOB has been mostly hitting those areas. I bring a strong Python background, some Ruby and Perl development[11]. I’ve spent a lot of time in C++ land thanks to Server and Debcrafters. If I’m going to help the entire distro, I need to get up to snuff in those lands.
Finally, there are vast worlds in debhelpers that I’ve barely touched. Seems like every package I find something new. dpkg-gensymbols failing? What? What is a symbols file in the debian folder? What is happening? That was this week, and I learned a lot. there are 40101[15] packages in Ubuntu, some well maintained, some sync’d from Debian and maintained well there, and some orphaned everywhere. I may never know all the package helpers, but I need to learn more.
The Future and Improving Ubuntu
The List – What I Want and Can Do
- Ubuntu Development Practices
- I dream of a fully git workflow, where clicking merge (yes clicking a merge button) in Launchpad ends up with a package in the archive, with all signatures captured and verifiable
- I meet with Launchpad folks regularly, make roadmap plans, I can and will work toward this future, even if it is years off
- Improving New Contributor docs – First Contributions
- I dream of a fully git workflow, where clicking merge (yes clicking a merge button) in Launchpad ends up with a package in the archive, with all signatures captured and verifiable
- More Debian upstream
- I open bugs and submit patches occasionally, but I’d like to strengthen my relationship[10]
- more UPSTREAM upstream
- move from package maintenance to contributing all the way to source in important projects that matter most to Ubuntu
- better management of tightly couple userspace to kernel packages
- filesystems, networking tools, etc. There are too many old bugs with “take newest version.” That’s not always possible with Ubuntu’s LTS model, and sometimes “take newest version” is many years later. But something must be done to improve the situation for everyone. We can’t have bugs that lead to corrupted filesystems just hanging around[12]
- A more official Ubuntu Mentoring program. I run one within Canonical. is it perfect? definitely not. Are we seeing some success? Definitely.
The List – What Really Grinds My Gears and Maybe Can’t Do Anything About
- Discourse As Support. Discourse as Developer Application. Discourse as…everything?
- Forums are great. Forums are not always the best support. Forums are not the best place to be storing important project data. A wiki is coming which is great. We need low-friction static site generation for the Ubuntu Project that can easily be contributed to by the community
- “Who even uses this package?”
- 40101 packages. 40101. FORTY THOUSAND ONE HUNDRED AND ONE. And we don’t don’t know how many installs any package has.
popcondoesn’t really work in Ubuntu. Mirrors are often pulls from the primary archive, leading to falsified numbers. I’m not really sure download stats fromsnapshotbut I’m guessing that’s a better idea. In-cloud mirrors are caching proxies, so we only get the “first” hit out of N hits in a region. - working on
pnm2ppawas sort of mindblowing – it was to support a series of printers that haven’t been manufactured in well over 15 years. One of the supported printers was the first printer I ever purchased, when I was in high school. I’m 42. Who even has a working one of these printers? - Why is this important? Because there are a limited number of people working on Ubuntu. we need to smartly triage issues and prioritize updates. Understanding the user base, the importance of dependencies (and reverse dependencies) will lead to smarter decisions on what to work on.
- 40101 packages. 40101. FORTY THOUSAND ONE HUNDRED AND ONE. And we don’t don’t know how many installs any package has.
The List – What Do I Want for Ubuntu
- 100% git based workflow with multifactor, signed commits, and attestation throughout
- contributor forks, makes changes, signs commits, pushes to branch, opens MP
- developer reviews and approves, clicks merge
- Launchpad asks for a multifactor auth. Signature is made on behalf of user based on that multifactor auth
- no caching – every merge you must multifactor. sorry, no cookie exfiltration here, just short lived token from that immediate challenge/response
- a signed manifest showing all changes, easily attestable.
- This should reduce new contributor friction to codebases. If they’re doing all git, all the time, easier
- Easier and better merges
- in git-ubuntu it’s essentially a rebasing workflow. we should be able to smartly try the rebase automatically and put up an automated MP for review
- if it’s clean, yay, a developer can review and merge
- if it’s not clean, having the MP with conflicts can help a developer fix the issue
- easy mode of “supercedes” – maybe the developer can push to the auto branch to fix the conflicts. maybe it’s a fork and “supercedes” to close out the old MP. But it should be easy and automatic
- in git-ubuntu it’s essentially a rebasing workflow. we should be able to smartly try the rebase automatically and put up an automated MP for review
- Even More Project Docs
- the new project docs are AMAZING. There will never be enough.
Refs and Errata
[0] https://lwn.net/Articles/978324/
[1] not stating AI here, because in this case we most definitely want determinism
[2] inflection is a bit more positive than “crises”
[3] DePauw with a “w”, in rural Greencastle, Indiana. not the more well-known DePaul in Chicago
[4] a story best told of drinks but the short version is “wanted to go to grad school, and Indiana laws limited time I could take off while student teaching.”
[5] GO ORACLE! (It’s an old meme, but it checks out…no i’m not linking, good luck searching for it
)
[6] by number of machines, not individuals…well, maybe individuals too. honestly, i only know machine hours and it’s absolutely wild.
[7] Akamai wouldn’t let me have an Ubuntu laptop, so i had a desktop in office. when i went remote in 2016, they gave me an underpowered VM. I used that for specific tasks, but with 2 cores and 4gb RAM, over a network connection, it wasn’t doing my daily work ![]()
[8] my first phoronix “don’t read the comments!”
[9] it’s better live, but still… Cowtown Country Club forever
[10] transparency and honesty though – i don’t particularly have a calling to be a DD at this time.
[11] http://failedcomposer.com/howtoseance
[12] Bug #2115454 “btrfs-progs-6.6.3 in 24.04 1.5+ year old. Crucial ...” : Bugs : btrfs-progs package : Ubuntu or Bug #2091894 “btrfs receive allocates ALL space for DATA & makes...” : Bugs : btrfs-progs package : Ubuntu
[13] it’s been almost 3 hours and they’re not sycn’d yet…
[14] SUBSCRIBE TO MY SOUNDCLOUD: https://soundcloud.com/johnchittum or https://soundcloud.com/ OR www.failedcomposer.com
[15] I originally stated 27k. it has grown to 40101 since I last counted. w000000f