AlwaysEnableUniverseMultiverse

Differences between revisions 21 and 22
Revision 21 as of 2006-11-08 17:29:52
Size: 6640
Editor: 207
Comment:
Revision 22 as of 2006-11-08 17:51:35
Size: 6640
Editor: 207
Comment:
Deletions are marked like this. Additions are marked like this.
Line 41: Line 41:
  -d DISABLE_COMPONENT, -disable-component=DISABLE_COMPONENT   -x DISABLE_COMPONENT, -disable-component=DISABLE_COMPONENT

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 interessted 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 additonal 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.

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 (univese)
  • Software restricted by copyright or legal issues (multiverse)

There will also be a commandline 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" optionmenu with the following options:

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

The default is "All Open source applications". This way the user can decide what applications he wants to see. If he is only interessted 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 graphical where the application comes from and what support status it has (plus a tooltip to explain the emblem).

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

Synaptic

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

A new default view "Component" (in addition to Section, Status, Search Results) will be added that includes "main", "restricted", "unvierse", "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-suported/non-free pacakges 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 a easy option to see what software sources is supported and what is not. It also needs a better repository editor that makes it easy to turn off unsupported software.

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).

Commandline

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.

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. update gnome-app-install to make the available filtering more flexible and e.g. hide all not free applications
  2. update synaptic to support a icon for the components (like the emblems in launchpad)
  3. add support in synaptic for the "Components" view
  4. add support in synaptic for the component matching in the custom filters

Review comments

  • I recommend replacing the "Applications" label with an "Applications of type:" option menu, containing four options: "Free and Supported", "Free", "Supported", and "Any". Then the checkboxes can be removed. (A further enhancement would be to add a separator to the bottom of this menu, followed by an "Installed" item to display only those programs that are already installed.)

    This assumes that there is no reason to be comfortable with software from Universe but not from Main, from Restricted but not from Main, from Multiverse but not from Universe, or from either 3rd party or Multiverse but not from the other. I think these are reasonable assumptions. -- MatthewPaulThomas


CategorySpec

AlwaysEnableUniverseMultiverse (last edited 2008-08-06 16:23:19 by localhost)