OemTrackingId

Summary

The Distribution Channel Descriptor (DCD) is a text file containing a string that represents the delivery method of Ubuntu (download, ShipIt, specific OEM deployment). Each unique deployment channel for Ubuntu has a unique value. For example, an OEM would include one string on all 15" laptops of a certain model. A 12" laptop model would ship with another string. All 9.04 installations created using a LiveCD share another string. The file can be used to improve support and to integrate with online services.

Release Note

The Distribution Channel Descriptor file contains a string that identifies the manner in which Ubuntu was installed, or (for systems purchased with Ubuntu preinstalled) the hardware platform in use. The string is used to improve support and to integrate with online services. The string contains no personally identifiable information.

Rationale

The DCD can be used to improve support, to integrate with online services, or to better measure the spread of Ubuntu through the ShipIt program.

Use Cases

Support

An OEM partner ships Ubuntu on a laptop; a bug in a custom driver results in a number of crashes on the platform. A user calls for support; Canonical support asks for the DCD to verify that the user has a specific hardware device with a factory installation of Ubuntu. Canonical support knows that the default installation of Ubuntu on that platform suffers from the driver bug, and suggests the user install an update.

ShipIt

Popcon is modified to read the DCD, for tracking the popularity of ShipIt installations. The Ubuntu community learns from this information learns that each ShipIt CD sent out is used to create an average of 12 new Ubuntu installations.

This is not a requirement for the specification to be considered complete as ShipIt is not controlled by the FoundationsTeam.

Online Services

A partner has an arrangement that provides access to an online service for users of a particular hardware platform that ships with Ubuntu. The tracking ID is used to identify the hardware platform to the online service. As this is not specific to just OEMs, the old /var/log/installer/oem-id will be dropped.

Assumptions

  • The DCD is not secure; end users can remove or modify it if they choose.

Design

  • The DCD file is a plaintext file with a single string, the DCD. The string must be on its own line. The file may contain comments; a comment line begins with a hash ('#'). For example:
  • Each unique distribution channel has a unique descriptor value. A distribution channel is the combination of an Ubuntu release and a delivery method (Ubuntu 9.04 ShipIt CDs are one channel, Ubuntu 9.04 on a Dell Inspiron 1234 is another channel, Ubuntu 9.10 on a Dell Inspiron 1234 is a third channel).

  • The descriptor value is a free-form string. By convention the value has a prefix to identify the namespace (for collision avoidance) followed by a random number. The random number is used to prevent values from being easily-guessable. By convention the string is short enough to be easily read over the phone.
  • The group that claims each namespace is responsible for ensuring the uniqueness of each descriptor in that namespace.
  • Sample DCD file:

# This is the distribution channel descriptor for the 9.04 ShipIt CDs
# For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
canonical-123abc456
  • The DCD file is installed to /var/lib/ubuntu_dist_channel by the tool used to install Ubuntu (Ubiquity, custom OEM installer, etc)

Implementation

LiveCD Installer

  • DCD file is stored at /.disk/ubuntu_dist_channel in the installer
  • Ubiquity copies the file to /var/lib/ubuntu_dist_channel

OEM Installers

  • OEMs insert the DCD into the gold master image of each product (specific implementation is up to the OEM)
  • The existing ubiquity prompt will be removed entirely.

Apport

  • Apport is modified to return the DCD in crash data

Test/Demo Plan

TBD

Notes from clarification call

(to be folded into main body of spec)

  • shipit: optional, but Jane is keen
  • not just for OEMs, hence renaming
  • /var/lib would be OK instead of /etc to avoid the conffile problem, or we could put a clear note in the file; to think about this
  • ACTION: cjwatson to clear process suggestion with TB and nominate a wiki page where people can claim DCD prefixes


CategorySpec

FoundationsTeam/Specs/OemTrackingId (last edited 2009-02-17 15:10:00 by yttrium)