Monday, November 16, 2009

Let's fix bug #1 without regressions

Linux usability on the Desktop OS has significantly increased, this brings two major problems:
1) Wider range of hardware and use cases, increasing the chances of problems with untested use scenarios,
2) Linux on the Desktop is moving from an hobby OS to a main workstation OS, regressions have a serious impact, they now affect some business or some people work

Ubuntu and Desktop distros in general are trying to resolve problem 1 by pushing new technology as faster as they can, but what about problem 2 ? Is it really being addressed ?

Some years ago the FAQ was "I have tried Ubuntu on my PC and there is no sound, no network and my device Y is not recognized", most of the times the root cause and answer was simple: "The current kernel drivers do not support your hardware yet" or "You need additional configuration to enable the driver" - additional work needs to be done, someone needs to improved/develop drivers and/or configuration tools.
These days, the FAQ is "My sound, network and graphics where working great until I did an upgrade", the answer "It's a regression" is not that easy to explain - work was done on some driver/configuration in order to improve it and it's failing on your case, possible reasons are: unknown problem(not tested), known (waiting for a fix), known (won't fix).

I hope we are not running in competition for hardware/features/whatever support with the leading OS.
The fix for bug #1 should not introduce such a severe regression as lack of reliability.


  1. I wish there was something that would prevent you from installing/upgrading Ubuntu if there is a regression on your hardware.

    A feature to notify users when the problem is fixed would be even cooler!

  2. Micheal:

    That would be quite difficult to implement. Here are some of the hard questions such a facility would have to address.

    1) What counts as a regression?

    2) How do you verify that a proposed regression is valid?

    3) How many people have to experience it before its a valid regression?

    4) And do you trust everyone to report problems accurately?

    5) How long is a potential regression allowed to wait before its either verfied or discarded?

    6) In your system how do you prevent misfiled regressions from preventing users from upgrading inappropriately for days or weeks or months?

  3. Maybe time to improve and start using the Ubuntu Hardware database?