The Debian Derivatives Guidelines (Derivatives/Guidelines) encourages "derivative distributions to mention and define their relationship with Debian". Because this seems like a great idea to us, we wrote this statement that not only covers Tails' relationship with Debian, but also Tails' relationship with any one of its upstream projects.
For various reasons Tails tries to diverge by the smallest possible amount from its upstream projects, and especially from Debian:
- We want to share our work with the rest of the Free Software community.
- We value maintainability very much: we believe our users are best served if we keep the amount of work needed to maintain Tails the smallest possible.
We try to push our changes upstream when we need to modify software we ship. This often requires us to write code in a generic way, rather than implementing ad-hoc hacks to fit our specific needs: e.g. we often need to make the stuff we need opt-in and add configuration options.
Debian offers great amounts of flexibility to derivative developers, so we seldom need to modify Debian-specific parts of the software we ship. In the rare cases we need to:
- we at least inform the relevant Debian maintainers, so that they have a chance to enhance their packages to fit our needs;
- in many cases, we write and propose patches that would allow us to install unmodified Debian packages in Tails.
We also encourage potential contributors to improve Tails by working on Debian.
We file and contribute to RFP and WNPP bugs so that software we need lands in Debian. More generally, we heavily use the Debian infrastructure such as the BTS.
See the full and up-to-date list of bugs:
Warning: do not use tags that are already defined globally on the BTS.
We contribute to Debian Live on a regular basis. Every single feature we have added to Debian Live has been merged upstream, and we intend to go on this way.