Superseded by the Software & Updates settings.

Summary

We are installing non-Free drivers by default, but this situation causes both support problems in the short term and viability problems in the long term. Therefore we need to educate users about the problem, encouraging them to avoid hardware that requires such drivers. This should be done using a notification bubble on login, an extra section in the Device Manager, and a CGI script on Ubuntu.com for providing up-to-date information about alternative hardware.

Rationale

A large proportion of people using Ubuntu -- including 70%-80% of people with new computers -- need a non-Free driver for reasonable performance from their graphics card, wireless card, or modem, because there is no Free driver available. This is a problem, because:

In most cases there is alternative hardware with Free drivers available. In the case of graphics cards, Intel onboard cards are available, but their performance isn't as good (lagging behind the ATI/Nvidia cards), and they aren't available as separate components.

We have chosen to install non-Free drivers by default. This is a polarizing issue, because other distributors have made different choices — Debian, Fedora, and OpenSuse do not install proprietary drivers by default — and because some see proprietary drivers as a threat to the future viability of Linux.

As long as Ubuntu does ship proprietary drivers in the short term, we should take steps to improve the situation in the long term. We believe the best way to do this is to convey the problem to people using Ubuntu — explaining why we distribute non-Free drivers at all, what the risks are, and what people can do to avoid such hardware in future.

Scope

To begin with, the notification should apply to modules provided in linux-restricted-modules:

Out of scope:

Use cases

Design

Startup notification

When you log in to Ubuntu on a computer where non-Free drivers are required for acceptable performance:

The notification should take the form of a notification bubble, which should read:

The first sentence should refer to "display", "modem", "wireless connection", or (if multiple devices have the problem) "hardware".

Device Manager notification

On a system using proprietary drivers, the Device Manager should have a "Proprietary Drivers" section above the "Computer" section. This section should be selected by default whenever the Device Manager is launched. Whenever it is selected, the main pane should explain the problem in this format:

Ubuntu.com site

Clicking "More Information..." should open your default Web browser to a page on ubuntu.com that:

The page should be iteratively redesigned to be understandable, tactful, and non-confrontational.

To count the proportion of users using proprietary drivers without breaching people's privacy, the hardware database client should record and calculate the proportion of people using each proprietary driver (see also IncreaseHardwareDatabaseParticipation).

ubuntu.com should count the number of Ubuntu installations (not including live CD sessions) that access its information on each driver.

Implementation

Local code

A small pygtk program should be put in the user's session using /etc/xdg/autostart. Because this application is run in every session we may consider writing it in C to optimize for slower hardware and faster startup (this needs to be benchmarked). It will have a switch "--force-check" that will makes it always check. This will be used on the livecd (casper changes the autostart file).

For counting the number of times people click "More Information..." for each driver:

The appropriate URL pattern and values should be finalized with the Ubuntu Web team during the Feisty cycle.

To tell whether the ATI or Nvidia package is being used, we should check /etc/X11/xorg.conf for not-commented-out "Driver 'nvidia/fglrx'". For the other drivers we should check /proc/modules.

Ubuntu.com code

Ubuntu.com should have a CGI that accepts one or more parameters identifying particular proprietary drivers, and returns the page containing information about those drivers.

Future work

See also EthicalInfo, IssueNotificationServiceSpecification.

Alternative approaches

Comments


Startup notification about binary-only drivers looks like a preferred choice in Ubuntu Forum poll http://ubuntuforums.org/showthread.php?t=297392 I voted for it too Smile :-)

Obviously, if binary drivers are the only option, just use it.

Display a warning like this, with a checkbox for later action:


Your system has ______ for which only binary drivers are available.


If we have also free drivers (even with <100% functionality), user should have a choice.

But I dislike notification message "To make this computer’s ______ work properly, Ubuntu is using driver software that cannot be supported"

It sounds like Ubuntu is wrong and inferior. Something more positive can be used:


Your system has ______ for which both free and binary drivers are available.

You can change drivers later using System/Administration/Device manager.


I either case hardware works properly - according to user's preferences.

During installation there is no time to pester user with more info, just make it work.

Later, when system is up and running, and user is happy, we have all the time to explain details as needed. So, if user asked to learn more, we can show her:

AND we can suggest what s/he can do about it if in "activist" mood:

AND we can provide information and suggestions how to contact manufacturers in a way to make better impression, to help solving it:

Last point is the killer, of course Smile :-) That will definitely get their attention.

This "remind me about my hardware" application can be run once in a while ("remind me again in X weeks"), so user could keep pestering the manufacturer. I know I would if system could provide me all info. I am too busy to look it up (because "it just works"), but occasionally I might shoot an email to the manufacturer. No websites sending petitions, no sample letters. Each one is an original.

Peter Masiar



The proposed popup is way too short for people to make a seriously informed decision and to look up further information in the device manager. It must at least contain a few hints, about why that driver software might be undesired or advisable for him/her personally. How about:

Apart from that, please support users Freedom of choice. Default installation of binary drivers does in no way contribute to informed users and decisions. --mario


Rather than "hardware that cannot be supported", would not "hardware than is not recommended" sound more friendly, and even more professional? --ThomasGoose

sabdfl's text for Gutsy

Either Ubuntu is using proprietary drivers to enable your hardware
Or No proprietary drivers are in use on this system

Proprietary drivers do not have public source code that Ubuntu developers are free to modify. They represent a risk to you because they are only available on the types of computer chosen by the manufacturer, and security updates to them depend solely on the responsiveness of the manufacturer. Ubuntu cannot fix or improve these drivers.

[ list of drivers here ]

Further information is available on the Ubuntu website, including a list of recommended vendors who publish their hardware with full specifications and free software drivers.

BinaryDriverEducation (last edited 2012-02-01 12:39:34 by mpt)