DerivativeDistroHowto
Scope
This page is unofficial guide how to create Ubuntu derivative distribution according to Ubuntu policies and common sense, so that cooperation between derivative distro and Ubuntu is maintained and both can benefit from it.
It is a collection of links to discussions, tools and useful pages, but note that even statements from Ubuntu employees are not legally binding and the final rules are set by legal documents . However, by obeying rules stated here you present good will and cooperation with the community.
Rationale
Ubuntu (and its main derivatives) are great distributions, but they do not fit all possible needs and use cases. By creating derivative distributions it is possible to spread Linux into more environments and Ubuntu itself can be improved by feedback from derivatives. It is also worth noting that [http://www.ubuntu.com/ubuntu/relationship Ubuntu itself is derivative of Debian distribution].
Ubuntu not only allows, but also encourages creation of derivative distros (if it is reasonable):
The creation of derivative distributions based on Ubuntu, where the trademark is respected according to our policy[1], is not only allowed, it is encouraged. If your tool makes this process easier, then everyone is happy. Thanks for your concern. [1] http://www.ubuntu.com/ubuntu/TrademarkPolicy
Source: Matt Zimmerman from Ubuntu (https://lists.ubuntu.com/archives/ubuntu-devel/2006-December/023054.html)
Derive or not?
The decision to create derivative distro should not be taken lightly. Improving Ubuntu is much easier when you work directly on Ubuntu and your changes will be much more widespread and will be for benefit of everyone, so before taking decision to create derived distro, please think carefully if it is really needed. There are many different ways to contribute to Ubuntu, so maybe you can fit your needs into main Ubuntu.
If you really think you cannot work directly on Ubuntu, consider joining one of existing Ubuntu derivatives. Splitting forces on many minor projects will not help fixing [https://launchpad.net/ubuntu/+bug/1 bug #1]. It is better to join forces.
You can see list of Ubuntu derivatives in section "Existing ubuntu derivatives".
Kinds of derivative distros
Deriving from distribution can be done on many different levels, depending what are exactly your needs and reasons for creating derivative distros. Ubuntu recognizes the following types of derivative distros:
- 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
Source: Ubuntu wiki page DerivativeDistroProcess
It is also worth to note that there are also distributions which contain many changes and take packages from different sources (for example mix Ubuntu and Debian packages).
Usage of Ubuntu servers as sources of binary packages
If your derived distro is binary compatible with Ubuntu and you cannot afford providing your own servers with packages, it is OK to use Ubuntu servers as package source:
> Say that I would fork Ubuntu, making only small changes that does not > effect the system's packages. Would it be OK for that system to use > Ubuntu's official package archives, or are they for Ubuntu only? Ubuntu mirrors are open and accessible to everyone who wishes to download the data they hold.
Source: Statement by Matt Zimmerman from Ubuntu (https://lists.ubuntu.com/archives/ubuntu-devel/2006-March/016900.html)
Of course, if your distribution grows large enough you should consider providing your own repository or at least adding (possibly partial) mirror hosted by you.
Note: this statement applies to Ubuntu mirrors maintained by Canonical, other mirrors might have different policy.
Trademarks
Warning: The only legally binding statement about trademarks can be obtained directly from Canonical. If in doubt, please contact their legal representatives.
Ubuntu trademark policy is stated on [http://www.ubuntu.com/ubuntu/TrademarkPolicy Trademark Policy page].
Advices below are not legally binding and should be considered only outline of what is expected to do when creating derivative distro.
TODO
Tools for building distro
Live CD
The easiest way to build your own distro is to use Ubuntu live CD and customize it to your needs. There are 2 tools which make this easy:
[http://reconstructor.aperantis.com/ Reconstructor] - is a tool with graphical interface, which allows customizing Ubuntu. It can change splashscreen, boot screen, wallpaper and other Gnome settings.
[http://uck.sourceforge.net/ Ubuntu Customization Kit] - is a tool which provides both graphical interface and possibility of automatic building of live CD using scripts. It works for Ubuntu, Kubuntu and other Ubuntu derivatives. It allows customizing main filesystem image, initrd, and ISO. GUI allows installing languages, changing default boot language and spawning package manager and console for further customizations.
If you do not want to use these tools, you can find description how to remaster live CD on [https://help.ubuntu.com/community/LiveCDCustomization/6.06 this page].
Install CD
TODO
Existing ubuntu derivatives
[https://wiki.ubuntu.com/KubuntuDerivedDistros List of Kubuntu derived distros]
[http://www.ubuntu.com/download/derivatives List of Ubuntu derivatives]
Other interesting links
[https://lists.ubuntu.com/archives/ubuntu-devel/2006-December/023054.html Discussion about concerns about creating derived distros on ubuntu-devel]
[https://lists.ubuntu.com/archives/ubuntu-devel/2007-January/023107.html Many explanations of rules for derivatives on ubuntu-devel]
[https://wiki.ubuntu.com/DerivativeDistroProcess Wiki page for launchpad derivative distros spec]