PaperCut

What is a paper cut?

Put briefly, a paper cut is a trivially fixable usability bug that the average user would encounter in a default application of Ubuntu or Kubuntu OR in any of the featured applications.

If you prefer a more detailed, itemized definition, a paper cut is:

  • A bug, or an unintended problem occurring within an existing piece of software,
  • the presence of which makes a computer more difficult or less pleasant to use,
  • that is easy to fix,
  • that the average user would encounter,
  • in a default application of the Ubuntu or Kubuntu release currently under development OR in any of the featured applications.

If a potential paper cut fails to meet any of the criteria above, it is not a paper cut.

Here is an example of a paper cut.

How can I tell if a bug is easy to fix?

A bug is easy to fix if it can be fixed by one person in one day. In practice, one or more people might work together over the course of a week to fix a paper cut, but if one competent developer cannot fix the bug in a single day, the bug cannot be considered a valid paper cut.

Many bugs become trivially fixable right before they are fixed. If a bug appears too complex to be considered a paper cut at first, it may turn out to be trivially fixable if it has a working patch that could be cleaned up and merged by one person in one day.

It often takes a good deal of technical experience to know if a bug is trivially fixable or not. The people responsible for triaging paper cuts can usually help determine if a bug has this property.

Who is the "average user"?

If you are reading this wiki, or reporting a paper cut on Launchpad, chances are that you are not the average user. To understand who the average user is, please see Personas.

What is not a paper cut?

  • A new feature is not a paper cut, a paper cut is a problem with an existing piece of functionality, not a new piece of functionality.

  • The addition or removal of a package is not a paper cut. "Replace F-Spot with Solang" is not a paper cut, neither is "Install simple-ccsm by default."

  • A bug that the average user encounters once or never is not a paper cut. The more times a day the average user experiences the problem, the more likely it is that it's a paper cut.

  • A paper cut is not merely a really annoying bug. Just because a bug is really bothersome, and has gone unfixed for years, doesn't make it a paper cut—it must satisfy the other criteria mentioned.

Contributing

Do you love Ubuntu and the idea of making Ubuntu better? Are you interested in the papercuts project and do you want to help?

The One Hundred Paper Cuts Project is a great way to get involved in the Ubuntu community. Several members have found paper cuts a stepping stone to get further involved with the Ubuntu community. There are several ways you can contribute:

  • If you are a hacker or programmer, have a look at the paper cuts that are assigned to a milestone, or that have the 'Triaged' status;

  • Not a hacker? No problem, you can help us still:
    • Test your favorite default or featured applications and see if you can find any paper cuts that need fixing. If you find any, report them;

    • Test proposed solutions for paper cuts;
    • Help triaging the paper cuts.

Fixing a paper cut

You can find paper cuts ready to work on by looking at the milestones, or going through bug reports that have the 'Triaged' status.

  • Assign yourself to the bug of the paper cut you selected and set its status to 'In Progress';
  • Work on a solution and commit it in a branch to Launchpad, or generate a patch;
  • Attach the branch or patch to the bug report;
  • You can choose to either make sure your solution gets added to Ubuntu and forwarded upstream yourself, or you can wait for the Papercutters to help you with that. Be prepared to process feedback about your solution.

Once the bug is fixed leave the papercut task assigned to yourself. Members who have helped fix papercuts are listed in the Hall Of Fame.

For more information about how to fix bugs, also see: Helping with bug fixing.

How to report a paper cut

If you found something you believe to be a valid paper cut, how do you report the issue?

  • Make sure that the issue you're about to report isn't already reported at Launchpad;

  • Make sure the bug is a valid paper cut;
  • If the paper cut was already reported in Ubuntu, but not in the One Hundred Paper Cuts project, press the "Also affects Project" link to add the paper cut to the project;

  • If the paper cut was not reported yet:
    1. File the bug in the affected package in the Ubuntu project on Launchpad. When reporting the bug, use Apport, either via the application's "Help -> Report a Problem" menu item, or by using the command 'ubuntu-bug' and pass the name of the affected package as an argument.

    2. Now add the One Hundred Paper Cuts project to the bug report using the "Also affects Project" link.

More information about reporting bugs in general can be found at ReportingBugs.

Triaging paper cuts

People who would like to help with managing the flow of incoming paper cuts can contribute by triaging the bug reports on the One Hundred Paper Cuts project at Launchpad.

  • Verify the bug is a valid paper cut;
  • Verify the paper cut can be reproduced in the development release of Ubuntu;
  • Verify the paper cut report contains all necessary information;

    • If not, ask the reporter to provide the information that is lacking;

If you checked all points above, the paper cut is sufficiently triaged and can be marked as such. If the bug is ready to be worked on, assign it to the Papercuts Ninja team—papercuts-ninja on Launchpad—so they will receive a message.

When you are an active contributor to papercut triaging, you can be asked or ask to join the Papercutters team.

If you are looking for more information about bug triaging, a good source of information is: Helping with bugs.

Contact and help

If you want to ask a question or need help, please feel free to contact us via the following communication channels:

PaperCut (last edited 2014-05-24 16:52:28 by penalvch)