BinaryDriverEducation

Differences between revisions 9 and 10
Revision 9 as of 2006-11-08 04:14:44
Size: 7316
Editor: 012
Comment:
Revision 10 as of 2006-11-08 18:04:06
Size: 7409
Editor: 207
Comment: even more rearrangement
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
 * any problems with the "tainted" kernel will not get attention from upstream kernel developers.  * any problems with the "tainted" kernel [http://www.tux.org/lkml/#s1-18 will not get attention from upstream kernel developers].
Line 18: Line 18:
We need to convey the implications of using non-Free drivers -- presenting this information only once, prominently but not annoyingly. The given reasons will be practical, not religious. This should also include information why we ship non-free drivers at all in the first place and information to educate people about their next hardware choice. This is a polarizing issue, because other distributors have made different choices — [http://wiki.debian.org/NvidiaGraphicsDrivers#head-406d3dad648f663d3a578addb21f289fd5daa658 Debian], [http://lwn.net/Articles/195351/ Fedora], and [http://lists.opensuse.org/opensuse-announce/2006-02/msg00003.html OpenSuse] do not install proprietary drivers by default — and because some see proprietary drivers as [http://ussg.iu.edu/hypermail/linux/kernel/0512.0/0972.html 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.
Line 22: Line 24:
- What is the scope?
  - firmware? no, even upstream kernel hackers don't worry about that
  - modules in linux-restricted-modules ?
  - just checking for installed packages might not be enough, we
    should check if those are actually used
  - one notification and then merge the information if there is more
    than one non-free driver but having one url per driver
  - show the notification once? show it 3-5 times?
  - different driver should have different messages
  - What if one big vendor releases a free driver? do we change the
    notifcation application then.
To begin with, the notification should apply to modules provided in `linux-restricted-modules`:
 * video (fglrx, nvidia)
 * modems (fritz isdn/dsl modules, lt-modem)
 * wifi (ath_hal aka madwifi, contains a binary blob for FCC compliance — work has begun on a Free version, but nothing usable yet)
Line 34: Line 29:
Modules we have in linux-restricted-modules:
 * video (fglrx, nvidia)
 * Modems (fritz isdn/dsl modules, lt-modem)
 * wifi
  - ath_hal (aka madwifi) - binary blob supposed to be for FCC compliance
    - preliminary work exists on a free version, nothing usable yet
  - 3945 (Intel wireless card) - Free driver + binary blob to ensure FCC compliance
    - Should be replaced by Free version in Feisty
Out of scope:
 * firmware (even upstream kernel hackers don't worry about that)
 * 3945 Intel wireless card, which has Free driver + binary blob (this should be replaced by a Free version in Feisty)
 * `ndiswrapper` (see "Future work")
 * what happens if a fully functional Free driver becomes available for hardware that formerly didn't have one (''see'' AcceleratedX).
Line 45: Line 37:
 * Danilo is a gamer who currently dual-boots Windows 2000. He upgrades his system every six months or so, and is interested in getting the best video performance possible.
Line 52: Line 45:
 * If you are an administrator who is logging in to an Ubuntu installation for the ''second'' time, ''or'' three months have passed since you were last notified, ''or'' you are using a live CD, ''or'' you launch the Device Manager, Ubuntu should notify you about the problem with the non-Free drivers.  * If you are an administrator, and you are logging in to an Ubuntu installation for the second time, ''or'' three months have passed since you were last notified, ''or'' you are using a live CD, ''or'' , Ubuntu should notify you about the problem with the non-Free drivers.
 * If you launch the Device Manager, Ubuntu should similarly notify you, regardless of whether you are an administrator.
Line 56: Line 50:
  To make this computer’s `______` work properly, Ubuntu is using driver software that cannot be supported.   '''To make this computer’s `______` work properly, Ubuntu is using driver software that cannot be supported.'''
Line 60: Line 54:
  To learn about this later, open the Device Manager. `   ` ( More Information ) ((`  `OK`  `))   To learn more later, open the Device Manager. ( Learn More... ) ((` `OK` `))
Line 64: Line 58:
Clicking "More Information" should open your default Web browser to a page that explains the problem in more detail -- including information on the particular device that is (or devices that are) the problem in your case, along with an explanation of the problem in general. Clicking "Learn More..." should open your default Web browser to a page on ubuntu.com that explains the problem in more detail — including information on the particular device (or devices) with the problem on your computer in particular, and links to vendors of alternative hardware, along with an explanation of the problem in general.
Line 66: Line 60:
This website should contain additional and links to vendors of hardware with Free drivers. We need to be careful though to not scare the user off ("problems with my hardware, oh no!"). The page should be iteratively redesigned to be understandable, tactful, and non-confrontational.
Line 68: Line 62:
ubuntu.com should count the number of unique Ubuntu installations (not including live CD sessions) that access its information on each driver.
Line 71: Line 66:
 * This is potentially polarizing, because other companies have made different choices
  * Fedora: "but if you don't care about your freedom or technical excellence, ubuntu is a good choice. ;)"
  * Novell: installs Free software by default, while making it easy to install the non-Free stuff
  * so needs to be very tactful and well-designed
Line 81: Line 72:
 - One notification per proprietary driver??
  - One notification with multiple paragraphs?
  - People will never get more than three
  - no.
   - Merged notifications, and CGI page with sections for each driver (approved by mdz)
Line 87: Line 73:

=== What happens if a vendor frees their driver? ===

 * Should we push an update?
  - See AcceleratedX
Line 98: Line 79:

For counting the number of unique Ubuntu installations that access info on each driver:
- Ubuntu generates a unique ID for the system
Line 106: Line 90:
 * Canonical support staff are writing whitepapers; Karl Tilbury's (mneptok's) first will be about the pitfalls of binary drivers.  * Canonical support staff are writing whitepapers; Karl Tilbury's (mneptok's) first will be about the pitfalls of binary drivers. When done, this should be adapted for

We include several proprietary drivers in Ubuntu by default (it is possible to install without them). We would like to do more to educate users to avoid hardware that requires such drivers in order to work with Linux. We propose a notification on login which will lead users to further information, including recommending certified hardware that does not have this problem.

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:

  • we are completely dependent on the hardware vendor for bug fixes, even for security bugs
  • security fixes need careful testing, because we don't know what changed in the update
  • we don't know the vendor's roadmap for updates
  • we don't have any service-level agreement
  • any problems with the "tainted" kernel [http://www.tux.org/lkml/#s1-18 will not get attention from upstream kernel developers].

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.

This is a polarizing issue, because other distributors have made different choices — [http://wiki.debian.org/NvidiaGraphicsDrivers#head-406d3dad648f663d3a578addb21f289fd5daa658 Debian], [http://lwn.net/Articles/195351/ Fedora], and [http://lists.opensuse.org/opensuse-announce/2006-02/msg00003.html OpenSuse] do not install proprietary drivers by default — and because some see proprietary drivers as [http://ussg.iu.edu/hypermail/linux/kernel/0512.0/0972.html 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:

  • video (fglrx, nvidia)
  • modems (fritz isdn/dsl modules, lt-modem)
  • wifi (ath_hal aka madwifi, contains a binary blob for FCC compliance — work has begun on a Free version, but nothing usable yet)

Out of scope:

  • firmware (even upstream kernel hackers don't worry about that)
  • 3945 Intel wireless card, which has Free driver + binary blob (this should be replaced by a Free version in Feisty)
  • ndiswrapper (see "Future work")

  • what happens if a fully functional Free driver becomes available for hardware that formerly didn't have one (see AcceleratedX).

Use cases

  • Danilo is a gamer who currently dual-boots Windows 2000. He upgrades his system every six months or so, and is interested in getting the best video performance possible.
  • Harriet had Ubuntu installed on her computer a couple of days ago, by a nephew who has now gone on a camping holiday. Harriet does not know what a "driver" is.

Design

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

  • If you are not an administrator, you likely can do nothing about the hardware situation, so nothing special should happen.
  • If you are an administrator who is logging in to an Ubuntu installation for the first time, it is important for your first impression to be of an elegant uncluttered system, so nothing special should happen.
  • If you are an administrator, and you are logging in to an Ubuntu installation for the second time, or three months have passed since you were last notified, or you are using a live CD, or , Ubuntu should notify you about the problem with the non-Free drivers.

  • If you launch the Device Manager, Ubuntu should similarly notify you, regardless of whether you are an administrator.

The notification should take the form of an info alert, which reads:

  • To make this computer’s ______ work properly, Ubuntu is using driver software that cannot be supported. You can avoid this problem with your next computer, by choosing hardware from more cooperative manufacturers.

    To learn more later, open the Device Manager. ( Learn More... ) ((   OK   ))

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

Clicking "Learn More..." should open your default Web browser to a page on ubuntu.com that explains the problem in more detail — including information on the particular device (or devices) with the problem on your computer in particular, and links to vendors of alternative hardware, along with an explanation of the problem in general.

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

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

= BRAINDUMP from this point on=

  • Count the number of people who see this information on the Web site
  • Link to discussion forum at the bottom of the Web page.
    • ubuntu_demon : maybe we could do this at ubuntuforums.org
  • If it uses notifications every couple of months, it should be able to be turned off (people who don't care or who can't afford new hardware). I also believe the alert should use more positive language - i.e. "to make this computer's display work to its full potential"... instead of "more co-operative manufacturers", use the phrase "Linux-friendly manufacturers".

Implementation

- mvo: Use existing desktop notification framework, it supports text notifications and has url support.

Small program that runs in the session

For counting the number of unique Ubuntu installations that access info on each driver: - Ubuntu generates a unique ID for the system

- We can tell whether the ATI or Nvidia package is being used

  • - I think something more instrusive for notification would be desired

- Same for eg atheros (grep /proc/modules)

- a webpage needs to be create and maintained with useful information about what the implications of binary drivers are (the points above) and hints what hardware to buy instead. Make clear why we ship non-free drivers in the first place.

  • Canonical support staff are writing whitepapers; Karl Tilbury's (mneptok's) first will be about the pitfalls of binary drivers. When done, this should be adapted for
  • The check for non-free modules can be done either at the modprobe level or at the session login level. We probably want to do it at the session level because its easier.

Future work

  • We should extend this to detect use of ndiswrapper, for which Ubuntu will need to determine whether there is a Free equivalent to the Windows driver being used.

See also EthicalInfo, IssueNotificationServiceSpecification.

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