AlwaysEnableUniverseMultiverse

Revision 30 as of 2006-11-09 18:09:50

Clear message

Summary

The unsupported "universe" and "multiverse" components are currently turned off by default in Ubuntu. We want to enable them by default.

Rationale

Enabling universe and multiverse is one of the first things that people usually do. We should enable them by default and make sure that we show clearly in the various GUIs what is supported and what is unsupported.

Use cases

  1. Alice wants to install a new audio codec that is only available in universe.
  2. Bob is very interested in gaming and thinks the list of games in main is too limited. He likes to install games from multiverse and does not care if those are not officially supported.
  3. Mallory always wondered why he had to do a additional click and download in gnome-app-install when he wanted to install his first application from universe.

Scope

Gnome-app-install, synaptic and adept needs to be modified to show better what component a package comes from. The installer needs to ship a sources.list with universe and multiverse enabled.

Design

We have unsupported software available, but we make it easy for the user to turn off unsupported software if he wants. To permanently turn it off the user just needs to click on "universe", "multiverse" in the software preferences dialog.

Software Preferences

The software preferences dialog needs to present the available official repositories in the canonical order (main, restricted, universe, multiverse) and it must be easy and one-click to turn it off permanently. The descriptions are:

  • Canonical supported Open Source software (main)
  • Proprietary drivers for devices (restricted)
  • Community maintained open source software (universe)
  • Software restricted by copyright or legal issues (multiverse)

There will also be a command-line switch to turn components on/off. It will be:

  -e ENABLE_COMPONENT, --enable-component=ENABLE_COMPONENT
  -x DISABLE_COMPONENT, -disable-component=DISABLE_COMPONENT

Gnome-App-Install

Gnome-app-install gets a "Show" option menu with the following options:

  • All available applications
  • All Open Source Applications
  • Supported Ubuntu Applications
  • Third party applications
  • Installed Applications

The default is "Supported Ubuntu applications". This way the user can decide what applications he wants to see. If he is only interested in free software he does not have to change the default (note that "restricted" does not have to be included in the above list because it does not ship desktop files). In addition to the filter all applications in gnome-app-install get a little emblem that indicates graphically where the application comes from and what support status it has (plus a tooltip to explain the emblem). If the list of "All available applications" is equal to the list of Supported Ubuntu applications we should ensure that the former is not displayed in the GUI.

A new button is added to g-a-i that lets you go to the software preferences dialog quickly to turn off unsupported software easily.

When the user selects a universe/multiverse package for the first time a dialog is popped up (just like the current dialog) that explains about the issue that the package is coming from universe and how to detect it.

Synaptic

Synaptic will follow gnome-app-install and have the emblems in the GUI with the appropriate explanation. The sections view already distinguishes between "main", "universe", "multiverse".

A new default view "Component" (in addition to Section, Status, Search Results) will be added that includes "main", "restricted", "universe", "multiverse", "3rd party". The custom filter property will be extended to support the component as a match rule. With the various sorting options that the treeview offers this should give the user enough flexibility to easily see what non-supported/non-free packages he has installed.

The "Components" view will default to "main" on the first start and synaptic will automatically save the last view that the user had selected so that if he always wants to see "main" packages he just does not change the view.

The repository editor to permanently turn off the repositories are available via "Preferences/Repositories".

Adept

Adept needs to have an easy option to see what software sources is supported and what is not and needs a better repository editor that makes it easy to turn off unsupported software. This is specified as part of KubuntuFeistyAdeptChanges.

Installer

The installer installs Packages.gz files for all components. This ensures that the user does not have to download the full Packages file on the first apt-get update (because apt uses If-Modified-Since on the available Packages file). This is important for users behind dialup connections because for them the hit of the 3.5MB of the Packages.bz2 file is pretty big.

Command-line

We assume for the command-line users that they will pay attention to the "Section" of the "apt-cache show" output. In addition we should provide a convenient way to disable the non-free repositories. In addition to the current "software-properties --enable-component=" we should provide a "software-properties --disable-component=" commandline argument. We could also tell the user (analog to the current "The following NEW packages will be installed:" message) about unsupported packages that are installed (also this might be too much clutter).

Backoff plan

As a backoff plan we will just keep the situation as it is now (multiverse/universe disabled) and use "software-properties --enable-component=universe" if universe is required.

Implementation

The following steps should be taken to update the UIs:

  1. Make sure that turning off universe/multiverse is just a matter of three clicks (deselect, select, apply)
  2. update gnome-app-install to make the available filtering more flexible and make it easy to only view supported applications
  3. update synaptic to support a icon for the components (like the emblems in launchpad)
  4. add support in synaptic for the "Components" view
  5. add support in synaptic for the component matching in the custom filters
  6. add support in adept for the supported icon (check with Riddell who can do this)
  7. add support in the KDE repository editor to make disabling the components easy (check with Riddell who can do this)


CategorySpec