<p>Over the past development cycle, the Ubuntu Developer Advisory Team [1] reached out to many new contributors. As part of that work, we solicited feedback about our development process. We have summarized this feedback in the attached report. It is our hope that it will help drive further discussion about our development processes, tools, and documentation in the lead up to UDS and over the course of the next cycle.</p>




<p>Attracting new developers and maintaining our welcoming environment for contributors is an important task for the project. We encourage both new contributors and existing developers to discuss your interpretations of the report as well as any other feedback you might want to share about your experience working on Ubuntu.</p>




<p>The full text is below. It is also available as a PDF [2].<br></p><pre>[1] <a href="https://wiki.ubuntu.com/DeveloperAdvisoryTeam">https://wiki.ubuntu.com/DeveloperAdvisoryTeam </a><br><a href="http://people.canonical.com/~dholbach/d-a-t/12.10Feedback-Contributors.pdf" target="_blank">[2] http://people.canonical.com/~dholbach/d-a-t/12.10Feedback-Contributors.pdf</a><br>
</pre>

<br><br>On behalf of the Developer Advisory Team,<br><br>-- Vibhav Pant<br><pre><br><br></pre>New Contributor Feedback - 12.10 <br><br>The Ubuntu Developer Advisory Team <br>developer-advisory-team at <a href="http://list.ubuntu.com" target="_blank">list.ubuntu.com</a><br>

<pre><br></pre>Number of people we reached out to: 66 <br>
Got feedback from: 29 <br>Response Rate: 43.93%<br><br><br><br><br>Topics<br>                                  Total Mentions        Positive     Improvement Needed<br>Tools & Infrastructure               15                  8              7<br>


Processes                               9                    4              5<br>Documentation                        10                   6              4<br>Outreach                                 4                    4              0<br>


People                                   19                   18             1<br>    <br><br><br><br>Report<br>======<br>In the 12.10 cycle the Developer Advisory Team reached out to 66 contributors <br>to ask for their feedback. We received feedback from 29 (Response Rate: <br>


43.93%). This does not include many other conversations we are involved in, <br>for example when we help contributors with their development application.  <br>The general tone of the feedback was positive and we received quite a number <br>


of ideas for how we can improve our development workflow.<br><br><br>Current members of the Developer Advisory Team are: Andrea Colangelo, Andrew <br>Starr-Bochcchio, Barneedhar Vigneshwar, Bhavani Shankar, Christophe Sauthier, <br>


Daniel Holbach, Evan Broder and Vibhav Pant.<br><br><br><br><br>Tools & Infrastructure<br>======================<br>The vast majority of contributors who mentioned tools and infrastructure <br>generally enjoy using Bazaar and Launchpad. Especially the tight integration <br>


between Bazaar and Launchpad and the straight-forward process were noted as <br>advantages. PPAs, daily builds, translations integration and many other <br>things were also mentioned in a positive light.<br><br>As points for improvement the learning curve, the amount of different options <br>


