Merge branch 'doc/16199-usb-images-beta'
[tails.git] / wiki / src / contribute / derivatives.mdwn
blob6c10c30565efa40924c67bec2436097a20f1ffe8
1 [[!meta title="About creating Tails derivatives"]]
3 Several projects expressed interest in reusing Tails to build different
4 live distributions, also called *derivatives*, to fulfill slightly
5 different goals.
7 Tails being Free Software this is not only possible but encouraged,
8 because the more people look at our code and work on it, the better it gets.
9 Still, at this time we don't know of any Tails derivative.
11 Derivatives have been imagined to:
13 - Include additional features or software that we are not ready to add to Tails (for example
14   to include different pluggable transports or cryptocurrencies).
15 - Have custom branding or configuration (for example to provide default
16   bridges).
17 - Provide ISO images with less or different features (for example to
18   have a VPN instead of Tor or a smaller ISO image).
20 While creating custom ISO images of Tails is relatively easy, we believe
21 that maintaining custom ISO images on the long run is very complicated,
22 and for the following reasons:
24 - We release a new version every 6 weeks which fixes numerous security
25   issues. We also release unscheduled security releases quite often (3-4
26   times per year).
28   A derivative with custom ISO images would have to follow the same
29   release schedule to provide ISO images that fix these issues as well.
31 - Before we release them, our ISO images follow a complex quality
32   assurance process involving systematic peer review of the code,
33   [[manual|contribute/release_process/test]] and
34   [[automated|contribute/release_process/test/automated_tests]] tests
35   which are particularly heavy to run.
37   A derivative with custom ISO images would have to duplicate our
38   quality assurance process and adapt it to its specificities to make
39   sure that it doesn't break any security feature.
41 - We offer automatic upgrades which are binary diffs from one ISO image
42   to the other.
44   A derivative with custom ISO images would need a similar process and
45   infrastructure or otherwise disable the automatic upgrades mechanism.
47 - We provide authenticated downloads through a custom browser extension
48   and an OpenPGP signing key well connected to the web-of-trust.
50   It would be hard for a derivative with custom ISO images to provide
51   similar mechanisms.
53 - The anonymity provided by Tor and Tails works by making everybody
54   look the same, especially on the network. Derivatives should be
55   careful about not breaking this anonymity set or they will provide
56   less anonymity to both its users and Tails users.
58 - Derivatives could be tempted to implement some of the features Tails
59   is missing too quickly and hastily.
61 Still, some of the reasons to create Tails derivatives could be solved
62 by **relying on our official ISO images** and customizing them at run time.
63 For example, derivatives could:
65 - Package specific applications in Debian to make them easier to use in
66   Tails.
67 - Document how to use specific applications in Tails.
68 - Rely on the customizations mechanisms already available in Tails
69   (additional software packages and persistent storage).
70 - Help us build in Tails other mechanisms that derivatives might need to
71   adapt Tails to their needs (for example to have persistent DConf
72   settings or additional APT sources).
73 - Talk with us to see how we can adapt our ISO images and source code to
74   make them easier to reuse for derivatives.
75 - To include a piece of software into Tails, talk to us as early as
76   possible so we can provide feedback on how to integrate it.
78 Some other non-technical questions remain open:
80 - Will derivatives appear as being "Tails" to their users while having
81   different security features than Tails?
82 - Shall Tails review ourselves the work of derivatives and "endorse"
83   them officially?
84 - How would the work or reputation of derivatives impact the reputation
85   of Tails?