[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (seemingly) declinging bug report numbers



On Fri, Oct 19, 2012 at 09:40:12AM +0200, Christian PERRIER wrote:
> I will take this last sentence from Russ' mail to give out my own
> feeling about these issues.

Thanks for this in-depth view on your feeling on this matter. I've been
following with interest your blog posts on the "decline" of Debian (bug
reports) since quite a while (was the first time ~3 years ago?). I've a
theory on this, although not particularly original one: I think that
once we're convinced of something (say, the decline), it's pretty hard
to change our mind about that. It's a natural tendency to notice more
prominently confirmations of our theses than counter-examples.
(Unfortunately, that mixes with the tendency of noticing more
prominently negative experiences than positive ones --- which is a
pretty dangerous mix in a community.)

Christian has shown data about the number bug reports. Those are
facts. On that front I'm personally fully satisfied by the argument
developed at the beginning of this thread, namely: bug reports now flow
in through derivatives. I understand that others are skeptical about
that, but ~1 year ago at UDS I've shown data about the amount of patches
we got forwarded from Ubuntu: they were at their historical maximum,
with a positive trend. But sure enough: there's always more to do,
right? (and therefore reasons to be sad about the current state of
affairs)

Christian has also taken the d-i example. IIRC, that was an example
we've used also during the Squeeze release, worrying (probably rightly
so) about a not "strong" enough coordination in d-i release
preparation. This time, d-i releases seem to go pretty well. I'm not
personally involved in d-i development, but as mere developer I see:
periodic releases, calls for testing, features coming in, etc. So now
the reason to worry (again: probably rightly so) is that it is a
one-person band coordination show (and I'd like to erect a KiBi-monument
for that).  I don't dispute that it would be *better* to have more
people on the hot seats. But I can't help noticing that we seem to be
way more inclined to look at the "bad" that still needs to be fixed,
rather than the significant improvement over the past release cycle.

About "core" teams. I remember years, not that far past, where teams
like DSA, ftp-masters, keyring, DAM were one-person teams (and often the
person in question was the same...). Nowadays they're lively, efficient
teams with good turnover. Those are good examples to me, denoting
significant improvements in core teams staffing, and I could find
thousands more. I'm sure we can also find thousands *bad* examples.  The
problem is that the bad examples seem too stick in the collective memory
of the community, while the good ones don't. We forget the good ones and
move on, looking at what's the next bad thing we should be sad about.
(Note: this is not specific to Christian. It's just a (meta-)feeling of
mine that seemed relevant enough to this discussion for sharing it.)

But if we stay at this level, the discussion might appear to be a
typical optimistic-vs-pessimistic one (with the optimistic being
invariably less visible, but fair enough). This is why, instead of
discussing impressions abstractly, I often prefer to look for data that
could confirm or counter those impressions.

As I agree with Christian that the most important factor is our ability
to attract contributors, I've tried to gather data about the number of
people that decide to join Debian per year. The easiest data to found
was those about DDs and DMs; they are not a full picture of our
contributors community (no translators, no project members on Alioth,
etc.), but they're probably correlated significantly with it. Here is
the data I've collected and how:

- with the invaluable help of Enrico Zini, number of NM applications per
  year, starting 2000 (see attached stats-dd.txt, data before 2000 are
  spurious)

- in a way more hackish way (see attached dm-keyring-stats.pl and cry
  for my rusty Perl-fu) I've approximated the number of DM applications
  per year grepping through the keyring changelog

I've then plotted the data in a LibreOffice spreadsheet (see attached
stats-dd.ods). My own interpretation of the data is as follows:

- if we look at DDs alone (excluding DMs) the number of applications per
  year looks stable since 2002: there are important variations with
  spike up and down (in particular in 2011 and 2004), but they are close
  to +/-1 standard deviation interval

- but if we're interested in our ability to maintain _packages_
  (something Christian and others have focused on), we should also take
  into account DMs. And if we do that, the trend is positive, and
  strikingly so.

- Unfortunately, simply adding up DMs and DDs is not correct, as DMs
  become DDs, but I didn't have time/energy to do this properly. In the
  meantime, we know that the truth is in between the previous two
  points, which looks like a WIN to me.

Please review the above data and methods, and show me wrong!

Tentative bottom line: I've joined the project around the same time as
Christian, so I'm entitled my old chap badge too. But at the same time,
I like to fight with data my natural old chap tendency of thinking that
things were invariably better in the past.

Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  zack@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Debian Project Leader . . . . . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »
#!/usr/bin/perl -w
use strict;

my $curyear = 1970;
my %dm_per_year = ();

while (my $line = <>) {
    chomp $line;
    if ($line =~ /^debian-keyring\s+\(([0-9]{4})/) {
	$curyear = $1;
	$dm_per_year{$curyear} = 0 unless defined $dm_per_year{$curyear};
    } elsif ($line =~ /Add new DM key/i) {
	$dm_per_year{$curyear} += 1;
    }
}

foreach my $year (keys %dm_per_year) {
    print $year, "\t", $dm_per_year{$year}, "\n";
}
nm=> select count(*), status, extract('year' from status_changed) from person where status in ('dd_u', 'dd_nu') group by 2, 3 order by 3;
 count | status | date_part 
-------+--------+-----------
   150 | dd_u   |      1970
     1 | dd_u   |      1996
    89 | dd_u   |      2000
   135 | dd_u   |      2001
    65 | dd_u   |      2002
    61 | dd_u   |      2003
    35 | dd_u   |      2004
    67 | dd_u   |      2005
    58 | dd_u   |      2006
    72 | dd_u   |      2007
    42 | dd_u   |      2008
    69 | dd_u   |      2009
     2 | dd_nu  |      2010
    49 | dd_u   |      2010
    27 | dd_u   |      2011
     2 | dd_nu  |      2011
     1 | dd_nu  |      2012
    50 | dd_u   |      2012

Attachment: stats-dd.ods
Description: application/vnd.oasis.opendocument.spreadsheet

Attachment: signature.asc
Description: Digital signature


Reply to: