UbuntuForDebianDevelopers

Differences between revisions 33 and 35 (spanning 2 versions)
Revision 33 as of 2006-01-21 11:54:42
Size: 4480
Editor: user-2ivear7
Comment: added reference to changelogs website
Revision 35 as of 2006-07-31 17:05:18
Size: 6557
Editor: studiocity-motorola-bsr1-70-36-194-85
Comment: remove/correct inaccuracies, be less critical/more constructive, add resources
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Is Ubuntu worth watching ? == == Introduction ==
Line 3: Line 4:
 * Ubuntu wants to contribute back to Debian (''this process needs improving - see below'')  * Ubuntu wants to maintain a healthy and collaborative relationship with Debian developers
Line 5: Line 6:
 * Debian is the perfect distribution for some usages and Ubuntu fits nicely on other systems (laptops, or end-users desktops).
Line 7: Line 7:
== What is Universe ? And MOTU ? == == How does Ubuntu differ from Debian? ==
Line 9: Line 9:
Ubuntu has four components (like Debian's ''main'', ''contrib'' and ''non-free''). Most packages are pulled straight from Debian, but other sources include [http://www.apt-get.org/ apt-get.org], [http://revu.tauware.de/ REVU] and directly from organisations such as Blackdown and WineHQ. === Purpose and Scope ===

Ubuntu has a narrower focus than Debian in many ways. For example, Ubuntu supports only a subset of the architectures that Debian does, and targets specific users (for example, desktop users and server administrators), while Debian seeks to be more universal.

=== Community Governance ===

Ubuntu has its own [http://www.ubuntu.com/community/processes community government structure], in some ways inspired by Debian's but in other ways different. There are different governing bodies, procedures for becoming a developer, upload privileges, and more.

=== Licensing ===

Ubuntu has four [http://ubuntulinux.org/ubuntu/components components] (like Debian's ''main'', ''contrib'' and ''non-free''), distinguished by [http://www.ubuntu.com/ubuntu/licensing licence policy] and support terms. The following table summarizes the differences:
Line 13: Line 23:
|| '''Offically supported core''' || ''main'' (2297) || ''restricted'' (5) ||
|| '''Everything else (unsupported)''' || ''universe'' (8363) || ''multiverse'' (364) ||
|| '''Offically supported''' || ''main'' (2297) || ''restricted'' (5) ||
|| '''Unofficial''' || ''universe'' (8363) || ''multiverse'' (364) ||
Line 16: Line 26:
The Ubuntu Foundation (through Canonical) funds enough developers to make sure that ''main'' and ''restricted'' are looked after. Volunteers called The Masters of the Universe (["MOTU"]) look after the companion ''universe'' and ''multiverse'' components. MOTUs sync (import without modification) or merge (import with Ubuntu-specific changes) packages from Debian. MOTUs handle bugs reported on software inside ''universe'' and ''multiverse''. Officially supported packages receive security updates sponsored by Canonical, and more rigorous QA relative to the release cycle, while unofficial packages are maintained on a "best effort" basis, primarily through incorporating the Debian maintainer's work.

=== Packages ===

Most source packages are copied unmodified from Debian, but other sources include [http://www.apt-get.org/ apt-get.org], [http://revu.tauware.de/ REVU], directly from organisations such as Blackdown and WineHQ, and packages which are created by Ubuntu developers specifically for Ubuntu.

=== Package maintenance ===

Unlike Debian, Ubuntu packages usually do not have a designated maintainer. In effect, all packages in Ubuntu are maintained by teams. Packages in Ubuntu `main` and `restricted` are maintained by the [https://launchpad.net/people/ubuntu-core-dev Ubuntu Core Development Team], while packages in Ubuntu `universe` and `multiverse` are maintained by the [https://launchpad.net/people/ubuntu-dev Ubuntu Development Team]. If you need to discuss a specific change, try poking the last person who changed the package (see the changelog at [http://changelogs.ubuntu.com/]).

=== Bug tracking ===

Ubuntu tracks bugs in [http://launchpad.net/distros/ubuntu/+bugs Launchpad]. The Launchpad bug tracker makes it possible to keep track of bugs in multiple contexts, for example, if a bug is fixed upstream but not in Debian, or fixed in Debian but not in Ubuntu. It can also store links to bugs filed upstream and in Debian, and notify Ubuntu developers when their status changes. More information about bug tracking in Launchpad can be found at XXX.

=== Relationship to Canonical ===

XXX work in progress

== What is MOTU? ==

With the creation of the `universe` component, volunteers were needed to look after these packages. A team called The Masters of the Universe (["MOTU"]) was formed for this purpose. MOTUs sync (import without modification) or merge (import with Ubuntu-specific changes) packages from Debian. MOTUs handle bugs reported on software inside ''universe'' and ''multiverse''.
Line 20: Line 50:
== What kind of divergence is introduced inside Ubuntu? Why does Ubuntu need to change my packages? Are those changes important ? == == Why does Ubuntu need to change my packages? What kind of changes are made? ==
Line 22: Line 52:
Ubuntu can undertake major transitions before Debian. ''Universe'' packages may need to be modified to build in a current Ubuntu environment because of: There are many reasons why packages in Ubuntu diverge from Debian, including:
Line 24: Line 54:
 * C++ ABI (change to -c2 packages---testbed for Debian)
 * Modular X.org
 * GCC 4.0
 * Python 2.4
 * Very latest GNOME and KDE
 * Other library transitions
 * Policy differences between Debian and Ubuntu (for example, dependencies, build-time options, etc.)
 * Bug fixes
 * Development of new features
 * Transitions: Ubuntu routinely carries out packaging transitions ahead of Debian, in collaboration with Debian representatives where a consistent policy is needed
  * C++ ABI (http://lists.debian.org/debian-devel-announce/2005/07/msg00001.html)
  * Modular X.org
  * Python
  * Library SONAME changes
 * Newer upstream versions: Ubuntu tracks upstream more closely than Debian in some cases
  * GNOME
  * KDE
  * Linux
  * Toolchain (GCC et al)
Line 31: Line 68:
Modifications also include fixes to minor bugs reported in Ubuntu before they are raised in Debian BTS. == How does Ubuntu cooperate with Debian? ==
Line 33: Line 70:
Packages in the ''main'' section of Ubuntu are frequently modified to suit Ubuntu's needs. Backporting Ubuntu changes to Debian is therefore a harder and more difficult process for the core Ubuntu ''main'' developers. For many packages in ''main'', Ubuntu has good working relationships with the Debian maintainer(s) and is involved with the core Debian development. Many volunteer developers are active in both Debian and Ubuntu camps. Canonical employs some Debian developers, which should help changes flow directly back to Debian.
Line 35: Line 72:
== How does Ubuntu give back to Debian ? == === Patches ===
Line 37: Line 74:
Not well enough ...and Ubuntu is aware of that. For many packages in ''main'', Ubuntu has good working relationships with the Debian maintainer(s) and is involved with the core Debian development. Many volunteer developers are active in both Debian and Ubuntu camps. Canonical employs many Debian developers (currently 20), which should help changes flow directly back to Debian.  * Patches for Ubuntu packages are generated regularly and forwarded to the [http://packages.qa.debian.org Debian Package Tracking System] (`derivatives` keyword) and the [http://lists.ubuntu.com/mailman/listinfo/ubuntu-patches ubuntu-patches mailing list]. By using these resources, you can receive timely notification of incremental patches to your Debian packages, or to all packages in Ubuntu.
 * The complete delta between Debian and Ubuntu for a given package is published in Ubuntu's [http://patches.ubuntu.com Debian patches repository]
 * In the future, Ubuntu plans to maintain this delta using revision control tools, to make it easy to extract and merge all changes incrementally
Line 39: Line 78:
For ''universe'' (and some ''main'' packages), there is a massive possibility for improvement. Apart from [http://people.ubuntu.com/~scott/patches/ publishing patches on an ongoing basis] (patches which might not be very usable from the DD point of view), Ubuntu doesn't provide much valuable feedback. There are several reasons for this : === Why aren't these patches submitted to the Debian BTS? ===w
Line 47: Line 87:
== Short crash course in Ubuntu development ==
 * Most of the documentation about Ubuntu and Ubuntu development can be found on [:FrontPage: this wiki (first page)]
 * Ubuntu's Bug Tracking System is [https://launchpad.net/distros/ubuntu/+bugs-advanced Malone]
 * All packages are team-maintained. If you need to discuss a specific change, try poking the last person who changed the package (see the changelog at [http://changelogs.ubuntu.com/]).
=== How can I minimize the Ubuntu delta for my packages? ===

Introduction

  • Ubuntu doesn't try to hide its [http://www.ubuntulinux.org/ubuntu/relationship Debian roots].

  • Ubuntu wants to maintain a healthy and collaborative relationship with Debian developers
  • Ubuntu has brought new users to GNU/Linux. Some day, those new users might become Free Software developers, advocates or DD's.

How does Ubuntu differ from Debian?

Purpose and Scope

Ubuntu has a narrower focus than Debian in many ways. For example, Ubuntu supports only a subset of the architectures that Debian does, and targets specific users (for example, desktop users and server administrators), while Debian seeks to be more universal.

Community Governance

Ubuntu has its own [http://www.ubuntu.com/community/processes community government structure], in some ways inspired by Debian's but in other ways different. There are different governing bodies, procedures for becoming a developer, upload privileges, and more.

Licensing

Ubuntu has four [http://ubuntulinux.org/ubuntu/components components] (like Debian's main, contrib and non-free), distinguished by [http://www.ubuntu.com/ubuntu/licensing licence policy] and support terms. The following table summarizes the differences:

Source packages in Ubuntu components as of 2006-01-18:

Free software

non-free software

Offically supported

main (2297)

restricted (5)

Unofficial

universe (8363)

multiverse (364)

Officially supported packages receive security updates sponsored by Canonical, and more rigorous QA relative to the release cycle, while unofficial packages are maintained on a "best effort" basis, primarily through incorporating the Debian maintainer's work.

Packages

Most source packages are copied unmodified from Debian, but other sources include [http://www.apt-get.org/ apt-get.org], [http://revu.tauware.de/ REVU], directly from organisations such as Blackdown and WineHQ, and packages which are created by Ubuntu developers specifically for Ubuntu.

Package maintenance

Unlike Debian, Ubuntu packages usually do not have a designated maintainer. In effect, all packages in Ubuntu are maintained by teams. Packages in Ubuntu main and restricted are maintained by the [https://launchpad.net/people/ubuntu-core-dev Ubuntu Core Development Team], while packages in Ubuntu universe and multiverse are maintained by the [https://launchpad.net/people/ubuntu-dev Ubuntu Development Team]. If you need to discuss a specific change, try poking the last person who changed the package (see the changelog at [http://changelogs.ubuntu.com/]).

Bug tracking

Ubuntu tracks bugs in [http://launchpad.net/distros/ubuntu/+bugs Launchpad]. The Launchpad bug tracker makes it possible to keep track of bugs in multiple contexts, for example, if a bug is fixed upstream but not in Debian, or fixed in Debian but not in Ubuntu. It can also store links to bugs filed upstream and in Debian, and notify Ubuntu developers when their status changes. More information about bug tracking in Launchpad can be found at XXX.

Relationship to Canonical

XXX work in progress

What is MOTU?

With the creation of the universe component, volunteers were needed to look after these packages. A team called The Masters of the Universe (["MOTU"]) was formed for this purpose. MOTUs sync (import without modification) or merge (import with Ubuntu-specific changes) packages from Debian. MOTUs handle bugs reported on software inside universe and multiverse.

Why does Ubuntu need to change my packages? What kind of changes are made?

There are many reasons why packages in Ubuntu diverge from Debian, including:

  • Policy differences between Debian and Ubuntu (for example, dependencies, build-time options, etc.)
  • Bug fixes
  • Development of new features
  • Transitions: Ubuntu routinely carries out packaging transitions ahead of Debian, in collaboration with Debian representatives where a consistent policy is needed
  • Newer upstream versions: Ubuntu tracks upstream more closely than Debian in some cases
    • GNOME
    • KDE
    • Linux
    • Toolchain (GCC et al)

How does Ubuntu cooperate with Debian?

For many packages in main, Ubuntu has good working relationships with the Debian maintainer(s) and is involved with the core Debian development. Many volunteer developers are active in both Debian and Ubuntu camps. Canonical employs some Debian developers, which should help changes flow directly back to Debian.

Patches

  • Patches for Ubuntu packages are generated regularly and forwarded to the [http://packages.qa.debian.org Debian Package Tracking System] (derivatives keyword) and the [http://lists.ubuntu.com/mailman/listinfo/ubuntu-patches ubuntu-patches mailing list]. By using these resources, you can receive timely notification of incremental patches to your Debian packages, or to all packages in Ubuntu.

  • The complete delta between Debian and Ubuntu for a given package is published in Ubuntu's [http://patches.ubuntu.com Debian patches repository]

  • In the future, Ubuntu plans to maintain this delta using revision control tools, to make it easy to extract and merge all changes incrementally

=== Why aren't these patches submitted to the Debian BTS? ===w

  • Lack of manpower : ~8400 source packages in universe, split amongst [https://launchpad.net/people/motu ~35 MOTUs] and a few outsiders.

  • Lack of tools : Ubuntu currently lacks most of the tools to take care of the packages in a global way.

  • Lack of consensus about how Debian want Ubuntu's patches

  • Lack of response from some Debian maintainers : when Ubuntu changes are integrated by Debian, it makes the life of MOTUs much easier. However, some bugs have been opened months ago in the BTS, but are ignored from the Debian maintainer; these must then be maintained separately.

There are of course plans to change that by improving processes and writing tools, but this takes time.

How can I minimize the Ubuntu delta for my packages?


For more information about Debian collaboration in Ubuntu, see DebianCollaboration.

UbuntuForDebianDevelopers (last edited 2008-09-22 11:48:26 by 82-69-40-219)