CoreDeveloperApplication

I, Nishanth Aravamudan, apply for core-dev rights.

Name

Nishanth Aravamudan

Launchpad Page

https://launchpad.net/~nacc

Wiki Page

https://wiki.ubuntu.com/NishanthAravamudan

Who I am

I have been involved with Linux since 2004, when I joined IBM out of college on the LTC's (Linux Technology Center) Kernel Team. I spent a little over 11 years at IBM before transitioning to the Server Team at Canonical in December 2015.

I did my undergraduate work at the University of Illinois Urbana-Champaign in Computer Science and Philosophy and have a MSc. in Computer Science from Portland State University.

My Ubuntu story

Tell us how and when you got involved, what you liked working on and what you could probably do better. I began using Ubuntu shortly after the first release, having tried Debian and Fedora Core with less-than-great success as a new-to-Linux user. Ubuntu was (relatively) painless and I've been an Ubuntu user for about 10 years now (with only a few reinstalls required Smile :)

My involvement

I joined the Canonical Server Team in December 2015. Since then, I have been working closely with Robie Basak to come up to speed on the team's release-related work, including bug-fixing, triaging and merges.

Examples of my work / Things I'm proud of

My largest contribution to date has been the migration in 16.04 from php5 to php7.0 only. This was started quite late in the cycle, but the Server Team believed it was a smart thing to do, given the support timelines for PHP and for 16.04 itself. In the end, with the help of Steve Langasek and others, I ended up touching 400+ packages that had php5-dependencies. We ended up doing this ahead of Debian, just based upon schedules, and I've been spending some time in the 16.10 cycle on pushing the same changes to Debian, where they haven't already been included; or syncing packages back down if they have.

