DerivativeDistroProcess

Summary

This document discusses issues necessary for consideration when creating an Ubuntu derivative distribution. The discussions are inspired by the South African derivative ImpiLinux, a very recent development, but should be general enough so that it extends to other initiatives.

Topics discussed in this document include processes and infrastructure related to Ubuntu derivatives.

Rationale

Ubuntu derivate distributions would do well to benefit from the groundwork that Ubuntu has done, instead of redoing things from scratch. This includes existing work on certifications, infrastructure and software. In addition, Canonical infrastructure in Launchpad may provide a cost-effective solution for derivative distribution hosting and services.

Use cases

1. A group of people is involved in setting up media centers for large community development (grassroots) events. Setting up such media centers involves - among other tasks - borrowing computers from local volunteers. So as not to mess with whatever these people have installed on their computers, the media center uses Live CDs. Most of the workstations can run regular Ubuntu Live CDs, as they will be used just for text processing, emailing and Web access. However, some workstations need to run a more sophisticated selection of software - for example for multimedia production: audio/video processing and streaming. In most of cases, preparing this kind of Ubuntu derivative would entail eliminating some packages and adding new packages to be included on the CD, like Audacity, VeeJay and others.

2. eRiders (aka Circuit Riders) are people who (at a very basic level) do technical support for non-profit organisations. As a part of their job, they promote FOSS as a cheap yet effective alternative to proprietary software. Self-assembled Live CDs with proper documentation in local languages and perhaps some applications that an eRider thinks are usable for his/her clients would be extremely usable. Instead of giving a presentation on the laptop (which is, especially in developing countries, a rather rare luxury), an eRider can plug the Live CD in one of organisation's computers, run the presentation off it, and then hand over a couple of the same Live CDs for people from the organisation to play with.

3. A single eRider can sometimes have multiple organisations under her/his "patronage". These organisations work in different fields and therefore have many different needs. Two obvious advantages of being able to build customised distribution emerge here:

a) Let's say given eRider visits an organisation working in health care in West Africa. The organisation has 12 computers, but no Internet connectivity. The perfect scenario would look as follows: the eRider visits the organisation, assesses their needs, comes back to his office, assembles and downloads appropriate Ubuntu derivative distribution, comes back to the organisation and installs it on their computers off the CD.

b) Given the above example takes place, this eRider could share his work with others working in other regions/countries, as a starting point for building their own distributions for organisations working in health care. The only requirement for the above is to make the process of customising default Ubuntu distro as simple as choosing a set of packages and possibly also uploading additional resources like documentation.

4. Many web-based application vendors/producers would love to have a possibility to build a simple Live CD with their application installed on it. Giving away such CDs would allow people (potential clients/users) to be able to boot up from Live CD, click around and check whether it's suitable for them. It makes for perfect marketing material.

5. ImpiLinux is an Ubuntu derivative distribution aimed primarily at South African government desktops. The government would like as much of their current (Windows) functionality to remain intact as they perform a gradual migration from Windows to Linux. This includes seamless access to their MS office documents and other proprietary file formats. The perfect solution for them is an open source platform with proprietary add-ons (such as Crossover Office). Ubuntu cannot include proprietary add-ons in its release, but a derivative distribution (such as ImpiLinux) can. However, ImpiLinux also needs to provide a full suite of professional services, including support, training, customisations and consulting.

Process Considerations

ISV Certification

Currently, Canonical is in the process of pursuing ISV certification for certain software on Ubuntu. Cognisant of the existence of derivative distributions, the ISV certification discussions try to focus on identifying a limited set of packages, which if remain unchanged in the derivative, will ensure that the derivate can "inherit" the certification.

This is a complex process, which is different for each ISV, and negotiations of this sort are just beginning. In time, experience will add to this knowledge.

Hardware Certification

Analogous to ISV certifications, it would be extremely useful to be able to specify a set of criteria that will ensure that derivative distributions will "inherit" a hardware certification - i.e. that the derivate will be guaranteed to run as flawlessly as the original (Ubuntu). Intuitively, it can be said that as long as the Ubuntu base system (including installer and kernel) remains unchanged, hardware certified for Ubuntu will also work on the derivative. Developing more fine-grained criteria does not seem viable at this point.

Also, Canonical is in a position to offer hardware certification services to its derivatives. Supposing that Canonical set up a test lab for hardware certification, it could help certify derivative distributions at the same time that Ubuntu is being certified. This could provide a large effort saving to the derivative, possibly also offering the derivative access to hardware that it may not otherwise be able to access.

Training Certification

The Ubuntu certified professional certification is currently under development. This certification builds on the LPIC1 certification and adds a number of Ubuntu-specific elements: some server-side and some desktop. One of the issues for derivative distributions wanting to inherit this certification is that Gnome is the desktop tested on the exam. So distributions based on KDE (and this obviously extends to any other non-Gnome desktop) cannot legitimately use the Ubuntu certification.

A possibility for consideration is adding a KDE component to the Ubuntu certification. There are reasons for and reason against doing this, and it remains an open question.

Infrastructure Considerations

In the near future (6-8 months), Launchpad will offer infrastructure and support services for derivative distributions. Derivative projects will be able to decide what level of support they would like: services include a presence in Launchpad, distribution management, data storage and backup, bug management and code sharing.

Currently, derivative distributions are managed by their personnel and the process is largely manual. Derivatives are usually (1) rebranded, mostly unchanged versions of Ubuntu or (2) standalone distributions with code changes. Launchpad will allow various levels of derivatives to be created, including:

  • Level 1 (official flavours): Ubuntu Foundation endorsed and supported derivatives, including Kubuntu and Edubuntu
  • Level 2 (unofficial flavours): includes a different selection of packages but no modification of code
  • Level 3 (binary inherited): a derivative stored in a separate archive, with no modification of code
  • Level 4 (source derivative): binaries are rebuilt, no source code changes but possible configuration changes, e.g. hardened Ubuntu
  • Level 5 (standalone derivative): includes source code changes, e.g. Guadalinex

The business model around this service needs to be developed.

Outstanding issues

Outstanding issues include:

  • Inclusion of KDE content in the training certification
  • Business model around Launchpad derivative distribution offering


CategorySpec

DerivativeDistroProcess (last edited 2008-08-06 16:30:12 by localhost)