Developer key philosophy

From OLPC
Revision as of 20:11, 28 September 2008 by Sj (talk | contribs) (..)
Jump to: navigation, search


This page explains the basic functions and uses of a developer key. For a more complete, technical description of developer keys, see Activation and developer keys.

The XO contains hardware and software theft deterrence features, which can get in the way of a prospective hardware or software developer. A 'developer key' allows a developer to bypass these theft deterrence features if needed, so the first step in joining the developer community is requesting a key.

While there are many things a developer can edit without a developer key, a request can take up to two weeks, so it is important to put in a request as soon as possible--that way when a developer key is needed it is available. See Activation and developer keys for instructions on requesting and installing a developer key.

Please note: our current implementation is not ideal, and developer keys are being used to limit a user's exposure to security risks such as auto-installation of rpm's and other software from USB keys, installation of anything but the most stable quarterly OLPC builds, and the like. This reduces the overall effectiveness of the system, since almost everyone who wants to play around with their machine is encouraged to get a developer key. --Sj talk 00:11, 29 September 2008 (UTC)

Using a Developer Key

Once it is received, there are two ways to use a developer key:

  1. By installing the developer key in /security/develop.sig, where it can be managed with the Security control panel (<trac>6428</trac>).
  2. By invoking 'disable-security' from the Open Firmware prompt to skip all key checking (until you invoke 'enable-security' again). This also turns off "pretty boot," allowing you to see all the start up messages when you boot.

While this choice is left to the developer, the former option is recommended, because it exercises the key-checking and "pretty boot" code. This ensures that developers are regularly testing this code, so that any bugs can be quickly discovered and fixed--instead of making it to the machine of some poor six year old in Peru.

Using the Security control panel also allows developers to easily enable and disable the theft deterrence features. This way, a developer can test code with theft deterrence enabled when necessary. While this is also possible with 'enable-security' from the Open Firmware prompt, this will perform fewer safety checks, making it easier for a developer to inadvertently lock himself out of his machine.