Commit 2d3cb16a authored by intrigeri's avatar intrigeri
Browse files

Merge remote-tracking branch 'origin/master' into web/12053-faster-build

parents a3a1d83e 527eb2ae
......@@ -30,6 +30,8 @@ in a better organized, team-based and focused way.
Additionally, we would like to use this process as an opportunity to
evaluate the idea of basing Tails on snapshots of Debian testing.
<a id="schedule"></a>
# Schedule
* 2016Q1 — Tails 2.0 is out
......@@ -55,7 +57,10 @@ evaluate the idea of basing Tails on snapshots of Debian testing.
* November 14-18th: second sprint (in-person, organized by intrigeri)
* December 20-23: third sprint (remotely attended for everybody except
a couple of us)
* January 30 - Febuary 3: fourth sprint (remotely attended)
* January 30 - Febuary 3: fourth sprint (remotely attended); release
Tails 3.0~beta1
* February 2017 to Tails 3.0 release: keep 3.0~beta as up-to-date,
wrt. security vulnerabilities, as our 2.x channel is
* February 5 2017 — Debian Stretch freeze starts
* March 17-19th: fifth sprint (in-person, organized by intrigeri)
* June 2017 (???) — Debian Stretch is released
......@@ -60,6 +60,11 @@ practical purposes here.
- from Netherlands: 25.2 MB/s, 66.3 MB/s, 43.9 MB/s
- and, aka
- aka
* aka (California)
- from lizard: 10.3MB/s, 11.0MB/s, 11.2MB/s
- from D.C.: 8.23 MB/s, 7.45 MB/s, 8.50 MB/s
- from Germany: 5.01 MB/s, 6.25 MB/s, 5.90 MB/s
- from Netherlands: 16.0 MB/s, 12.7 MB/s, 14.7 MB/s
## Too slow mirrors
......@@ -122,10 +127,6 @@ practical purposes here.
- from France: avg. 11.9 MB/s, stdev 2.3 MB/s
- from Netherlands: 21.5 MB/s, 21.9 MB/s, 23.3 MB/s
## Inadequate mirrors for other reason
* (California): lacks dl.a.b.o vhost
## Not reliable enough mirrors
i.e. mirrors that have had issues at least once in the last 6 months;
......@@ -77,8 +77,8 @@ and a set of third parties tools listed here:
There are other tools that would be possible to explore like:
There are other tools that would be possible to explore like
[[!tails_ticket 10984]].
# Analysis regarding operations on storage devices
We would like to have one :)
# Social contract
Issue number: [[!tails_ticket 11669]]
## Introduction
The Tails Social Contract is a set of commitments that we as contributors to the Tails project stand by. This work is derived from the Debian Social Contract and Tor Project's Social Contract. If you have any questions or comments, feel free to email: <>.
This is a promise from our developer community to the rest of the world, affirming a commitment to our beliefs.
## 1. By developing Tails and publishing related documentation we try to provide usable tools for anonymity and privacy.
We believe that privacy, the free exchange of ideas, and equal access to information are essential to free and open societies. Through our community standards and the code we write and deploy, we provide tools that empower all people to protect and advance these rights.
## 2. Tails and the related documentation is and will remain free software
Equal access to information includes the free availability of our code and documentation as well as the transparency of our decision making processes. Tails will always be free to use, remix, adapt and distribute.
When we write new components of the Tails system, we will license them in a manner consistent with the [Debian Free Software Guidelines](
##3. We will give back to the Free Software community
Tails is a privacy-oriented [Debian Derivative](
We want usable security and privacy-oriented tools to become a standard for the Free Software community as a whole.
Bugfixes, code improvements, Debian packaging, as well as work on usability issues which we include in Tails will be upstreamed whenever possible. This way, our modifications will benefit others and can be improved upon further by a wider audience of people.
## 4. We will never harm our users intentionally
We will always do our best to write secure code and make the right decisions. We will never willingly include backdoors or malicious software nor will we cooperate with any entity wanting us to harm our users.
As Tails is created in a transparent manner, anyone is encouraged to participate, review it and point out problems. Mistakes sometimes happen. We will be honest about them and fix them when they are reported to us.
## 5. We will not hide problems
Our entire bug report database is and will stay open for public view at all times. Reports that are filed here will promptly become visible to others.
Whenever severe security issues are reported to us in private, we will test them and ensure we promptly fix these issues. We will notify our users whenever such an issue has been reported to us. However, for the security of our users, we might not disclose such a severe issue immediately, before releasing a fix.
## 6. We are honest about the capabilities and limits of Tails and related technologies
We encourage users to inform themselves and decide if Tails is suitable for their use case, fits their security needs and whether it can and should be trusted. We work diligently to keep our community up-to-date through our various communication channels about the current state of our software and its limitations. We encourage users to read our documentation as well as third-party documentation in order to make an informed decision and engage in a learning process about the tools we ship.
We provide and explain methods of verification so that anyone can ensure that they downloaded a genuine copy of Tails.
See the
[[reproducible builds blueprint|blueprint/reproducible_builds#custom-Debian-packages]],
that documents why we want to build our Debian packages automatically,
and raises a number of questions about it.
- <> (uploaded to Debian on 2015-08-22)
- [debile](
is used by Tanglu
......@@ -211,11 +211,26 @@ well as incremental backups.
Borg is the perfect backup back end. It supports increments, encryption,
data deduplication, local and remote backups, and mounting backups as
FUSE file systems. And it way faster than obnam which advertises similar
properties. But it doesn't have a graphical user interface.
[Packages]( for borgbackup are in Jessie Backports and in Strech
Ristic looks very similar to borgbackup. It is a small CLI tool for incremental, authenticated, and confidential backups of files.
It is not clear where the tools differ and it would be nice to have a comparison of both tools.
[Packages]( are for restic are in Strech.
Clone everything
......@@ -244,7 +259,7 @@ partition if the destination USB is already a Tails USB stick.
Other solutions
- `[sbackup](`, Simple Backup:
- [sbackup](, Simple Backup:
unmaintained since 2008.
- [Lucky Backup]( seems
......@@ -5,7 +5,7 @@
Warning page = pagina degli avvertimenti/avvisi
Persistence = persistente
Persistence = persistente <>
Sensitive = sensibile o riservato
......@@ -28,7 +28,7 @@ a quel punto inizi a tradurre :)
##mini guida GIT
## Repository GIT
......@@ -3,8 +3,8 @@
We are running a contest for designers to create a new logo for Tails. See the
full description of the content in our [[blog post|news/logo_contest]].
Some more brainstorming and ideas can also be found in our [Redmine
Some more brainstorming and ideas can also be found in our [[!tails_ticket
5797 desc="Redmine ticket"]].
Here are the proposals we received so far, and their status regarding our
......@@ -16,4 +16,9 @@ Availability and plans for the next weeks
- [[!tails_ticket 6972 desc="Create a 'Sponsors' page"]]
- [[!tails_ticket 6972 desc="Create a 'Sponsors' page"]]
- [[!tails_ticket 12098 desc="Spurious screensaver activation while synchronizing the system clock"]]
- [[!tails_ticket 11882 desc="disable recent usage and history in privacy settings by default"]]
- [[!tails_ticket 12076 desc="Have a sponsor per release"]]
- [[!tails_ticket 12104 desc="Can we drop DKMS modules support?"]]
- [[!tails_ticket 9003 desc="Cleanup outdated blueprints - do we want to create an archive for old ones?"]]
[[!meta title="Tails report for December, 2016"]]
[[!meta date="January 10 12:34:56 2017"]]
[[!toc ]]
* [[Tails VERSION was released on MONTH DAY|news/version_VERSION]] ([major|minor] release).
* Tails 2.9 was cancelled due to CVE-2016-1252.
* [[Tails 2.9.1 was released on 12 14|news/version_2.9.1]] (minor release).
* Tails VERSION+1 is [[scheduled for MONTH DAY|contribute/calendar]].
* Tails 2.10 is [[scheduled for 01 24|contribute/calendar]].
The following changes were introduced in Tails VERSION:
The following changes were introduced in Tails 2.9.1:
XXX: Copy the "Changes" section of the release notes, and compact a bit:
- Remove lines about software upgrade (that's not Tails itself).
- Remove screenshots.
- Remove "New features" and "Upgrades and changes" headlines.
- Remove line about Changelog.
* Switch to *DuckDuckGo* as the default search engine in *Tor Browser*.
The previous default search engine, **, has already been
redirecting to *Duck Duck Go* for some time.
XXX: List important code work that is not covered already by the Release
section (for example, the changes being worked on for the next version).
We've had a great sprint about porting Tails to Debian Stretch.
Most of our time was spent integrating the new Greeter as well as bug fixing,
polishing, and updating the test suite.
[](Report from the sprint)
Documentation and website
......@@ -47,11 +48,17 @@ XXX: Report only if more scenarios have been written and add the diff from the p
XXX: The fundraising team should look at the fundraising Git.
- We continued our donation campaign which will likely bring us more
than 100000 € in donations.
- The [[independent French investigative journal Mediapart has decided
to support|news/mediapart]] Tails financially every year. Thank you
very much!
git log --patch --since='1 December' --until='1 January' origin/master
- We submitted a concept note to OTF for 2017-2018.
XXX: The fundraising and accounting teams should look at the archives of <> and <>.
- We were contacted by private sponsors interested in donating and being
recognized as Tails patrons.
......@@ -59,21 +66,13 @@ Outreach
Past events
Upcoming events
From December 27th to December 30th, we were at 33C3 in Hamburg/Germany.
On-going discussions
XXX: Link to the thread on <>.
Press and testimonials
XXX: Copy content from press/media_appearances_2016.mdwn
This page is continuously updated by, so if
it's empty there might be nothing special to report.
......@@ -2,6 +2,8 @@ This is about [[!tails_ticket 5630]].
[[!toc levels=2]]
<a id="why"></a>
# Why we want reproducible builds
## List of reasons why
......@@ -504,4 +506,91 @@ It also raises technical questions:
# Progress
See [our november report](
See [[our November report|news/report_2016_11]].
# Future work
<a id="recreate-build-environment"></a>
## Make it easy to recreate a given build environment
It would be great if one didn't have to trust a given Vagrant basebox
we published, and could instead build their own. Their resulting basebox
doesn't have to be identical to ours, but it must be similar enough to
produce ISO images that are identical to ours.
<a id="custom-Debian-packages"></a>
## Integrate custom Debian package builds in the automated ISO builds
In our first iteration of reproducible ISO builds, we treat the
content of the Debian package repositories used during the build
process as trusted input. These repositories are of two kinds:
* snapshots of the Debian archive, hosted on our own infrastructure,
and signed server-side by our own key; Tails system administrators have the
power to modify the content of these snapshots; an attacker who
takes control of the relevant server can do the same; this will be
improved later, and is outside of the scope of the work described
in this section;
* our [[custom APT repository|contribute/APT_repository/custom]],
that stores our custom Debian packages; in addition to the people
listed above (system administrators, successful attackers), Tails
developers with commit rights can modify the content of this
repository. The current standard process is that a developer builds
a package locally, and uploads it to our custom APT repository.
This entails a number of problems that we are going to discuss now.
Here are some problems that come with our current handling of custom
Debian packages:
* Each developer needs to set up and maintain a local build
environment for Debian packages. Such error-prone busywork is
best avoided.
* Our custom Debian packages may not build reproducibly across
different developers' systems. So, one can't reproduce the build of
a given ISO unless they use the exact packages that were uploaded
to our custom APT repository. This brings the same
[[set of problems|reproducible_builds#why]] that lead us to make
our ISO image build reproducibly. For example, the state of our Git
tree does not fully define what an ISO built from it will be, which
makes reviewing and auditing harder than it should be.
* Preparing a Tails release requires to build and upload a few
packages by hand. This work is tedious and error-prone, and
increases our time to mitigation for security issues.
* Preparing a Tails release requires special credentials on our
infrastructure, while we are moving towards Git access
being enough.
The way we have chosen to address these problems in the future is to
have our custom Debian packages built automatically, in a reproducible
manner, as part of building a Tails ISO image.
There are a number of open questions:
* Is it better to apply this build process change to _all_ ISO
builds, or only to selected ones, e.g. actual releases?
* Shall the Debian packages built as part of the ISO build be
uploaded, stored and published somewhere? Or should they be
considered as intermediate results we can just throw away after
installing them?
* If we upload these packages, how will they be verified by future
builds using them?
* How exactly shall these custom Debian packages be built? Can we do
this inside the Vagrant build virtual machine?
* What kind of quality assurance process will the built packages go
through? Should it be done as part of the ISO build process, or
instead on our continuous integration platform where the packages
could be re-built (or uploaded) and checked?
Part of this project will therefore be to research and discuss these
topics with the affected parties, and come up with user stories and
with a fitting design.
......@@ -221,7 +221,7 @@ a distribution, keeping references to the packages it contains.
Compared to the "snapshots as full-blown distributions + `reprepro
pull`" option we
[used in our initial experiments](,
[[!tails_ticket 6295#note-14 desc="used in our initial experiments"]],
we are saving _a lot_ on database size, and thus in performance,
because reprepro does less tracking on snapshots, than what it does
for real distributions.
......@@ -244,10 +244,9 @@ uncommitted changes. This behaviour can be controlled by:
The fastest build you could pretend to get can be done by setting:
export TAILS_BUILD_OPTIONS="ram cache extproxy gzipcomp"
export TAILS_BUILD_OPTIONS="ram extproxy gzipcomp"
This will force the build to happen in RAM and allow skipping the
boostrap stage if one is cached, and will use use an HTTP proxy
This will force the build to happen in RAM, and will use use an HTTP proxy
external to the virtual machine, and SquashFS compression will be done
using *gzip*.
[[!meta title="Calendar"]]
* 2017-01-24: Release 2.10 (Firefox 45.7) - anonym is the RM
* 2017-01-23:
- All branches targeting Tails 2.10 *must* be merged into the
`testing` branch by noon, CET.
- The upcoming Tor Browser is hopefully out so we can import it.
- Build and upload Tails 2.10 ISO image and IUKs.
- Hopefully start testing Tails 2.10.
* 2017-01-24:
- Finish testing Tails 2.10 by the end of the afternoon, CET.
- Release Tails 2.10 during late CET.
* 2017-03-07: Release 2.11 (Firefox 45.8, 52.0) - bertagaz is the RM
* 2017-04-18: Release 2.12 (Firefox 45.9, 52.1) - anonym is the RM
* 2017-06-13: Release 3.0? (Firefox 52.2) - anonym is the RM
* 2017-06-13: Release 3.0? (Firefox 52.2) - intrigeri is the RM
* 2017-08-08: Release 3.1? (Firefox 52.3)
- bertagaz is the RM?
......@@ -18,3 +27,5 @@
* 2017-10-03: Release 3.2? (Firefox 52.4) - anonym is the RM
* 2017-11-28: Release 3.3? (Firefox 52.5) - anonym is the RM
* 2018-01-22: Release 3.4? (Firefox 52.6)
......@@ -4,11 +4,11 @@ Agenda
1. Decide if we care about the Pidgin CTCP replies
[[!tails_ticket 6283]]
2. Decide on throw keyids
[[!tails_ticket 6152]]
3. Test suite: retry when tor fails
[[!tails_ticket 5770]]
4. Broken window week
5. Monthly low-hanging fruits meeting?
......@@ -17,8 +17,8 @@ Decide if we care about the Pidgin CTCP replies
### Introduction
* Parent ticket
* [[!tails_ticket 6283]]
* Parent ticket [[!tails_ticket 5823]]
Pidgin responds to PING returning a time duration and VERSION returning
'Purple IRC'.
......@@ -34,8 +34,8 @@ Decide on throw keyids
### Introduction
* Parent ticket
* [[!tails_ticket 6152]]
* Parent ticket [[!tails_ticket 6153]]
--throw-keyids is a GnuPG option that hides the receiver of the encrypted
data as a countermeasure against traffic analysis.
......@@ -56,7 +56,7 @@ Test suite: retry when tor fails
### Introduction
[[!tails_ticket 5770]]
Some scenarios uses the live Tor network, which is not entirely reliable,
so we may get failing scenarios when in fact we just happened to pick a
......@@ -3,7 +3,7 @@
6245: MD5 Reborned Hasher is incompatible with Firefox 20
[[!tails_ticket 6245]]
This ticket should be in Wait state instead of Discuss state. Another ticket has
been created as parent of this one:
......@@ -15,7 +15,7 @@ been created as parent of this one:
6679: Do not auto-connect to the #tor IRC channel
[[!tails_ticket 6679]]
This ticket has been renamed "Remove the preconfigured #tor IRC channel": we
don't auto-join the #tor channel, so the only way to have less people from Tails
......@@ -68,7 +68,7 @@ Press enquiries
- Three people (sajolida, jvoisin, and intrigeri) were convinced by anonym's
[comment #2]( and agreed
[[!tails_ticket 7380#note-2 desc="comment 2"]] and agreed
with rejecting.
- Furthermore as anonym said, we might not want to change how Tails behaves
when opting-out of MAC spoofing, so it would turn the MAC option into a
......@@ -26,12 +26,12 @@
# [[!tails_ticket 8447 desc="Persistent data is not erased when persistence features are disabled"]]
- We acknowledged the proposal from [comment 4](
- We acknowledged the proposal from [[!tails_ticket 8447#note-4 desc="comment 4"]].
- We can't really say "securely delete" on flash media. So that needs rephrasing.
# [[!tails_ticket 8443 desc="Adding a new printer requires administration password"]]
- We acknowledged the proposal from [comment 9](
- We acknowledged the proposal from [[!tails_ticket 8443#note-9 desc="comment 9"]].
- DrWhax will try to do it for 1.3.
# [[!tails_ticket 8510 desc="Reconsider distributing a hybrid ISO image"]]
......@@ -71,6 +71,14 @@ released:
changestool "${CHANGES_FILE}" includeallsources
1. Due to [[!tails_ticket 11531]] we won't be able to push the tag
generated by `gbp` so we have to replace it with a differently
named tag:
NEW_TAG="$(echo ${TAG} | sed 's/%1//')"
git tag -s "${NEW_TAG}" -m "icedove Debian release 1:${VERSION}" "${TAG}"
1. Git push and upload packages:
git push origin "${TAG}" tails/jessie
......@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2016-10-09 02:58+0300\n"
"POT-Creation-Date: 2017-01-15 11:26+0100\n"
"PO-Revision-Date: 2016-03-15 10:36+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <>\n"
......@@ -108,6 +108,12 @@ msgstr "[SubgraphOS]("
msgid "[Whonix]("
msgstr "[Whonix]("
#. type: Bullet: '* '
#, fuzzy
#| msgid "[Whonix]("
msgid "[Heads]("
msgstr "[Whonix]("
#. type: Title ##
#, no-wrap
msgid "Discontinued, abandoned or sleeping projects"
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment