By Jake Edge
October 1, 2008
Ubuntu has taken some heat over the years for its relationship with
upstream projects, but the distribution seems determined to change that
impression. To that end, Ubuntu has started by
looking at bugs and bug reporting between the distribution and upstream
projects. The visible result is the beta release of the Ubuntu Upstream
Report, which displays the progress of getting bugs upstream.
Users of Ubuntu report lots of bugs in the software they use but, for the
most part, those bugs aren't in any way specific to Ubuntu; they tend to
also exist in the upstream project. Ubuntu collects its bugs at Canonical's Launchpad web site which allows linking
those bugs to bugs in the bug tracking system of an upstream project. Once
the link—or watch as it is called in Launchpad—is
established, updates to the upstream bug's status will be reflected in the
Ubuntu bug as well.
That capability has been available for some time, but as Ubuntu looked at
ways to improve how well their bugs were flowing upstream, they needed a
way to measure how well watches were being used. Canonical's Ubuntu
community manager Jono
Bacon describes the idea behind
the report:
In terms of this project, I was keen to see graphs that show the number of
upstream bug linkages going on, the total number of open vs. upstream bugs
and how many bugs are fixed elsewhere. We could use these graphs to
determine our progress in improving our bug workflow, but this was not
enough - we also needed raw data about which projects needed the most
focus. Which projects were struggling the most with bug figures? Which
projects were not forwarding bugs upstream? Which projects didn't have an
upstream bug tracker registered in Launchpad? We had all the answers to
these questions in Launchpad, but no means of gathering them. To fix this,
we created the Ubuntu Upstream Report.
The report ranks Ubuntu projects by the number of open bugs, while also
showing how many have progressed towards upstream. Bugs in Ubuntu get
triaged by the Ubuntu bug team, with some of them getting classified as
"upstream"—meaning that they exist in the project itself, rather than
just Ubuntu's build. Upstream bugs that are linked to a bug in the
projects bug tracker are considered "watch" bugs. Each successive stage
shows the difference between the previous, both as a number and a
percentage so that it is easy to see how bugs are being handled as well as
where the bottlenecks are. This dashboard-style interface also allows
sorting by column and retrieving lists of bugs by following the numeric
links.
The report was created by Jorge Castro, who is in charge of external project
developer relations for
Canonical. The tool has multiple uses, as Castro explains:
We wanted to provide a tool that not only shows upstreams how well we're
linking and forwarding bugs, but a day-to-day tool for maintainers to see
where there are targets of opportunity to forward to upstream. And lastly,
for triagers we wanted to provide real-time working "bug lists" that you
can work through if you want to help be the bridge that connects the
downstream Ubuntu Package to the upstream project.
Part of the idea is for the report to be used by participants in Ubuntu's
5-A-Day initiative. 5-A-Day
is an effort to make the Ubuntu bug list better by encouraging users and
developers to work on five bugs each day. Users can do things like try to
reproduce the bug, cleaning up and adding more information to the report;
while developers can triage bugs or look at patches to the upstream project
to see if they are needed for Ubuntu. The report will also help those
who are running or participating in Bug Jams—focused
efforts to gather people together to move Ubuntu bugs along.
Linking to existing upstream bugs or creating new ones for problems that
Ubuntu users find can be helpful for projects. Some projects will find it
more helpful than others, as Bacon notes:
If we do link a bug upstream, we had no firm idea how useful an upstream
actually find our bug data. Our discussions suggested very mixed reactions
- a small project is likely to have a very different perspective on bugs
than a large project. Just think about this in purely quantitative states -
a small project will likely get fewer bugs, and these bugs can probably be
dealt with by a small collection of volunteers. This is unlikely to scale
to something like the Linux kernel or OpenOffice.org.
One of the problems, of course, is the one-way nature of the watch
link—Ubuntu sees changes to the upstream bug, but the reverse is not
true—as projects have to come looking in Launchpad for updates.
There is also resistance to using Launchpad because it is not free software,
though that is slated
to change by mid-2009. Overall, this new report and the focus on
improving upstream relations are very welcome, but tracking bugs only goes so
far; fixing upstream bugs is an important, but missing, piece.
In order to not be seen as just a consumer of upstream software, one needs
to not only report bugs, but fix them as well. For all of the various
bug-related efforts that Ubuntu is sponsoring, there is very little mention
of actually fixing problems and sending patches upstream. There are tools
like Harvest that make it
easier to find upstream patches—bug fixes and enhancements for
possible inclusion in the Ubuntu packages—but
the focus is clearly on improving Ubuntu, as opposed to improving the
software ecosystem that makes up the distribution.
It is important to remember that
the efforts so far are just a start; Ubuntu is working on additional
projects to improve its upstream relations. One gets the sense that they
have heard the criticisms and are working to address them. Like it
or no, Ubuntu has its own way of doing things which may mean it takes
longer than some would like, but it certainly looks to be headed in the
right direction.
(
Log in to post comments)