Hi Bryce,<div><br></div><div>Thanks a lot for your input. I had no idea about a lot of this and it's all going to be very useful.</div><div><br></div><div>Chris</div><div><br><div class="gmail_quote">On 26 September 2012 20:31, Bryce Harrington <span dir="ltr"><<a href="mailto:bryce@canonical.com" target="_blank">bryce@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Wed, Sep 26, 2012 at 01:05:33PM +0100, Chris Wilson wrote:<br>
> Hi there Desktop and Dev teams,<br>
><br>
> My name if Chris Wilson and I've recently taken over the leadership of the<br>
> Hundred Papercuts project, and am exploring ways to revitalise it now that<br>
> contributions have all but dried up. I'm drawing up a plan on this<br>
</div>> wiki<<a href="https://wiki.ubuntu.com/FutureOfThePapercutsProject" target="_blank">https://wiki.ubuntu.com/FutureOfThePapercutsProject</a>>page<br>
<div>> consisting of ideas from both myself and anyone who has something to<br>
> say.<br>
<br>
</div>Hi Chris, thanks for taking on this work.<br>
<div><br>
> Throughout this discussion, I'm not going to be dismissing any but the most<br>
> radical proposals, which could result in a rather disruptive plan to<br>
> reorganise the project. To reduce the impact that such changes may have on<br>
> the larger Ubuntu project, I was hoping that the Deskop and Development<br>
> teams could review the proposal and give final approval once the discussion<br>
> period ends on 1st November.<br>
><br>
> Does this sound Ok with you guys, and if not, do you have any suggestions?<br>
<br>
</div>Yes, I recall there were some various things that posed challenges to<br>
the 100 papercuts project, which are likely to affect this new project<br>
too, so could be worth some extra thought. Apologies ahead of time for<br>
the length of this post...<br>
<br>
<br>
* A LOT of papercuts end up really being more "design issues". David<br>
was on Canonical's design team so could easily get direction on what<br>
bugs were going to be acceptable to the design team and omit ones that<br>
weren't.<br>
<br>
You'll want to either develop a good working relationship with the<br>
design team(s) in question so you can be certain all bugs are<br>
acceptable, or focus on software and applications that don't require<br>
consultation with design teams.<br>
<br>
<br>
* I like your ideas #5 and #7, and more generally the idea of picking<br>
one software project at a time to focus on. Pick one application to<br>
focus on for a month (or maybe 2 months) and target bugs in that<br>
project's software.<br>
<br>
It was notable in the original papercuts that a huge proportion of the<br>
bugs were against just a few apps - Nautilus, Unity, etc.<br>
<br>
This approach lets you be more organized as a project. For instance<br>
you could assemble a reference list of useful links, hold an<br>
"orientation class" at the start of the month to give a newbie intro<br>
to the codebase in question, and arrange closer coordination with the<br>
project's developers, designers, packagers, etc. for that month (maybe<br>
even solicit their direct involvement.) For example, if you wanted to<br>
do Inkscape one month I could totally hook you up! (hinthint) :-)<br>
<br>
<br>
* Fixing even a simple bug in the distro involves a number of different<br>
specialized roles:<br>
<br>
a. Reporter - notes a problem<br>
b. Analyst - identifies what's actually wrong<br>
c. Designer - decides how it *should* work<br>
d. Developer - implements fix in code<br>
e. Tester - verifies the fix works properly<br>
f. Liaison - ensures fix is acceptable upstream<br>
g. Packager - integrates patch or branch into the distro<br>
h. Updater - handles SRU to get patch into the stable release<br>
<br>
It's easy to slip into the mistake of thinking (d) is the only<br>
important role. Lots of people don't know how to code so assume<br>
development really hard. Sometimes it is, but with papercuts (and<br>
esp. bitesize bugs), often the coding is quite trivial (or is trivial<br>
once you're familiar with the codebase); the real work is in all the<br>
other steps.<br>
<br>
I think this tended to hamstring the old papercuts project here and<br>
there. Some bugs really needed someone authoritative to make a design<br>
decision. For others it was vital the fix be acceptable upstream<br>
(e.g. including test cases or whatnot) so got blocked waiting on that.<br>
A lot of bugs were things that bug reporters wanted in the LTS, but<br>
being minor things by definition they often couldn't fit into the SRU<br>
process. And so on.<br>
<br>
In regular distro work, many of us developers are able to wear<br>
multiple hats, so one of us can handle a number of steps in one go,<br>
and we don't really even think much about all these different roles.<br>
But with papercuts, your volunteers are not going to be quite so<br>
ambidextrous. The good news is you can probably find separate<br>
individuals who each can fill one or two roles, and so can team up to<br>
tackle it.<br>
<br>
You may also find it easier to solicit volunteers if they can<br>
constrain their commitment or expectations to just one role.<br>
<br>
<br>
* Once you have a number of bugs in flight, it can be hard for a<br>
volunteer to figure out what to do with any of them. Out of 100 bugs,<br>
maybe 30 actually need patches coded, 30 have patches already but need<br>
packaging work, and the rest are somewhere in between. Grabbing bug<br>
reports at random can be frustrating.<br>
<br>
So, consider splitting all of the bug work into three buckets. First<br>
are bugs needing review - roles (a), (b), (c) from the previous point.<br>
Second are bugs needing coding work - roles (d), (e), (f). Third are<br>
bugs with patches needing packaged - roles (g), (h).<br>
<br>
<br>
* Regarding rebranding (idea #3), note that 'bitesize' and 'papercut'<br>
imply different audiences. 'bitesize' is descriptive if you're a<br>
developer and is describing how much work. 'papercut' is descriptive<br>
if you're a user and is describing a degree of annoyance.<br>
<br>
bitesize bugs could end up being a lot of things that people would<br>
simply never notice (e.g. code cleanup work). papercuts can sometimes<br>
end up being non-trivial coding exercises. So they can imply very<br>
different meanings.<br>
<br>
Personally, I'd keep the project called papercuts; it's a proven name<br>
and was effective at drawing in participation.<br>
<br>
<br>
<br>
</blockquote></div><br></div>