My latest area of contribution to the team is in working on a git-based package importer (ubuntu-server ML posts here and here. This tool faciliates a git-based merge workflow (documented here) and we (Robie Basak, myself and others) are looking at ways to extend it to replace at least some of the functionality provided by udd and to supplement dgit for Ubuntu packages.

Areas of work

Let us know what you worked on, with which development teams / developers with whom you cooperated and how it worked out.

I have worked on several bugs across server-related packages, primarily php* and tomcat*. For example:

as well as merges and updates to both php and tomcat related packages, including the demotion (and eventual removal) of php5 from main to universe; the promotion of php7.0 to main; the demotion of tomcat7 to universe; the promotion of tomcat8 to main. A list of package updates I have had sponsored (all since joining Canonical can be found here.

I have worked with primarily members of the Ubuntu Server team, but also interacted quite a bit with Steve Langasek during the php7.0 migration. I believe my interactions have been effective and positive with everyone I've worked with so far. I try to learn something from each interaction, so if I have made any mistakes, I hopefully don't make them again in the future.

Things I could do better

As I had almost no Debian packaging experience when I first started, I made many, many mistakes. I would like to believe I have learned from them and have improved my process. But one thing I know I can do better is documentation. As I have worked on the importer tool, I have found myself wanting a simple landing page to send potential community developers to (particularly for server packages that are not necessarily being well-maintained in universe), where they can find lists of tools that are useful to use, what package they come from and maybe an example. This is basically what I've spent the past 6 months doing myself, and I wish I had taken better notes of the tools that do exist and how they can be used.

Plans for the future

General

As I have come from knowing very little about Ubuntu and Debian packaging generally, to knowing a fair amount (in my own opinion), I would like to help with sponsorship of new contributions to Ubuntu (particularly from the broader community).

I also plan on doing my best to help promote the importer tool and find ways to provide a useful tooling that can at least, in part, replace what UDD did.

What I like least in Ubuntu

Please describe what you like least in Ubuntu and what thoughts do you have about fixing it. This is not necessarily a bad thing, but the bar to entry to contribute can seem quite high. And that highness ends up precluding (it seems like) some community members from contributing at all (or even filing bugs...).

Finding the source for a package (even just understanding the distinction between source and binary packages), getting the source into a workable state (ideally a git tree these days), then building a package, testing it (PPAs help tremendously), etc. There's a lot of steps and a lot of what seems like institutional knowledge in the existing Ubuntu developers' heads. I'm trying to document as much as I can in the process of writing the public git workflow page, and I hope that maybe, or a revision of it, can one day be a landing page for introducing Ubuntu development to new contributors.


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

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

Ondřej Surý

Feedback

Nish and I worked on getting PHP 7.0 into Ubuntu 16.04 LTS. From my experience working with him, he is technically well versed, and he provided valuable feedback on PHP packaging which I have incorporated into main PHP packaging tree, but he was also able to fix many PHP extensions himself.

I worked with most of the Ubuntu PHP maintainers in past (being the longest serving PHP maintainer in Debian and still keeping my sanity), and working with Nish was a pleasant experience. He had a valuable insight, but he is also not afraid to ask if there's something unclear to him. He also keeps his promises on contributing back patches he prepared for Ubuntu, but which are generally usable also in Debian packaging. Which sadly hasn't been always the case.

I also value that he had a courage to ask, argument and stand for getting a PHP exception for patch version updates in Xenial.

Robie Basak

I've been working with Nish since he started with Canonical in December 2015. He picked up the details of packaging work extremely quickly without needing much input. I've also noticed that he is very active on IRC, both in learning from others and in sharing that knowledge. He has picked up on the mindset of an Ubuntu developer very quickly. Where processes and tools are documented, he has found and applied them to the level that he has had to point me as a sponsor to documentation to explain my review queries. Where he has found holes or ambiguity in what we have documented, he has been quick to ask, normally on the appropriate public IRC channel. I am confident that this approach will make him a good core dev.

It looks like I've sponsored 26 uploads for Nish. Most of these have been via LP merge proposals, so you can see these at https://code.launchpad.net/~nacc/+merges.

I have worked with Nish as he has taken charge on developing the server team's git-based merge workflow and tooling. Based on this work I am confident that Nish has a deep level understanding of the mechanics of merges. Though it looks like I haven't sponsored that many merges for Nish, the practical examples I have seen in combination with his work on the workflow tooling itself give me confidence that he is able to do Ubuntu merges to a higher quality than many other existing core devs.

Nish has perhaps about seven months' experience as a propective Ubuntu developer. I understand that this is certainly at the short end in terms of applying directly for core dev. As a new DMB member I'm not sure how to proceed on this, and value input from others. It would certainly be extremely valuable to the server team to have Nish as a core dev now. The sponsorship queue is often full of his requests. I'll leave it to Steve to talk about Nish's handling of the PHP transition - but in managing that work, Nish has clearly achieved what some existing core devs would struggle to manage. Transitions bloat the number of uploads of course, but at 471 sponsored uploads, including a considerable number that weren't involved in the PHP transition, I think Nish has gained experience over a reasonably large part of the archive. I also see that he has touched the seeds. So he has had an unusually wide range of experience in these seven months.

If I were to volunteer only one person for core dev in such a short time, it would be Nish. The seven months is the only reason for my hesitation. His breadth of experience and quality of his work certainly meet the required standard in my opinion.

If Nish is declined for core dev, I certainly do endorse him and put him forward for the server packageset.

-- racb 2016-08-19 15:48:14

Steve Langášek

General feedback

As a new member of the Canonical Server Team, Nish has been thrown straight into the deep end with respect to the archive, being charged with managing the migration from php5 to php7 in xenial. While a great number of the uploads I sponsored for him for this transition (which numbered in the hundreds) were mechanical, Nish nevertheless showed good follow-through on all of the build failures, and clearly grew in his understanding of packaging through the process. He has also taken responsibility for merges of these same packages in the yakkety cycle following the xenial release, demonstrating both his ability to drive merges of new versions from Debian, and his understanding of the importance of minimizing delta from Debian where possible - pushing patches upstream to Debian and turning merges into syncs as appropriate. He has shown himself able to absorb copious details of packaging policy in a short amount of time, and diligence in understanding policy before he acts. I have no qualms about recommending him for core-dev rights immediately.


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:
## http://ubuntu-dev.alioth.debian.org/cgi-bin/ubuntu-sponsorships.cgi?
=== Areas of Improvement ===


CategoryCoreDevApplication

NishanthAravamudan/CoreDeveloperApplication (last edited 2016-08-23 16:30:22 by nacc)