and tools and Launchpad-git integration were quoted.<br><br><br> * The thing is Bzr-only in Launchpad - I would really like to have git as an <br>   option too<br>
 * Launchpad is a pain to get working initially, and there's really a whole <br>   lot of stuff to read up on first before things become useful. <br> * would try to reduce the number of tools available because sometime it's <br>


   disorienting when you have to choice things and both have pro and cons.<br> * Even though I'm more of a git fan personally, bzr's integration<br>   with launchpad makes contributions very easy and very fun. For instance<br>


   unity or compiz - you pick up a bug, prepare a branch, request a merge<br>   and wait for reviews. Easy.<br> * Pushing to launchpad can trigger builds, review, merges, ... That's quite <br>   amazing stuff which helps a lot in building and managing a whole <br>


   distribution.<br> * The tools, while occasionally cryptic and unpolished, make development<br>   easier, faster and even fun once you get the hang of them.<br> * In general, I like the development process and the tools (from build <br>


   systems to online services) are very easy to use.<br> * It's not always clear which launchpad service is the right one to use. E.g. <br>   on a blueprint, if I want to offer a comment, should I edit the whiteboard,<br>


   or pick a relevant name to email? Or is there somewhere a discussion<br>   feature associated with it?<br> * The features provided by Launchpad are also interesting.<br> * Launchpad environment which integrates all the development workflow; I can <br>


   quickly and easily checkout sources of any package, commit a patch, link it <br>   to a  bug report, ask for a review/merge, manage the translation, build a <br>   package and push it into a PPA, etc. That's just amazing..<br>


 * It was quite easy to create the branch and pushing it to launchpad as <br>   everything needed is explained by launchpad (where to push, how to push <br>   etc.).<br> * Also, it would be very good to have a much easier way to submit bugs <br>


   related to a ppa. Currently, they end up being emails sent to me. Having <br>   more visibility, would help the user and me.<br> * Launchpad could be slightly improved (speeding it up, fixing some annoying <br>   bugs like <a href="http://pad.lv/523989" target="_blank">pad.lv/523989</a>, adding some markup options, etc).<br>


 * I liked the automation that you accomplished using launchpad and bzr.<br> * like the development process and the tools (from build systems to online <br>   services) are very easy to use<br> * Bzr and Launchpad are very effective and make collaboration and peer <br>


   feedback nearly painless.<br><br><br><br><br>Processes<br>=========<br>Processes in general were mentioned less as part of the feedback, the only <br>improvements contributors requested were doing the follow more easily: getting <br>


in touch with package maintainers, finding out what needs doing, getting new <br>packages into Debian/Ubuntu, quicker sponsoring and more stable release fixes. <br>Our processes got some good feedback as well.<br> * I am very satisfied with the helpfulness of the community, and I have never <br>


   had any negative interactions based on any work that I have done. All of <br>   the comments from uploaders or reviewers of my work have been constructive, <br>   and this really helps one learn and remain motivated.<br>


 * It would be nice if people doing bug triage got in touch with the package <br>   maintainer as well - sometimes some of the questions which get asked of <br>   bug submitters by bug triagers could be more useful with prior input from <br>


   the maintainer.<br> * The only part I feel that can be improved is the way I have to find <br>   packages that I have interest in helping.<br> * Debian seems to have an enormous barrier to entry for getting new packages <br>


   accepted into the archive. And unfortunately this is described as the <br>   easiest way to get new packages into Ubuntu!<br> * Generally once a release has been released not too much care is giving to <br>   it - sure, there's an occasional sru, but for the rest it's ignored†<br>


 * I think it's important for new contributors to see their work go into <br>   Ubuntu more quickly, the only thing that I think it should be improved is <br>   sponsoring, It takes some time to get someone work reviewed and uploaded to <br>


   Ubuntu.<br> * Anyone can jump on a bug, submit a fix for it, and have it accepted into <br>   the archive.<br> * The most exciting things about being involved in  development have most <br>   definitely been the UDS's. <br>


<br><br><br><br>Documentation<br>=============<br>The Documentation which has been a helpful resource for all new contributors. <br>The improved developer portal (<a href="http://developer.ubuntu.com" target="_blank">developer.ubuntu.com</a>) provides useful tutorials <br>


like the packaging guide which have immensely helped contributors. The vast <br>majority of replies mention it in a very positive light. The outreach and bug <br>fixing initiatives were mentioned as great entry points as well. However, a <br>


