foundations_team.mdwn 10.2 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[[!meta title="Foundations Team"]]

[[!toc levels=2]]

<a id="duties"></a>

# Duties

The Tails Foundations Team is responsible for:

* maintaining the core Tails system, which includes e.g.
  - porting Tails to the new version of its upstream foundations, such
    as a new Debian, Tor or Tor Browser;
  - keeping our core code base up-to-date and maintainable, e.g.
    refactor or clean up stuff that has bit-rotted, migrate code that
    would otherwise rely on obsolete technologies;
  - maintaining the ISO build system;
  - doing the _extra_ peer-review and
    [[release management|release manager]] work that corresponds to
    the above bullet points;

22
* welcoming and mentoring new code contributors;
23

intrigeri's avatar
intrigeri committed
24
25
26
27
* reviewing code contributions
  in a timely manner (1 week in general, up to 2 weeks if needed in exceptional
  cases). If nobody on the Foundations Team can take care of a given MR,
  it's the Foundations Team's responsibility to ask for help:
intrigeri's avatar
intrigeri committed
28
29
30
31
  - [[!tails_gitlab groups/tails/-/merge_requests desc="Merge Requests (MRs)"]],
    and in particular
    [[!tails_gitlab groups/tails/-/merge_requests?scope=all&utf8=✓&state=opened&assignee_id=None
    desc="unassigned Merge Requests (MRs)"]]
intrigeri's avatar
intrigeri committed
32
33
  - [[!tails_gitlab groups/tails/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name%5B%5D=Needs%20Validation
    desc="issues with the _Needs Validation_ label"]]
34
35
36
37
38
39
40

* checking how important each issue forwarded by Help Desk is, whether
  it's worth documenting it, and validating the workarounds. If it's
  worth documenting the problem and possibly the workarounds, either
  put it on our Technical Writers' plate, or draft something directly,
  or merge a draft proposed by Technical Writer apprentices;

intrigeri's avatar
intrigeri committed
41
42
43
* triaging
  [newly created issues](https://gitlab.tails.boum.org/groups/tails/-/issues?scope=all&utf8=%E2%9C%93&state=opened&not[label_name][]=To%20Do&not[label_name][]=Doing&not[label_name][]=Needs%20Validation)
  when they are more technical than feature
44
  request (those are handled by the UX designers) or about bugs;
45
  reassigning to whoever is on Help Desk duty any new issue that's
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  really a support request;

* ensuring that development discussions started on
  <tails-dev@boum.org> are followed-up;

* proposing a release schedule for next year once Mozilla's own
  schedule is available (generally during Q3), ensuring everyone
  affected is aware of it and OK with it (e.g. team managers for
  sponsor deliverables), leading this discussion to a conclusion,
  updating the [[contribute/calendar]] accordingly, and asking
  <tails-rm@boum.org> to decide between themselves how they will share
  the [[roles/release_manager]] shifts; things to keep in mind:

  - An emergency release is often needed shortly after [[!wikipedia Pwn2Own]].

* deal with last minute emergency fixes needed during release process,
  e.g. [[!tails_ticket 14962]];

* if time allows, do whatever code task the project sees as
  top-priority, such as fixing Holes in the Roof, important bugs, or
  implementing a feature that is needed to keep Tails relevant.

* Maintain Tails relevant Debian packages in Debian
  - as long as we ship these packages in Tails
  - until the EOL of the last Debian stable release (including
    LTS) we put it in, even if we drop the package from Tails:
    including a package in a stable Debian release implies
    a commitment to maintain it during its lifetime.
74
  - [Maintain a bunch of packages](https://udd.debian.org/dmd/?email1=&email2=&email3=&packages=libgsecuredelete+libotr+mat+nautilus-wipe+onioncircuits+onionshare+pidgin-otr+seahorse-nautilus+torsocks&ignpackages=&format=html#todo).
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  - [Review and sponsor a few more packages](https://udd.debian.org/dmd/?email1=&email2=&email3=&packages=bilibop+keyringer&ignpackages=&format=html#todo).
  - Track bugs related to these packages in Tails and forward them to
    Debian.
  - Track Debian bugs and forward them upstream.
  - Not in the scope of this work:
    * [Debian AppArmor team](https://qa.debian.org/developer.php?email=pkg-apparmor-team%40lists.alioth.debian.org)'s packages:
    * Perl libraries our custom software depends on: intrigeri does it
      with his Debian hat.
    * [[!debpts torbrowser-launcher]]: we only use its AppArmor
      profiles, that we could easily take from upstream if the Debian
      package was not maintained.

<a id="meetings"></a>

# Meetings

Each month the Tails Foundations Team gathers for an online meeting.

- **Date**:
  - The **3rd** day of the month if it's a day between Monday and
    Thursday (inclusive)
  - The **6th** day of the month otherwise
- **Time**: 16:00 Berlin time (14:00 or 15:00 UTC, depending on the date)
- **Location**: [[`tails-meeting` XMPP chatroom|contribute/chat]]

As a Foundations Team member, if you cannot make one of these
meetings, please send the team before the meeting:

103
 - a brief status update about life, work and issues;
104
105
106
107
108
109
110
111
112
113
 - information about how much more or less work you want for the
   following month(s).

 People only maintaining Debian packages but not doing any other work in
 the team are not required to attend the meeting.

<a id="tasks-management"></a>

# Tasks management

114
115
This section documents the principles and guidelines we use for tracking
[[!tails_gitlab
intrigeri's avatar
intrigeri committed
116
tails/tails/-/boards/4?&label_name%5B%5D=Core%20Work%3AFoundations%20Team
117
desc="our tasks"]].
118
119
120
121

This applies on top of the broader Tails project's tasks management
guidelines:

122
 - [[contribute/working_together/GitLab]]
intrigeri's avatar
intrigeri committed
123
 - [[How to document progress|contribute/working_together/GitLab#document-progress]]
124

125
<a id="tasks-management-milestone"></a>
126
127
<a id="tasks-management-target-version"></a>

128
## Milestone
129

130
The Foundation Team treats the _Milestone_ field as a commitment.
131
132
133
Other Tails teams, contributors, and users should be able to rely on
the value of this field.

134
135
An issue
[[!tails_gitlab
intrigeri's avatar
intrigeri committed
136
tails/tails/-/boards/4?&label_name%5B%5D=Core%20Work%3AFoundations%20Team
137
desc="owned by the Foundations Team"]]
intrigeri's avatar
intrigeri committed
138
should have a milestone set if, and only if, at least
139
140
141
142
143
144
145
146
147
148
149
150
one of these conditions is met:

 - External constraints determine the timeline of our work.
   For example, we have to upgrade to the next Tor Browser
   major release.

 - We are _very_ confident we will complete the task in time for
   a specific release and we have a good reason to focus on it.
   For example, work in progress tasks can be good candidates,
   as opposed to starting work on a new task.

 - The task is on the Tails [[!tails_roadmap]]. In this case, the
intrigeri's avatar
intrigeri committed
151
   milestone should be a year, unless one of the above
152
153
   conditions makes us target a specific release.

intrigeri's avatar
intrigeri committed
154
Postponing a task to the next milestone more than once is not
155
156
157
158
business as usual  it's a red flag. Such a change should be
justified. The underlying problem should be identified and addressed:
for example, the assignee might need help or be over-committed; the
team could be under-staffed; or perhaps the task should simply not
intrigeri's avatar
intrigeri committed
159
have any milestone in the first place.
160
161
162
163
164

<a id="tasks-management-assignee"></a>

## Assignee

165
See [[contribute/working_together/GitLab#assignee]].
166

167
168
169
170
<a id="tasks-management-ux-improvements"></a>

## UX improvements

171
Our [[UX designers|roles/ux]] maintain a
intrigeri's avatar
intrigeri committed
172
[[!tails_gitlab groups/tails/-/issues?scope=all&utf8=✓&state=opened&label_name%5B%5D=UX%3Adebt
173
desc="list of UX improvements"]] that would be welcome,
intrigeri's avatar
intrigeri committed
174
using the "UX:debt" label.
175
176

From time to time, some Foundations Team members meet with UX
177
designers and do a value/cost analysis of these issues. Then, those
178
with the best value/cost, that we can work on without waiting for lots
179
of UX design work to be done, are added to
intrigeri's avatar
intrigeri committed
180
[[!tails_gitlab groups/tails/-/issues?scope=all&utf8=✓&state=opened&label_name%5B%5D=Core%20Work%3AFoundations%20Team&label_name%5B%5D=UX%3Adebt
181
desc="our list of tasks"]].
182
183
184
That is, working on them automatically qualifies as Foundations Team work.

In general, before looking for other UX improvements we could work on,
185
we should first focus on these selected issues and on the most
186
187
188
important or urgent of our other [[duties|foundations_team#duties]].

Still, while keeping this in mind, you might personally be
intrigeri's avatar
intrigeri committed
189
particularly interested in working on an issue that has the "UX:debt" label,
190
but that was not added to our plate yet.
191
It is an option to turn one such issue into Foundations Team work,
192
provided a few conditions are met.
193

194
The Foundations Team lead maintains a list of issues that meet
195
196
197
198
199
these conditions:

 - [[!tails_ticket 6084]]
 - [[!tails_ticket 8061]]
 - [[!tails_ticket 15028]]
200

201
You can check yourself if a particular issue meets all these
202
203
conditions:

intrigeri's avatar
intrigeri committed
204
 - Our UX designers added the `UX:debt` label.
205
206
207
208

 - It is possible work on it without waiting for lots of UX work to be done first.
   To determine whether that's the case:
    - Look at the "UX" cost column in the spreadsheet attached to
209
      [[!tails_ticket 14544]]. An issue with a UX cost of 2 or more
210
211
212
213
214
215
      probably does not qualify.
    - In doubt, ask our UX designers.

 - The P×S/Cdev value is 1.0 or greater, in the spreadsheet that's
   attached to [[!tails_ticket 14544]].

216
When you start working on such an issue:
217
218
219
220

 - Assign it to yourself.

 - Notify our [[UX designers|roles/ux]] with a `@sajolida` mention on
221
   the issue: then they can explain what kind of work they have to do
222
223
   before you can complete your part of the work.

intrigeri's avatar
intrigeri committed
224
225
226
227
228
229
<a id="tasks-management-useful-links"></a>

## Useful links

 - [[!tails_gitlab
   tails/tails/-/boards/4?&label_name%5B%5D=Core%20Work%3AFoundations%20Team&milestone_title=%23upcoming
intrigeri's avatar
intrigeri committed
230
231
   desc="Board: our tasks scheduled for the upcoming milestone"]]

intrigeri's avatar
intrigeri committed
232
233
 - [[!tails_gitlab
   tails/tails/-/boards/4?&label_name%5B%5D=Core%20Work%3AFoundations%20Team&milestone_title=%23started
intrigeri's avatar
intrigeri committed
234
   desc="Board: our tasks scheduled for any started milestone"]]
intrigeri's avatar
intrigeri committed
235

236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# Internal tools

## Team mailing list

Foundations Team members are on the <tails-foundations@boum.org>
Schleuder mailing list.

## Private Git repository

To set it up:

1. Install needed tools

        apt install git-remote-gcrypt

2. Clone it the repo

        git clone gcrypt::git@gitlab-ssh.tails.boum.org:tails/foundations.git

3. Follow the setup documentation: `README.md` in the Git repository.

257
258
259
260
261
262
263
<a id="contact"></a>

# Contact

To get in touch with the Foundations Team, write to
<tails-foundations@boum.org>.

intrigeri's avatar
intrigeri committed
264
You can encrypt your email with our [[OpenPGP key|tails-foundations.key]]
265
([[details|doc/about/openpgp_keys#foundations]]).