contributor mentioned that too much documentation on our wiki is confusing, <br>another contributor mentioned that the Ubuntu wiki could be more structured.<br><br><br> * Generally, the wiki is really helpful here, especially with routine tasks <br>


   such sponsorship for uploading <br>   (eg: <a href="https://wiki.ubuntu.com/SponsorshipProcess" target="_blank">https://wiki.ubuntu.com/SponsorshipProcess</a>). At this point I can't <br>   think of any easy way of improving this issue. However, a quick lookup page <br>


   that lists all of Ubuntu development / packaging tasks are that links to <br>   existing documentation might be useful. However, I have always managed to <br>   look up what I have needed to find quickly with the various search tools.<br>


 * What I think can be improved is the way the wiki is structured (or at least <br>   some of the pages on it). It looks like it contains all the information <br>   that is needed. But sometimes I just can't find what I am looking for and <br>


   I have to go to google or ask on irc.<br> * Documentation can always being improved.<br> * The guys behind introducing new people to Ubuntu development have made it <br>   very easy for them to start contributing to Ubuntu, there is a lot of good <br>


   documentation, a lot of training sessions on irc on <a href="http://ubuntuonair.com/" target="_blank">http://ubuntuonair.com/</a> <br>   nowadays no one should be afraid of contributing to Ubuntu.<br> * There is a ton of great documentation, perhaps too much?<br>


 * With the availability of great documentation made by Ubuntu developers, <br>   setting up my environment to start with Ubuntu development wasn't difficult <br>   at all for me.<br> * There is a vast amount of knowledge in forms, wikis and how-to's.<br>


 * The documentation and examples on how to make an SRU turned out to be less <br>   helpful than hoped, so I made a few beginner's mistakes that could have <br>   been avoided.<br> * I really like the fact that I got quick feedback to my contributions. One <br>


   thing that is really important for me is the bug fixing initiative wiki <br>   page and the fact that lately it seems to be updated regularly.<br> * The community is also very helpful and there is a vast amount of knowledge <br>


   in forms, wikis and how-to's.<br><br><br>Outreach & People<br>=================<br>We should take pride in the great feedback we received. Our processes, tools <br>and documentation seem to work great for almost all our contributors. One <br>


thing we should be especially proud of is us as a community. Read the replies <br>below: everybody seems to love working together with us. We received <br>overwhelmingly positive feedback on fantastic help our developer community <br>


provides. More than majority of the contributors mentioned of our ever <br>welcoming and helpful developers. A contributor writes â€śThe fact that actually <br>someone took the time to review my patches, understand them, comment them and <br>


push them to ubuntu is great†.<br>The #ubuntu-motu and #ubuntu-devel IRC channels have proved to be an <br>indispensible resource for new contributors. Like one contributor said, â€śI <br>have asked a simple question about packaging on IRC and in addition to the <br>


response, I have received a complete review of my packaging, with a clear <br>list of all mistakes and what can be improved. I have appreciated a lot the <br>discussion which was very friendly and helpful even if I was a total beginner <br>


2 years ago†, the developer community has always been an important factor in <br>guiding new contributors through development in Ubuntu. A welcoming community <br>it's still one of Ubuntu's proudest assets.<br>

<br>
<br> * Thank you, it is great to have ones work noticed!!<br> * it is really awesome to receive feedback like this when you don't expect it! <br> * I really appreciate being contacted personally, it gives the impression <br>


   that Ubuntu is a friendly and welcoming community.<br> * People are very friendly and welcoming and vibrant.<br> * The people that assisted me were helpful and encouraging.<br> * from time to time people are unresponsive and you have to wait until <br>


   someone else comes along. <br> * My experience has been very positive, the ubuntu community it's a very <br>   welcoming place and being a known member before starting the work with <br>   the packaging helped me a lot.<br>


 * The community is really really helpful in all work I've been doing - it's <br>   really easy to get information when there is a problem.<br> * Community is always very responsive and all my questions are getting <br>


   answered very quickly.<br> * Everyone helps as much as possible, I really like that. Not only Canonical <br>   employees I mean the community as a whole. That's excellent.<br> * The people helping me put everything in order so that didn't turn out to <br>


   be a big issue.<br> * So in perspective, Ubuntu got much friendlier, not only from a technical <br>   perspective, but also from an interaction level between requests and actual <br>   action.<br> * "Mentoring moments"; when a "developer proper" takes time to guide one <br>


   though a particular process (e.g. fixing  a bug) is something I find <br>   extremely valuable an motivating.<br> * I have asked a simple question about packaging on IRC and in addition to <br>   the response, I have received a complete review of my packaging, with a <br>


   clear list of all mistakes and what can be improved. I have appreciated a <br>   lot the discussion which was very friendly and helpful even if I was a <br>   total beginner 2 years ago.<br> * I felt a bit lost at the beginning because it was something I never did <br>


   before, but had good advice and help from other members who pointed me to <br>   the wiki pages, explaining the process of pushing the changes to launchpad <br>   and submitting them to review for merge.<br> * The fact that actually someone took the time to review my patches, <br>


   understand them, comment them and push them to ubuntu is great because <br>   feels like the work you've been doing could benefit other people as well<br> * Thankfully, the people helping me put everything in order so that didn't <br>


   turn out to be a big issue.<br> * I've known lots of people in the Ubuntu team, that have helped me a lot, <br>   and I've learned all that I know from them, this is the most positive thing.<br> * All I've found a bit discouraging is the reliance on IRC participation; <br>


   for example, at one point I'd prepared a package for REVU, but never <br>   managed to get anyone to look at it because I couldn't be on IRC at the <br>   appropriate time.<br> * People (in the BugSquad, I did not talk to much other Ubuntu people) are <br>


   friendly and helpful. (Newbie) questions are answered nicely, all in order <br>   to help one out and learn how Ubuntu development works.<br> * People were very friendly and helpful. <br> * Each time I interact on IRC or Launchpad, I have the same feeling, the <br>


   communication is always smooth.<br> * For a Debian maintainer, working in Ubuntu is very straightforward. I've <br>   never had much trouble getting sync requests approved, and in the more <br>   complex cases I've encountered (bootstrapping gcc-mingw-w64 in particular) <br>


   other developers at home in Debian and Ubuntu have given me a hand.<br> * The feedback feels quite constructive.<br> * For the bulk of the work I've done so far, I've had a mentor (who was <br>   basically assigned to me). Someone who's been able to walk me through the <br>


   dark arts of packaging and answer most of my questions when  necessary. I <br>   suspect this is atypical of others who are just getting started with Ubuntu <br>   development. I consider myself lucky<br><br><br>Highlights<br>


==========<br>Here are the highlights the Developer Advisory Team received in their inboxes. <br>Totally worth a read!<br><br><br> * There's a certain amount of satisfaction one can get out of writing <br>   software used by millions of people.<br>


 * My experience working with Ubuntu has been overwhelmingly positive so far.<br> * Thanks a lot for your review and the work you do to. Thats the kind of <br>   work needed to get more people easily involved in development of a complex <br>


   operating system like Ubuntu!<br> * It was the best experience I had in contributing to a linux distro.<br> * It is a great platform to develop for.<br> * My impression, not sure if I'm right or not, is that Ubuntu is very <br>


   meritocratic, anyone can jump on a bug, submit a fix for it, and have it <br>   accepted into the archive<br> * Contributing to Ubuntu is great beside knowing that your work is used by a <br>   lot of people around the glob makes you feel good, you're going to learn <br>


   a lot of exciting new stuff like how your favorite OS works, how open <br>   source development works, you're going to have new friends, and of course <br>   you're going to have a lot of fun.<br> * I like that everybody can fix bugs and add new features to software he uses.<br>


 * I really do enjoy Ubuntu development, and love being able to create <br>   changes / fix bugs that help everyone else. <br><br><br>Conclusions<br>===========<br>The goal of the Ubuntu Developer Advisory Team is to reach out to new <br>


contributors. Over the course of the 12.10 development cycle, the team <br>contacted many first time contributors offering our thanks for their work <br>which helps to make Ubuntu better for millions of users. We also seek to <br>


identify stumbling blocks that might make participating in Ubuntu development <br>be harder than it should.<br><br><br>The Developer Advisory Team contacted the new contributors and solicited <br>feedback on their experience with Ubuntu development. We asked three open <br>


ended question:<br>   1. What was your general experience with Ubuntu development like?<br>   2. What did you like about it?<br>   3. What do you feel could be improved?<br><br><br>The responses we received fell into five broad categories:<br>


   1. Tools & Infrastructure<br>   2. Processes<br>   3. Documentation<br>   4. Outreach<br>   5. People<br><br>We reached out to 66 new contributors in total. Of these, 29 gave us their <br>feedback on Ubuntu development, giving us a 43.93% response rate.<br>


<br>