﻿1
00:00:05,640 --> 00:00:09,240
Thank you for coming with us! So...

2
00:00:10,820 --> 00:00:14,420
How many have heard about the Google Summer of Code?

3
00:00:16,460 --> 00:00:16,530
introducing more about what is it and

4
00:00:16,530 --> 00:00:18,730
All right. Already, if you are not aware, I could be
introducing more about what is it and

5
00:00:18,730 --> 00:00:18,840
and then talk more about what we are going
All right. Already, if you are not aware, I could be

6
00:00:18,840 --> 00:00:22,710
and then talk more about what we are going

7
00:00:22,710 --> 00:00:26,730
to do in the session. So, can you raise the hand

8
00:00:26,730 --> 00:00:30,420
if you are already aware of the Google Summer of Code?

9
00:00:32,420 --> 00:00:34,840
ON.

10
00:00:36,510 --> 00:00:38,880
Thank you - I think most of you are aware,

11
00:00:38,880 --> 00:00:40,880
it's bringing the student developers

12
00:00:40,880 --> 00:00:43,710
into the open source community, it's all about that

13
00:00:43,710 --> 00:00:47,280
So, the session is going to be

14
00:00:47,280 --> 00:00:49,930
 mostly the students introducing their projects

15
00:00:49,930 --> 00:00:53,200
and getting the feedback, and discussing with their mentors.

16
00:00:53,200 --> 00:00:56,330
If they are getting any questions from IRC, they can discuss

17
00:00:56,330 --> 00:00:59,750
How they can improve the project in their

18
00:00:59,750 --> 00:01:01,750
...Their ongoing projects.

19
00:01:03,400 --> 00:01:06,730
 OK. so let me introduce about myself. I am Jaminy,

20
00:01:06,730 --> 00:01:09,950
So, I come from Sri Lanka

21
00:01:09,950 --> 00:01:13,330
I am one of the coordinators for

22
00:01:13,330 --> 00:01:16,220
Google Summer of Code with Debian

23
00:01:16,220 --> 00:01:20,080
So, Debian has been participating in the Google Summer of Code

24
00:01:20,080 --> 00:01:22,080
from 2005, and

25
00:01:22,080 --> 00:01:25,000
it has been 13 years it has been participating,

26
00:01:25,060 --> 00:01:27,600
and we had a break in 2017

27
00:01:27,600 --> 00:01:31,130
and now we are back in 2018 with Google Summer of Code

28
00:01:33,370 --> 00:01:36,570
and these are the teams for GSoC coordination

29
00:01:36,570 --> 00:01:38,570
I am representing the team

30
00:01:38,570 --> 00:01:42,480
Daniel Pocock, Alexander, and it's me

31
00:01:44,480 --> 00:01:48,330
This year, we have accepted 25 students

32
00:01:48,330 --> 00:01:51,730
And that's the link for the projects

33
00:01:51,730 --> 00:01:54,370
that are ongoing this year

34
00:02:00,130 --> 00:02:03,800
 So, there is an interesting GSoC statistic this year

35
00:02:03,840 --> 00:02:06,200
this year we have selected

36
00:02:06,200 --> 00:02:09,400
I mean, this was from the Google Open Source blog,

37
00:02:09,400 --> 00:02:12,400
and they said there are three students

38
00:02:12,400 --> 00:02:14,400
Four students accepted from Kosovo

39
00:02:14,400 --> 00:02:16,400
And...

40
00:02:17,130 --> 00:02:20,910
The three students are from our Debian community, and they are here joining us

41
00:02:20,910 --> 00:02:22,280
joining with us,

42
00:02:22,280 --> 00:02:25,310
to introduce more about their project

43
00:02:25,310 --> 00:02:28,150
I hope that, without wasting more time,

44
00:02:28,150 --> 00:02:31,220
I could give the chance for the students to introduce,

45
00:02:31,220 --> 00:02:33,220
to talk more about their projects.

46
00:02:33,220 --> 00:02:35,220
Arthur, can you...

47
00:02:37,620 --> 00:02:41,330
[ audience clapping ]

48
00:02:50,480 --> 00:02:52,910
 So, you hear me? OK?

49
00:02:55,910 --> 00:02:57,730
Yes? Nice.

50
00:02:57,730 --> 00:03:00,170
So...

51
00:03:00,170 --> 00:03:03,060
Hello, my name is Arthur del Esposto

52
00:03:03,060 --> 00:03:05,280
I am going to talk about my GSoC project

53
00:03:05,280 --> 00:03:08,370
that is titled "Improving Distro Tracker to better support Debian teams"

54
00:03:09,110 --> 00:03:12,170
My mentor is Lucas Kanashiro and my co-mentor is Raphael Hertzog.

55
00:03:14,020 --> 00:03:16,880
I will provide you some context about why we are doing this.

56
00:03:17,570 --> 00:03:18,640
So, basically,

57
00:03:18,640 --> 00:03:22,130
Debian teams used to rely on Packages Entropy Tracker

58
00:03:22,260 --> 00:03:24,640
with the assistance that basically got some information about

59
00:03:26,420 --> 00:03:29,150
the package from Debian, from Alioth,

60
00:03:29,150 --> 00:03:31,910
and display some kind of information

61
00:03:32,020 --> 00:03:36,220
inside tables and some categories.

62
00:03:37,820 --> 00:03:41,130
And we also had inside our Debiani infrastructure

63
00:03:41,130 --> 00:03:44,370
the tracker.debian.org, which you probably have used before,

64
00:03:44,420 --> 00:03:49,200
that basically gathers the same sort of information from several sources inside Debian

65
00:03:49,200 --> 00:03:54,040
and puts this in a Web application.

66
00:03:54,040 --> 00:03:56,040
So, for example, you have the base

67
00:03:56,040 --> 00:03:58,040
of a specific package, the Web defaults,

68
00:03:58,040 --> 00:04:00,930
and you can get all the information related to that package.

69
00:04:01,460 --> 00:04:03,770
And what we want to do, because...

70
00:04:03,770 --> 00:04:07,860
that has not been maintained anymore

71
00:04:07,860 --> 00:04:10,280
and also, we used to try the

72
00:04:10,280 --> 00:04:12,280
package opposed to understand Alioth.

73
00:04:12,280 --> 00:04:14,480
 And what we really want to do

74
00:04:14,480 --> 00:04:16,640
is just, maintainers who support a team

75
00:04:16,680 --> 00:04:18,600
should their health of their packages

76
00:04:18,640 --> 00:04:21,240
and to prioritize their work efforts

77
00:04:21,240 --> 00:04:23,020
by migrating the PET features

78
00:04:23,020 --> 00:04:25,020
to Distro Tracker, and also

79
00:04:25,020 --> 00:04:27,600
we want to track Salsa repositories instead of Alioth.

80
00:04:28,530 --> 00:04:30,710
So, what are the results we have so far?

81
00:04:31,400 --> 00:04:32,220
So, basically...

82
00:04:32,220 --> 00:04:34,220
if you enter a team page,

83
00:04:34,220 --> 00:04:36,220
of anything inside Distro Tracker

84
00:04:36,220 --> 00:04:38,220
you are going to get this kind of table

85
00:04:38,220 --> 00:04:40,220
so basically you have the first column

86
00:04:40,220 --> 00:04:42,220
with the package name

87
00:04:42,220 --> 00:04:44,220
the second column with the changelog version

88
00:04:44,220 --> 00:04:46,220
and the VCS of that package,

89
00:04:46,220 --> 00:04:48,220
the third column with the archive version,

90
00:04:48,220 --> 00:04:50,220
we also are tracking the bugs here

91
00:04:50,220 --> 00:04:52,220
and the last column

92
00:04:52,220 --> 00:04:54,220
has the upstream version.

93
00:04:54,220 --> 00:04:56,060
OK, of this package.

94
00:04:56,080 --> 00:04:59,910
And, another interesting feature

95
00:04:59,910 --> 00:05:01,910
that we are providing you is that if

96
00:05:01,910 --> 00:05:03,910
you pass the mouse over

97
00:05:03,910 --> 00:05:05,910
one of those fields, you are going to get

98
00:05:05,910 --> 00:05:08,510
more detailed information about that specific field.

99
00:05:08,510 --> 00:05:10,510
OK, so for example here we have

100
00:05:10,510 --> 00:05:13,440
the information links to BTS

101
00:05:13,440 --> 00:05:15,440
related to the bugs

102
00:05:15,440 --> 00:05:17,440
that exist for the package.

103
00:05:19,440 --> 00:05:22,800
We also provide some categories

104
00:05:22,800 --> 00:05:24,800
so basically we could have

105
00:05:24,800 --> 00:05:26,800
more than one category of package tables

106
00:05:26,800 --> 00:05:28,800
for example, you could have like

107
00:05:28,800 --> 00:05:30,800
packages with RC bugs,

108
00:05:30,800 --> 00:05:32,800
packages that have a new version

109
00:05:32,800 --> 00:05:34,800
in the upstream, and we have

110
00:05:34,800 --> 00:05:36,800
specific pages where each of these

111
00:05:36,800 --> 00:05:38,800
package tables. OK?

112
00:05:38,800 --> 00:05:40,800
And we have

113
00:05:40,800 --> 00:05:42,800
a large number of teams

114
00:05:42,800 --> 00:05:44,800
inside Debian, inside this specific --

115
00:05:44,800 --> 00:05:46,800
specifically inside the Distro Tracker,

116
00:05:46,800 --> 00:05:48,800
so we also provide this

117
00:05:48,800 --> 00:05:50,800
autocomplete text field

118
00:05:50,800 --> 00:05:52,800
so you can easily find

119
00:05:52,800 --> 00:05:55,660
your team, the team that you are interested in.

120
00:05:56,840 --> 00:05:58,260
And...

121
00:05:58,260 --> 00:06:01,330
that was my resource, and so far we have

122
00:06:01,330 --> 00:06:03,330
faced some challenges,

123
00:06:03,330 --> 00:06:05,330
first is that Distro Tracker

124
00:06:05,330 --> 00:06:07,860
has a generic purpose architecture

125
00:06:07,860 --> 00:06:10,480
because it should be used by several

126
00:06:10,480 --> 00:06:12,480
distros, so it's also being

127
00:06:12,480 --> 00:06:14,480
used by the Kali communoity, so basically

128
00:06:14,480 --> 00:06:16,480
everything you have to do hou have to make it

129
00:06:16,480 --> 00:06:18,480
extensible, to design it to

130
00:06:18,480 --> 00:06:20,480
be extensible by this specific application

131
00:06:20,480 --> 00:06:22,770
that implements that specific features from

132
00:06:22,770 --> 00:06:25,660
their distros.

133
00:06:25,660 --> 00:06:28,220
Also, the database design is challenging, because

134
00:06:28,220 --> 00:06:31,440
we have to collect all this data from several

135
00:06:31,440 --> 00:06:33,860
database tables

136
00:06:33,860 --> 00:06:37,350
and some of these

137
00:06:37,350 --> 00:06:41,060
context is realized in JSON fields inside the database

138
00:06:41,110 --> 00:06:43,310
so it's not easy to get these. And also,

139
00:06:43,310 --> 00:06:45,310
we have faced some problems,

140
00:06:45,310 --> 00:06:47,310
some performance problems, because we are

141
00:06:47,310 --> 00:06:49,310
we are handling a large number of table cells

142
00:06:49,310 --> 00:06:51,310
dynamically, so basically we are building

143
00:06:51,310 --> 00:06:53,310
it of these table cells

144
00:06:53,310 --> 00:06:55,310
in run time.

145
00:06:57,310 --> 00:07:00,280
And, until the end of GSoC, I plan to

146
00:07:00,280 --> 00:07:02,280
create a cache mechanism, I am already

147
00:07:02,280 --> 00:07:04,280
working on that, proposed a merge request on it,

148
00:07:04,280 --> 00:07:06,860
to try to improve the performance of

149
00:07:06,860 --> 00:07:08,860
table rendering

150
00:07:08,860 --> 00:07:10,860
I also want to have all my

151
00:07:10,860 --> 00:07:14,570
merge requests accepted

152
00:07:14,570 --> 00:07:16,570
inside Salsa

153
00:07:16,570 --> 00:07:18,570
We also want to provide more

154
00:07:18,570 --> 00:07:21,110
package tables with new categories

155
00:07:21,110 --> 00:07:24,110
and also provide a new feature that

156
00:07:24,110 --> 00:07:26,110
you could be able to sort the team

157
00:07:26,110 --> 00:07:28,110
for content based on columns, for example

158
00:07:28,110 --> 00:07:30,110
I want to sort my

159
00:07:30,110 --> 00:07:32,110
my table based on

160
00:07:32,110 --> 00:07:34,110
on the number of bugs, for example.

161
00:07:35,660 --> 00:07:37,750
And there is also that we

162
00:07:37,750 --> 00:07:39,750
got good results so far, and

163
00:07:39,750 --> 00:07:42,420
I have received valuable feedback from the Debian community

164
00:07:42,420 --> 00:07:44,420
and I have a lot of ideas to continue

165
00:07:44,420 --> 00:07:46,420
working on this after the GSoC as well

166
00:07:46,420 --> 00:07:48,420
The GSoC has been

167
00:07:48,420 --> 00:07:50,420
an amazing experience, I have been learning a lot,

168
00:07:50,420 --> 00:07:53,840
which Kanashiro has had to log all the [?]

169
00:07:53,840 --> 00:07:56,680
I look into contributing to Debian

170
00:07:56,680 --> 00:07:58,680
of course

171
00:07:58,680 --> 00:08:01,150
Thank you to the Debian community to

172
00:08:01,150 --> 00:08:03,620
provide me this opportunity to come here to DebConf

173
00:08:03,660 --> 00:08:04,970
to present my work.

174
00:08:04,970 --> 00:08:07,660
Lets get moving on, and thanks.

175
00:08:07,660 --> 00:08:11,200
[ audience clapping ]

176
00:08:22,620 --> 00:08:24,620
testing, 2, 3, testing...

177
00:08:30,080 --> 00:08:32,440
So, my project is called

178
00:08:32,440 --> 00:08:34,440
"Port Kali Packages to Debian"

179
00:08:34,440 --> 00:08:37,550
and my mentors are Raphaël Hertzog

180
00:08:37,550 --> 00:08:39,550
and Gianfranco Costamagna.

181
00:08:39,550 --> 00:08:42,280
Unfortunately, they didn't come to

182
00:08:42,280 --> 00:08:44,280
this year's DebConf, and

183
00:08:46,280 --> 00:08:48,570
we are from the pkg-security

184
00:08:48,570 --> 00:08:50,570
tools packaging team, so this is

185
00:08:50,570 --> 00:08:52,570
something I have been working on

186
00:08:52,570 --> 00:08:55,170
for the past one year and a half

187
00:08:55,170 --> 00:08:57,170
I think I started packaging

188
00:08:57,170 --> 00:08:59,170
on 2016

189
00:08:59,170 --> 00:09:01,170
and in 2017 I started

190
00:09:01,170 --> 00:09:03,170
working on the security tools packaging

191
00:09:03,170 --> 00:09:05,170
because this is something that really

192
00:09:05,170 --> 00:09:07,170
interests me, so

193
00:09:07,170 --> 00:09:09,170
What actually is Kali Linux?

194
00:09:09,170 --> 00:09:11,170
Kali Linux is a digital

195
00:09:11,170 --> 00:09:13,170
forensics and pentesting distribution

196
00:09:13,170 --> 00:09:15,170
that has like lots of packages

197
00:09:15,170 --> 00:09:17,170
is by far

198
00:09:17,170 --> 00:09:19,170
the most used distribution

199
00:09:19,170 --> 00:09:21,970
for "capture-the-flag" competitions

200
00:09:21,970 --> 00:09:24,220
and is based on unstable

201
00:09:24,220 --> 00:09:26,220
and the thing is that Kali has

202
00:09:26,220 --> 00:09:28,220
a more relaxed policy

203
00:09:28,220 --> 00:09:30,220
than Debian's, so that's the reason

204
00:09:30,220 --> 00:09:32,220
of the

205
00:09:32,220 --> 00:09:34,220
differences between the packages

206
00:09:34,220 --> 00:09:37,440
I mean, the packages that Kali has and Debian hasn't

207
00:09:37,440 --> 00:09:39,440
so, at first

208
00:09:39,440 --> 00:09:41,440
I did gather some information about

209
00:09:41,440 --> 00:09:43,930
what packages can I work on

210
00:09:43,930 --> 00:09:45,930
and what are the problems

211
00:09:45,930 --> 00:09:47,930
that it should rather get them on Main

212
00:09:47,930 --> 00:09:49,930
So, I first started using

213
00:09:49,930 --> 00:09:51,930
this dashboard from Kali Linux, and they have

214
00:09:51,930 --> 00:09:54,220
also used package

215
00:09:54,220 --> 00:09:56,680
the tracker system that we use on Debian

216
00:09:56,680 --> 00:09:58,680
and this is a special dashboard

217
00:09:58,680 --> 00:10:00,680
where we can see how many

218
00:10:00,680 --> 00:10:02,680
packages are on Kali Linux that

219
00:10:02,680 --> 00:10:04,680
aren't on Debian

220
00:10:04,680 --> 00:10:06,680
at the time, and this is for today, so there are

221
00:10:06,680 --> 00:10:08,680
477 packages

222
00:10:08,680 --> 00:10:10,680
but this includes dependencies

223
00:10:10,680 --> 00:10:12,680
and lots of packages are not

224
00:10:12,680 --> 00:10:14,680
that really important, and

225
00:10:14,680 --> 00:10:17,260
some of them are not installed by default on Kali

226
00:10:18,550 --> 00:10:20,170
So, the first thing,

227
00:10:20,170 --> 00:10:21,530
I already knew some packages that

228
00:10:21,530 --> 00:10:23,530
I really would like to see on Debian, and

229
00:10:23,530 --> 00:10:25,530
the first one was Metasploit

230
00:10:25,530 --> 00:10:27,820
because it's one of the most used

231
00:10:27,820 --> 00:10:29,820
frameworks for pentesting

232
00:10:29,820 --> 00:10:31,820
I have started by looking at

233
00:10:31,820 --> 00:10:33,820
what should I do

234
00:10:33,820 --> 00:10:35,820
and it was a really tough job

235
00:10:35,820 --> 00:10:38,060
because Metasploit is currently

236
00:10:38,060 --> 00:10:40,060
bundling all their gem dependencies

237
00:10:40,060 --> 00:10:42,440
Because of, this is a huge problem

238
00:10:42,440 --> 00:10:43,620
there was a big discussion

239
00:10:43,620 --> 00:10:45,260
n the Debian mailing lists about that,

240
00:10:45,260 --> 00:10:47,260
but whatever, I use repology

241
00:10:47,260 --> 00:10:49,260
in order to see what distros

242
00:10:49,260 --> 00:10:51,260
were already packaging this stuff

243
00:10:51,260 --> 00:10:53,260
and at the end, there should

244
00:10:53,260 --> 00:10:55,260
be around 40 packages

245
00:10:55,260 --> 00:10:57,260
that I had to package in order

246
00:10:57,260 --> 00:10:59,260
to see if it would work, because

247
00:10:59,260 --> 00:11:01,260
you have the version problem, because

248
00:11:01,260 --> 00:11:03,260
bundling the distro version, and

249
00:11:03,260 --> 00:11:05,260
we decided not to do that

250
00:11:05,260 --> 00:11:07,260
during this project, so I

251
00:11:07,260 --> 00:11:09,260
had to look for other packages

252
00:11:09,260 --> 00:11:11,260
and I didn't want to

253
00:11:11,260 --> 00:11:13,260
do this manually, so I

254
00:11:13,260 --> 00:11:15,260
developed a

255
00:11:15,260 --> 00:11:17,260
kind of big shell script

256
00:11:17,260 --> 00:11:19,060
it shouldn't be a shell script, it should be in

257
00:11:19,110 --> 00:11:20,880
a programming language, but

258
00:11:20,880 --> 00:11:22,880
got big worked on, and to this

259
00:11:22,880 --> 00:11:24,880
scripts I give

260
00:11:24,880 --> 00:11:26,600
I input it a list of packages, and it

261
00:11:26,600 --> 00:11:29,130
cloned all the Kali

262
00:11:29,130 --> 00:11:31,130
Git repositories for this package,

263
00:11:31,130 --> 00:11:33,130
build each one of them, and did

264
00:11:33,130 --> 00:11:35,130
some basic checks, like if

265
00:11:35,130 --> 00:11:37,130
it is a default

266
00:11:37,130 --> 00:11:39,130
Kali package, it's

267
00:11:39,130 --> 00:11:41,130
buildable, because some of the packages

268
00:11:41,130 --> 00:11:43,130
are not buildable because we don't have

269
00:11:43,130 --> 00:11:45,130
the build dependencies in Debian right now,

270
00:11:45,130 --> 00:11:47,130
it checks if it is DEP5 compliant already,

271
00:11:47,130 --> 00:11:49,130
if we need manpages, if we need

272
00:11:49,130 --> 00:11:51,130
hardening, if

273
00:11:51,130 --> 00:11:53,130
it is bundling some gems, and if

274
00:11:53,130 --> 00:11:55,130
there are [?], there is about

275
00:11:55,130 --> 00:11:57,130
twenty or thirty something

276
00:11:57,130 --> 00:11:59,130
columns on here

277
00:11:59,130 --> 00:12:01,130
so you have lots of info

278
00:12:01,130 --> 00:12:03,130
and in order to know

279
00:12:03,130 --> 00:12:05,600
which are the most important issues

280
00:12:05,600 --> 00:12:07,600
Raphaël gave me the idea to

281
00:12:07,600 --> 00:12:09,600
look for the number of uploads that

282
00:12:09,600 --> 00:12:11,600
the package had since

283
00:12:11,600 --> 00:12:13,600
it hit Kali, so I

284
00:12:13,600 --> 00:12:15,600
can only

285
00:12:15,600 --> 00:12:17,600
just sort for the number of uploads

286
00:12:17,600 --> 00:12:19,600
and I have the most important ones.

287
00:12:19,600 --> 00:12:22,080
This made the process

288
00:12:22,080 --> 00:12:24,080
really easy, like a lot more

289
00:12:24,080 --> 00:12:26,080
easy, and I

290
00:12:26,080 --> 00:12:28,080
am publishing this on our team's

291
00:12:28,080 --> 00:12:30,080
wiki page, and I will keep using this

292
00:12:30,080 --> 00:12:32,080
like, forever

293
00:12:32,080 --> 00:12:34,080
because it really helps other people that

294
00:12:34,080 --> 00:12:36,080
want to contribute to our team, and

295
00:12:38,080 --> 00:12:40,530
this is another software

296
00:12:40,530 --> 00:12:42,530
that I tried, how many time do I have?

297
00:12:42,530 --> 00:12:44,530
OK

298
00:12:44,530 --> 00:12:46,530
another package that I really want to

299
00:12:46,530 --> 00:12:48,530
see on Debian is zaproxy, and

300
00:12:48,530 --> 00:12:50,530
for zaproxy,

301
00:12:50,530 --> 00:12:52,530
I had to do a manual checking, because it is

302
00:12:52,530 --> 00:12:54,530
a Java program, and

303
00:12:55,400 --> 00:12:57,970
Java has... I really don't like Java, so

304
00:12:57,970 --> 00:12:59,970
they bundle like

305
00:12:59,970 --> 00:13:01,970
...zaproxy is great software, but

306
00:13:01,970 --> 00:13:03,970
they bundle some

307
00:13:03,970 --> 00:13:05,970
libraries, and I

308
00:13:05,970 --> 00:13:07,970
talked to upstream, and they are very

309
00:13:07,970 --> 00:13:09,970
receptive, and they

310
00:13:09,970 --> 00:13:11,970
want to help us, but

311
00:13:11,970 --> 00:13:14,540
I didn't manage to package it yet,

312
00:13:14,540 --> 00:13:16,940
I think I will do it after GSoC

313
00:13:16,940 --> 00:13:18,940
but there are

314
00:13:18,940 --> 00:13:20,940
some packages that we need to introduce

315
00:13:20,940 --> 00:13:22,940
on Debian. Some of the packages that zaproxy

316
00:13:22,940 --> 00:13:24,940
upstream is thinking about

317
00:13:24,940 --> 00:13:26,940
dropping, and putting just

318
00:13:26,940 --> 00:13:28,740
on the extensions, because

319
00:13:28,740 --> 00:13:28,940
the core doesn't need them,
on the extensions, because

320
00:13:28,940 --> 00:13:30,940
the core doesn't need them,

321
00:13:30,940 --> 00:13:32,940
and some

322
00:13:32,940 --> 00:13:34,940
of the packages are old, and stuff like that,

323
00:13:34,940 --> 00:13:36,940
we have

324
00:13:36,940 --> 00:13:38,940
there is a lot of problems you can have

325
00:13:38,940 --> 00:13:40,940
like... there was a

326
00:13:40,940 --> 00:13:43,680
package which was GPL licensed

327
00:13:43,680 --> 00:13:45,680
but it was linking against

328
00:13:45,680 --> 00:13:47,680
OpenSSL, and in order

329
00:13:47,680 --> 00:13:49,680
to do that, you need to either add

330
00:13:49,680 --> 00:13:51,680
the exemption to your license

331
00:13:51,680 --> 00:13:53,680
like, talk to upstream, and

332
00:13:53,680 --> 00:13:55,680
it cooperative upstream,

333
00:13:55,680 --> 00:13:57,680
it is a software which is used

334
00:13:57,680 --> 00:13:59,680
to break

335
00:13:59,680 --> 00:14:01,680
WiFi password,

336
00:14:01,680 --> 00:14:03,680
like, doing offline cracking

337
00:14:03,680 --> 00:14:05,680
and upsream decided to change its license

338
00:14:05,680 --> 00:14:07,680
to BSD license

339
00:14:07,680 --> 00:14:09,680
so we could release that on Debian. I

340
00:14:09,680 --> 00:14:11,680
can't remember right now if it's on the NEW queue

341
00:14:11,680 --> 00:14:13,680
or if it already hit

342
00:14:13,680 --> 00:14:15,680
unstable, but I think is on the NEW queue.

343
00:14:17,680 --> 00:14:19,680
So, in the end,

344
00:14:19,680 --> 00:14:21,680
the results are, I made the script,

345
00:14:21,680 --> 00:14:23,680
which is going to be used by

346
00:14:23,680 --> 00:14:25,680
some time. There are some

347
00:14:25,680 --> 00:14:27,480
fixes that can be

348
00:14:27,480 --> 00:14:27,680
can, that will
fixes that can be

349
00:14:27,680 --> 00:14:29,680
can, that will

350
00:14:29,680 --> 00:14:31,680
have to do on the script to make it better

351
00:14:31,680 --> 00:14:33,680
to make the checking better, because

352
00:14:33,680 --> 00:14:35,680
we still have some corner cases where

353
00:14:35,680 --> 00:14:37,680
it doesn't work really well,

354
00:14:37,680 --> 00:14:39,680
we got some new packages in Debian,

355
00:14:39,680 --> 00:14:41,680
which is really good. I had to

356
00:14:41,680 --> 00:14:43,680
make some upstream contributions, because

357
00:14:43,680 --> 00:14:45,680
for some packages I wrote

358
00:14:45,680 --> 00:14:47,680
their manpage, and I sent it

359
00:14:47,680 --> 00:14:49,680
to upstream, there was this

360
00:14:49,680 --> 00:14:51,680
company of software that

361
00:14:51,680 --> 00:14:53,680
changed its licensing to be like

362
00:14:53,680 --> 00:14:55,680
correctly compliant with

363
00:14:55,680 --> 00:14:57,680
OpenSSL license, and

364
00:14:57,680 --> 00:14:59,800
and we got now a better

365
00:14:59,800 --> 00:15:01,800
Kali and Debian for its users, because

366
00:15:01,800 --> 00:15:03,800
when a package is just

367
00:15:03,800 --> 00:15:05,800
in Kali, they don't like

368
00:15:05,800 --> 00:15:07,800
to do hardening,

369
00:15:07,800 --> 00:15:09,800
that's one example of things that

370
00:15:09,800 --> 00:15:11,600
gets better when the package hits Debian

371
00:15:11,600 --> 00:15:11,800
because
gets better when the package hits Debian

372
00:15:11,800 --> 00:15:13,800
because

373
00:15:13,800 --> 00:15:15,800
we enable hardening

374
00:15:15,800 --> 00:15:17,800
sometimes we see problems that makes

375
00:15:17,800 --> 00:15:19,800
the package to

376
00:15:19,800 --> 00:15:21,800
fail to build, and then we fix that,

377
00:15:21,800 --> 00:15:23,800
upload to Debian, and when the package hits

378
00:15:23,800 --> 00:15:25,800
unstable, Kali starts

379
00:15:25,800 --> 00:15:27,800
taking this package from Debian, and

380
00:15:27,800 --> 00:15:29,800
they can use our infrastructure

381
00:15:29,800 --> 00:15:31,800
to do some QA

382
00:15:31,800 --> 00:15:33,800
and stuff like that, and they

383
00:15:33,800 --> 00:15:36,570
there are two people from Kali that I know at least,

384
00:15:36,570 --> 00:15:38,570
Raphaël and Sophie, and they work

385
00:15:38,570 --> 00:15:40,570
on Debian also, on our team, so

386
00:15:40,570 --> 00:15:42,570
when there's a new release, they upload

387
00:15:42,570 --> 00:15:44,570
the release on Debian,

388
00:15:44,570 --> 00:15:46,570
so Debian users win

389
00:15:46,570 --> 00:15:48,570
by that also, and

390
00:15:48,570 --> 00:15:50,570
they already did lots of work

391
00:15:50,570 --> 00:15:52,570
on their packages, so

392
00:15:52,570 --> 00:15:54,570
yes, I think that's

393
00:15:56,570 --> 00:15:58,570
the summary of the results

394
00:15:58,570 --> 00:16:00,570
Thank you.

395
00:16:00,570 --> 00:16:04,540
[ audience clapping ]

396
00:16:25,250 --> 00:16:27,250
There!

397
00:16:27,250 --> 00:16:29,250
This is OK.

398
00:16:31,250 --> 00:16:33,250
Hello, I am Enkelena Haxhiu

399
00:16:33,250 --> 00:16:35,250
I am from the Republic of Kosovo, and

400
00:16:35,250 --> 00:16:38,000
I am here to represent my Google Summer of Code

401
00:16:38,000 --> 00:16:40,000
project. My mentors are

402
00:16:40,000 --> 00:16:42,000
Bruno Milena and Gabriela.

403
00:16:42,000 --> 00:16:44,000
So, my project is

404
00:16:44,000 --> 00:16:46,000
a Mozilla Firefox

405
00:16:46,000 --> 00:16:48,000
web extension to

406
00:16:48,000 --> 00:16:50,000
give free and...

407
00:16:50,000 --> 00:16:52,250
to give free software alternatives

408
00:16:52,250 --> 00:16:54,250
to the apps on the Internet, so to have

409
00:16:54,250 --> 00:16:56,250
avoiding non-free

410
00:16:56,250 --> 00:16:58,400
apps and sites.

411
00:16:58,400 --> 00:17:00,400
 So, the goals for this project

412
00:17:00,400 --> 00:17:02,400
were that

413
00:17:02,400 --> 00:17:04,400
while the user is surfing

414
00:17:04,400 --> 00:17:06,400
on the Internet, the moment that he

415
00:17:06,400 --> 00:17:08,400
uses a non-free

416
00:17:08,400 --> 00:17:10,400
software,

417
00:17:10,400 --> 00:17:12,770
my extension will detect it

418
00:17:12,770 --> 00:17:14,770
and then give an

419
00:17:14,770 --> 00:17:17,510
alternative to it, a free software alternative.

420
00:17:17,510 --> 00:17:19,510
The user should be able

421
00:17:19,510 --> 00:17:21,510
to stop it when it's annoying,

422
00:17:21,510 --> 00:17:23,510
and the notifications should be

423
00:17:23,510 --> 00:17:25,510
only once persession,

424
00:17:25,510 --> 00:17:27,510
and we wanted to have like a

425
00:17:27,510 --> 00:17:29,510
database through self-hosted

426
00:17:29,510 --> 00:17:31,510
API, or to use

427
00:17:31,510 --> 00:17:33,510
a free software device

428
00:17:33,510 --> 00:17:35,510
and then all this database

429
00:17:35,510 --> 00:17:37,510
show it on our Web page.

430
00:17:37,510 --> 00:17:39,510
I started by making

431
00:17:39,510 --> 00:17:41,510
by making

432
00:17:41,510 --> 00:17:43,510
the user experience design,

433
00:17:43,510 --> 00:17:45,510
based on that, because

434
00:17:45,510 --> 00:17:47,850
should work like, should work fine,

435
00:17:47,850 --> 00:17:49,850
I made some sketches and mockups

436
00:17:49,850 --> 00:17:51,850
and then the persona

437
00:17:51,850 --> 00:17:53,850
and then the finding the bad habits of apps,

438
00:17:53,850 --> 00:17:55,850
like research, and

439
00:17:55,850 --> 00:17:57,850
I started inmplementing it by

440
00:17:57,850 --> 00:17:59,850
coding it, I used Mozilla

441
00:17:59,850 --> 00:18:01,850
API to make my extension

442
00:18:01,850 --> 00:18:03,850
communicate with the Web browser API

443
00:18:03,850 --> 00:18:05,850
I created a

444
00:18:05,850 --> 00:18:07,850
JSON data file, it's like

445
00:18:07,850 --> 00:18:09,850
a proof of concept to just take

446
00:18:09,850 --> 00:18:11,850
the data, because this is going to be

447
00:18:11,850 --> 00:18:13,850
later in a real database.

448
00:18:13,850 --> 00:18:15,850
So the code

449
00:18:15,850 --> 00:18:17,850
logic, do

450
00:18:17,850 --> 00:18:19,850
select and display the alternatives

451
00:18:19,850 --> 00:18:21,850
based on the current

452
00:18:21,850 --> 00:18:23,850
active website, is that

453
00:18:23,850 --> 00:18:25,850
we should get the URL,

454
00:18:25,850 --> 00:18:27,850
identify it by sending...

455
00:18:27,850 --> 00:18:29,850
Identify it, and then to send

456
00:18:29,850 --> 00:18:31,850
to that JSON file, check

457
00:18:31,850 --> 00:18:33,850
and, based on

458
00:18:33,850 --> 00:18:35,850
that, to give an alternative.

459
00:18:35,850 --> 00:18:37,850
If it exists, of course. We did

460
00:18:37,850 --> 00:18:39,850
We don't want to annoy the user

461
00:18:39,850 --> 00:18:41,850
like, to show too much notifications

462
00:18:41,850 --> 00:18:43,850
so we made it only once

463
00:18:43,850 --> 00:18:45,850
per session for the current app,

464
00:18:45,850 --> 00:18:47,850
and it has the ability to

465
00:18:47,850 --> 00:18:49,850
stop and start it. We use the

466
00:18:49,850 --> 00:18:51,850
local storage to hold the

467
00:18:51,850 --> 00:18:53,850
user settings

468
00:18:53,850 --> 00:18:55,850
and then we have to present this

469
00:18:55,850 --> 00:18:57,850
free software list through

470
00:18:57,850 --> 00:18:59,850
a web page that is generated by

471
00:18:59,850 --> 00:19:01,850
that database.

472
00:19:01,850 --> 00:19:03,850
This is like a simple diagram

473
00:19:03,850 --> 00:19:05,850
of basically what I just said.

474
00:19:07,140 --> 00:19:10,200
These are some screenshots with words

475
00:19:10,200 --> 00:19:12,600
for example, Dropbox is a nonfree

476
00:19:13,110 --> 00:19:15,620
software, and this is

477
00:19:15,620 --> 00:19:17,820
the notification that it gets

478
00:19:18,220 --> 00:19:20,940
it says, "Dropbox has open source alternatives

479
00:19:20,940 --> 00:19:23,710
like seafile",

480
00:19:23,710 --> 00:19:25,710
and then, I have here

481
00:19:25,710 --> 00:19:28,250
the web page that it gets

482
00:19:28,250 --> 00:19:30,770
the extension popup

483
00:19:30,770 --> 00:19:33,340
and all these things. This is how it looks like.

484
00:19:33,340 --> 00:19:36,340
And then, i made a project website

485
00:19:36,340 --> 00:19:38,910
which holds all the data

486
00:19:38,910 --> 00:19:40,910
I made the design of it and

487
00:19:40,910 --> 00:19:42,910
the frontend and the data generation.

488
00:19:42,910 --> 00:19:44,910
I plan to leave this open

489
00:19:44,910 --> 00:19:47,400
so developers can add stuff there

490
00:19:47,400 --> 00:19:49,820
to the database, and then

491
00:19:49,820 --> 00:19:51,820
generates it, and

492
00:19:51,820 --> 00:19:54,340
it goes, like, right away to the

493
00:19:55,140 --> 00:19:57,050
to the project website.

494
00:19:57,050 --> 00:19:59,050
I don't need to hard-code...

495
00:19:59,050 --> 00:20:00,140
hard-code it or something.

496
00:20:00,140 --> 00:20:02,140
Then I made the documentation of it,

497
00:20:02,140 --> 00:20:04,140
I split it into three sections,

498
00:20:05,050 --> 00:20:07,220
in the information about the project,

499
00:20:07,220 --> 00:20:09,220
general things,

500
00:20:09,220 --> 00:20:11,220
what's the purpose, how it works, and

501
00:20:11,220 --> 00:20:13,220
the second one is the contribution,

502
00:20:13,220 --> 00:20:15,480
how can developers contribute

503
00:20:15,480 --> 00:20:16,800
to it, and the third one

504
00:20:16,800 --> 00:20:18,800
is about

505
00:20:18,800 --> 00:20:20,800
the technical aspects, like

506
00:20:20,800 --> 00:20:22,800
debugging, and cloning the repo for new

507
00:20:22,800 --> 00:20:24,280
developers. So this is like

508
00:20:24,280 --> 00:20:26,280
an example of it.

509
00:20:26,280 --> 00:20:28,280
And for the future,

510
00:20:28,280 --> 00:20:30,280
I plan to continue my

511
00:20:30,280 --> 00:20:32,880
project, even after GSoC

512
00:20:32,880 --> 00:20:34,880
the first thing I need to do

513
00:20:34,880 --> 00:20:36,880
like, probably now, I am

514
00:20:36,880 --> 00:20:38,880
going to put it in the

515
00:20:38,880 --> 00:20:40,880
Mozilla Firefox market,

516
00:20:40,880 --> 00:20:42,880
and later I can make it

517
00:20:42,880 --> 00:20:44,880
for other browsers like Chromium

518
00:20:44,880 --> 00:20:46,880
but we need to change the

519
00:20:46,880 --> 00:20:48,880
API there, and I thought

520
00:20:48,880 --> 00:20:50,880
the package could get in Debian, because

521
00:20:50,880 --> 00:20:52,880
while I was here, I learnt about

522
00:20:52,880 --> 00:20:54,880
packaging and

523
00:20:54,880 --> 00:20:56,880
upstreaming and all that stuff, so

524
00:20:56,880 --> 00:20:58,880
I think I am probably going to do that

525
00:20:58,880 --> 00:21:00,880
but not for now, because I want

526
00:21:00,880 --> 00:21:02,880
my users to be

527
00:21:02,880 --> 00:21:04,880
like, all Internet users, not just

528
00:21:04,880 --> 00:21:07,800
Debian operating system users.

529
00:21:07,800 --> 00:21:09,800
Another thing is that I want

530
00:21:09,800 --> 00:21:11,800
it to be integrated with other free

531
00:21:11,800 --> 00:21:13,800
software services, like SUSI

532
00:21:14,310 --> 00:21:16,650
artificial intelligence, and

533
00:21:16,650 --> 00:21:18,650
Thunderbird in upstream

534
00:21:18,650 --> 00:21:20,650
SUSI is a

535
00:21:20,650 --> 00:21:22,650
speaking and texting artificial

536
00:21:22,650 --> 00:21:24,650
intelligence that gives you responses

537
00:21:24,650 --> 00:21:26,650
and I plan to use

538
00:21:26,650 --> 00:21:28,650
that giving the suggestions

539
00:21:28,650 --> 00:21:30,650
by speech.

540
00:21:30,650 --> 00:21:32,650
On my extension,

541
00:21:32,650 --> 00:21:34,650
with Thunderbird I felt it to be

542
00:21:34,650 --> 00:21:36,650
like, to work

543
00:21:36,650 --> 00:21:38,650
like in Mozilla, but, you know, when a

544
00:21:38,650 --> 00:21:41,140
user gets an e-mail from a non-free side,

545
00:21:41,140 --> 00:21:43,140
then it should

546
00:21:43,140 --> 00:21:45,140
send a suggestion,

547
00:21:45,140 --> 00:21:47,140
"use this, don't use this", like

548
00:21:47,140 --> 00:21:49,140
I just basically explained,

549
00:21:49,140 --> 00:21:51,140
and with upstream, I thought that

550
00:21:51,140 --> 00:21:53,140
all my database should be

551
00:21:53,140 --> 00:21:55,140
there, to put it there, and

552
00:21:55,140 --> 00:21:57,140
it could help upstream, and it can

553
00:21:57,140 --> 00:21:59,140
it could help me.

554
00:21:59,140 --> 00:22:01,140
Here, I have my

555
00:22:01,140 --> 00:22:03,140
experience with Debian, I heard about Debian

556
00:22:03,140 --> 00:22:05,140
last year, in a girl's

557
00:22:05,140 --> 00:22:07,140
and then later

558
00:22:07,140 --> 00:22:09,140
in Tirana, in Albania, where

559
00:22:09,140 --> 00:22:11,910
in a Debian bugs squashing party,

560
00:22:11,910 --> 00:22:13,910
a DD was there, and

561
00:22:13,910 --> 00:22:15,910
we planned on

562
00:22:15,910 --> 00:22:17,910
-- sorry --

563
00:22:17,910 --> 00:22:19,910
working a bit more than

564
00:22:19,910 --> 00:22:21,910
With Daniel Pocock we had

565
00:22:21,910 --> 00:22:23,910
we made...

566
00:22:23,910 --> 00:22:25,910
A speech together, we gave under

567
00:22:25,910 --> 00:22:27,910
in the biggest open source conference

568
00:22:27,910 --> 00:22:29,910
in the whole Balkans, it was about

569
00:22:29,910 --> 00:22:31,910
Free Software. And about my project,

570
00:22:31,910 --> 00:22:33,910
I read a whole book to

571
00:22:33,910 --> 00:22:35,910
understsand it a little bit more, to be

572
00:22:36,020 --> 00:22:37,910
more prepared. And I want to

573
00:22:38,050 --> 00:22:39,910
thank the Debian people for giving me this

574
00:22:39,910 --> 00:22:41,910
opportunity to talk here, in front of you,

575
00:22:41,910 --> 00:22:44,710
and I hope I'll be a DD soon.

576
00:22:44,800 --> 00:22:45,910
Thank you!

577
00:23:52,600 --> 00:23:54,600
So... Yeah, it's working.

578
00:23:54,600 --> 00:23:58,280
So, before... My name is Elena

579
00:23:58,280 --> 00:24:00,680
Elena Gjevukaj, and I come from Kosovo.

580
00:24:00,680 --> 00:24:03,450
Before I start,

581
00:24:03,450 --> 00:24:06,310
to present my project, I want to mention that

582
00:24:06,310 --> 00:24:08,310
this year in the GSoC is the first time

583
00:24:08,310 --> 00:24:10,310
that our country is participating.

584
00:24:10,310 --> 00:24:14,250
It was funny, because even when we had

585
00:24:14,250 --> 00:24:16,250
applied for the GSoC, we had

586
00:24:16,250 --> 00:24:18,250
to ask Google to add

587
00:24:18,250 --> 00:24:20,250
our country in the list, so

588
00:24:20,250 --> 00:24:22,250
you know how...

589
00:24:22,250 --> 00:24:24,250
We thought that we didn't

590
00:24:24,250 --> 00:24:26,250
have any more opportunities

591
00:24:26,250 --> 00:24:28,250
or any...

592
00:24:28,250 --> 00:24:30,250
we just thought they aren't going to accept us.

593
00:24:30,250 --> 00:24:32,250
But hopefully for us, we have

594
00:24:32,250 --> 00:24:34,250
a great mentor,

595
00:24:34,250 --> 00:24:36,250
Daniel Pocock, I think many of you

596
00:24:36,250 --> 00:24:38,250
guys know him,

597
00:24:38,250 --> 00:24:40,250
and he helped us

598
00:24:40,250 --> 00:24:42,250
with everything that we needed

599
00:24:42,250 --> 00:24:45,420
for all of the applications

600
00:24:45,420 --> 00:24:47,420
and everything else.

601
00:24:47,420 --> 00:24:49,420
So, going back to my project,

602
00:24:49,420 --> 00:24:51,420
My project

603
00:24:51,420 --> 00:24:53,420
is basically what I just said

604
00:24:53,420 --> 00:24:55,420
right now. So, knowing that

605
00:24:55,420 --> 00:24:57,420
newcomers to the open source have a lot

606
00:24:57,420 --> 00:24:59,420
of problems to,

607
00:24:59,420 --> 00:25:01,420
to just set up

608
00:25:01,420 --> 00:25:05,330
a development environment

609
00:25:05,330 --> 00:25:08,000
and

610
00:25:08,000 --> 00:25:10,000
that's why we wanted

611
00:25:10,000 --> 00:25:12,000
to create...

612
00:25:12,000 --> 00:25:14,000
to create a GUI

613
00:25:14,000 --> 00:25:16,660
so my project is a new contributor...

614
00:25:16,660 --> 00:25:18,660
contributor wizard

615
00:25:18,660 --> 00:25:20,660
and is basically a GUI that

616
00:25:20,660 --> 00:25:22,660
could be distributed as a

617
00:25:22,660 --> 00:25:24,660
package, and

618
00:25:24,660 --> 00:25:26,660
to help the newcomer

619
00:25:26,660 --> 00:25:28,660
to Debian and open source

620
00:25:28,660 --> 00:25:30,660
to start their work

621
00:25:30,660 --> 00:25:34,060
on the open source projects.

622
00:25:34,060 --> 00:25:36,060
For example, if you want to

623
00:25:36,060 --> 00:25:38,600
apply in GSoC or Outreachy

624
00:25:38,600 --> 00:25:40,600
or other programs like this

625
00:25:40,600 --> 00:25:42,600
you will need a lot of things

626
00:25:42,600 --> 00:25:44,600
because if you are a new person,

627
00:25:44,600 --> 00:25:46,600
you are newcoming to Debian, or

628
00:25:46,600 --> 00:25:48,600
any other version of

629
00:25:48,600 --> 00:25:50,600
Linux, you will have a lot of

630
00:25:50,600 --> 00:25:52,600
problems to start up, so

631
00:25:52,600 --> 00:25:54,600
what we want to do with this

632
00:25:54,600 --> 00:25:56,600
is to help students

633
00:25:56,600 --> 00:25:58,600
to run this computer

634
00:25:58,600 --> 00:26:00,600
program in their desktop

635
00:26:00,600 --> 00:26:02,600
and have to understand

636
00:26:02,600 --> 00:26:04,600
everything that they need, for example

637
00:26:04,600 --> 00:26:06,600
they will need for sure, how to use

638
00:26:06,600 --> 00:26:08,600
IRC, they will need

639
00:26:08,600 --> 00:26:10,600
basically a blog to explain

640
00:26:10,600 --> 00:26:12,600
their work or add portfolio on it,

641
00:26:12,600 --> 00:26:14,600
so they will need

642
00:26:14,600 --> 00:26:16,600
a PGP or

643
00:26:16,600 --> 00:26:18,600
other things like this

644
00:26:18,600 --> 00:26:20,600
that we usually use in open source

645
00:26:20,600 --> 00:26:22,600
so, my part of the project

646
00:26:22,600 --> 00:26:24,600
in this

647
00:26:24,600 --> 00:26:26,600
in this month of

648
00:26:26,600 --> 00:26:28,600
the Google Summer of Code,

649
00:26:28,600 --> 00:26:30,600
was the blog module,

650
00:26:30,600 --> 00:26:32,600
basically, I created

651
00:26:32,600 --> 00:26:34,600
a module that will

652
00:26:34,600 --> 00:26:36,600
generate automatically

653
00:26:36,600 --> 00:26:39,660
...build dynamic and static websites.

654
00:26:39,660 --> 00:26:41,800
And the other part

655
00:26:41,800 --> 00:26:43,800
of it was that I did a lot of

656
00:26:43,800 --> 00:26:45,800
research on what students

657
00:26:45,800 --> 00:26:47,800
need for...

658
00:26:47,800 --> 00:26:49,800
and we should include in the research

659
00:26:49,800 --> 00:26:51,800
...

660
00:26:51,800 --> 00:26:53,800
Another thing that I want to

661
00:26:53,800 --> 00:26:55,800
mention is that students

662
00:26:55,800 --> 00:26:57,800
don't know that much...

663
00:26:57,800 --> 00:27:01,930
They have problems using the terminal

664
00:27:01,930 --> 00:27:03,930
or installing

665
00:27:03,930 --> 00:27:06,800
programs when they have usually installed Debian,

666
00:27:06,800 --> 00:27:08,800
I will make sure

667
00:27:08,800 --> 00:27:10,800
add that type of tutorials, or

668
00:27:10,800 --> 00:27:12,800
for example

669
00:27:12,800 --> 00:27:14,800
description of something

670
00:27:14,800 --> 00:27:16,800
that will help them, how

671
00:27:16,800 --> 00:27:18,800
to proceed and apply, and

672
00:27:18,800 --> 00:27:20,800
maybe be a successful applicant

673
00:27:20,800 --> 00:27:22,800
for GSoC. So, that's it.

674
00:27:22,800 --> 00:27:24,800
Thank you!

675
00:27:24,800 --> 00:27:28,660
[ audience clapping ]

676
00:27:48,200 --> 00:27:51,200
Hello everyone!

677
00:27:51,200 --> 00:27:53,200
My name is Diellza Shabani

678
00:27:53,200 --> 00:27:55,200
and I also come from Kosovo,

679
00:27:55,200 --> 00:27:57,200
I am a student of Computer Science

680
00:27:57,200 --> 00:27:59,200
and Engineering,

681
00:27:59,200 --> 00:28:01,200
I'm finishing my studies

682
00:28:01,200 --> 00:28:03,200
this year hopefully,

683
00:28:03,200 --> 00:28:05,200
so I am also doing

684
00:28:05,200 --> 00:28:07,200
a Google Summer of Code project,

685
00:28:07,200 --> 00:28:09,200
I haven't prepared any slides,

686
00:28:09,200 --> 00:28:11,200
because I

687
00:28:11,200 --> 00:28:13,200
didn't see it necessary,

688
00:28:13,200 --> 00:28:15,800
so, my project's name is

689
00:28:15,800 --> 00:28:17,800
"Click to dial from

690
00:28:17,800 --> 00:28:19,800
Linux Desktop", and

691
00:28:19,800 --> 00:28:21,800
my mentor is Thomas Levine,

692
00:28:21,800 --> 00:28:23,800
he couldn't join us

693
00:28:23,800 --> 00:28:25,800
at the conference this year,

694
00:28:25,800 --> 00:28:27,800
so, what I have been

695
00:28:27,800 --> 00:28:29,800
working on this project is that

696
00:28:31,800 --> 00:28:33,800
we are three students

697
00:28:33,800 --> 00:28:35,800
on this project, because it's really

698
00:28:35,800 --> 00:28:37,800
a big thing, we started

699
00:28:37,800 --> 00:28:39,800
working in this last year

700
00:28:39,800 --> 00:28:41,800
in the [?] hackathon,

701
00:28:41,800 --> 00:28:43,800
in [?],

702
00:28:43,800 --> 00:28:45,800
we started doing the project

703
00:28:45,800 --> 00:28:47,800
in Python first,

704
00:28:47,800 --> 00:28:49,800
we did some

705
00:28:49,800 --> 00:28:52,130
pop-ups and some really basic things,

706
00:28:52,130 --> 00:28:54,130
...So,

707
00:28:54,130 --> 00:28:56,130
we thought to continue that, but

708
00:28:56,130 --> 00:28:58,130
now that the project is

709
00:28:58,130 --> 00:29:00,130
bigger, and there are three students

710
00:29:00,130 --> 00:29:02,600
doing this, it is separated

711
00:29:02,600 --> 00:29:04,600
in two different things, and

712
00:29:04,600 --> 00:29:06,600
the two other students

713
00:29:06,600 --> 00:29:08,600
are doing something else,

714
00:29:08,600 --> 00:29:10,600
and we plan to do

715
00:29:10,600 --> 00:29:12,600
something like mobile

716
00:29:12,600 --> 00:29:14,600
application,

717
00:29:14,600 --> 00:29:17,530
but still haven't figured it out.

718
00:29:17,530 --> 00:29:19,530
For the moment, we are

719
00:29:19,530 --> 00:29:21,530
doing only a website,

720
00:29:21,530 --> 00:29:23,530
a Web application,

721
00:29:23,530 --> 00:29:25,530
and

722
00:29:25,530 --> 00:29:27,530
we are working on

723
00:29:27,530 --> 00:29:29,530
the existing projects

724
00:29:29,530 --> 00:29:31,530
that Google Summer of Code students have

725
00:29:31,530 --> 00:29:33,530
done before, like Omnitel

726
00:29:33,530 --> 00:29:35,530
and Lumicall

727
00:29:35,530 --> 00:29:37,530
I am basically working on them

728
00:29:37,530 --> 00:29:39,530
and making changes, an doing

729
00:29:39,530 --> 00:29:41,530
task classes

730
00:29:41,530 --> 00:29:43,530
and methods, so...

731
00:29:43,530 --> 00:29:45,530
After we finish that, I think

732
00:29:45,530 --> 00:29:47,530
we will continue with the website, and

733
00:29:47,530 --> 00:29:49,530
hopefully,

734
00:29:49,530 --> 00:29:51,530
because the GSoC is really

735
00:29:51,530 --> 00:29:53,530
coming to an end,

736
00:29:53,530 --> 00:29:55,530
and we have not very much time

737
00:29:55,530 --> 00:29:57,530
left. But...

738
00:29:57,530 --> 00:29:59,530
After this, we will probably be working

739
00:29:59,530 --> 00:30:01,530
in doing the mobile app.

740
00:30:01,530 --> 00:30:03,530
However, this is

741
00:30:03,530 --> 00:30:05,530
all I have to tell

742
00:30:05,530 --> 00:30:07,530
right now about my project

743
00:30:09,530 --> 00:30:11,530
the opportunity to be here and to

744
00:30:11,530 --> 00:30:13,530
present for you guys.

745
00:30:13,530 --> 00:30:15,530
Thank you.

746
00:30:34,600 --> 00:30:34,730
OK, so... Can you hear me?

747
00:30:34,730 --> 00:30:37,600
thank you very much, thank you for
OK, so... Can you hear me?

748
00:30:37,600 --> 00:30:38,260
OK.
thank you very much, thank you for

749
00:30:38,260 --> 00:30:39,600
OK.

750
00:30:39,600 --> 00:30:41,600
So, hi everyone!

751
00:30:43,600 --> 00:30:45,600
I am not actually a Google Summer of Code student,

752
00:30:45,600 --> 00:30:49,600
but I have been an Outreachy intern

753
00:30:49,600 --> 00:30:51,600
around one year ago.

754
00:30:51,600 --> 00:30:53,600
So, first

755
00:30:53,600 --> 00:30:55,600
before continuing my

756
00:30:55,600 --> 00:30:57,600
talk, I'd like to ask

757
00:30:57,600 --> 00:30:59,600
how many of you are coming from

758
00:30:59,600 --> 00:31:01,600
a social background, and have

759
00:31:01,600 --> 00:31:03,600
studied for computer science or

760
00:31:03,600 --> 00:31:05,600
science-related?

761
00:31:05,600 --> 00:31:07,600
OK, great.

762
00:31:07,600 --> 00:31:09,600
So we got three other people

763
00:31:09,600 --> 00:31:11,600
in the audience. So

764
00:31:11,600 --> 00:31:13,600
I am Kristi Progri, and I am actually,

765
00:31:13,600 --> 00:31:15,600
I finished my university for

766
00:31:15,600 --> 00:31:17,600
international affairs and diplomacy

767
00:31:17,600 --> 00:31:19,600
and in the beginning I thought

768
00:31:19,600 --> 00:31:21,600
that this was exactly the school,

769
00:31:21,600 --> 00:31:23,600
that I'd never ever find something

770
00:31:23,600 --> 00:31:25,600
to do with my life,

771
00:31:25,600 --> 00:31:27,600
but then, I thought that, OK,

772
00:31:27,600 --> 00:31:29,600
probably it would be nice

773
00:31:29,600 --> 00:31:31,600
if I could just merge it with

774
00:31:31,600 --> 00:31:33,600
something that is tech-related,

775
00:31:33,600 --> 00:31:35,600
and free software, since during that time

776
00:31:35,600 --> 00:31:37,600
I was also part of the

777
00:31:37,600 --> 00:31:39,600
free software community

778
00:31:39,600 --> 00:31:41,600
I ended up in the end having a diploma

779
00:31:41,600 --> 00:31:43,600
thesis for on-line diplomacy,

780
00:31:43,600 --> 00:31:45,600
and this was

781
00:31:45,600 --> 00:31:47,600
what kind of opened

782
00:31:47,600 --> 00:31:49,400
the doors further to

783
00:31:49,400 --> 00:31:49,600
continue, and to get
the doors further to

784
00:31:49,600 --> 00:31:51,600
continue, and to get

785
00:31:51,600 --> 00:31:53,600
to know more

786
00:31:53,600 --> 00:31:55,600
for political and Internet.

787
00:31:55,600 --> 00:31:57,600
So, I applied

788
00:31:57,600 --> 00:31:59,600
in Mozilla

789
00:31:59,600 --> 00:32:01,600
in a team for taking part

790
00:32:01,600 --> 00:32:03,600
in the Outreachy, working with the

791
00:32:03,600 --> 00:32:05,600
diversity and inclusion team there,

792
00:32:05,600 --> 00:32:07,600
building up the

793
00:32:07,600 --> 00:32:09,600
strategy for conducting

794
00:32:09,600 --> 00:32:11,600
first language interviews, since

795
00:32:11,600 --> 00:32:13,600
one of the barriers that we had during

796
00:32:13,600 --> 00:32:15,600
all this time was that

797
00:32:15,600 --> 00:32:17,600
people coming from different...

798
00:32:17,600 --> 00:32:19,600
different countries

799
00:32:19,600 --> 00:32:21,600
and not speaking

800
00:32:21,600 --> 00:32:23,600
everyone by default English, so

801
00:32:23,600 --> 00:32:25,600
trying to have a strategy

802
00:32:25,600 --> 00:32:27,600
on how to conduct the language...

803
00:32:27,600 --> 00:32:29,600
On how to conduct interviews, and

804
00:32:29,600 --> 00:32:31,600
to grow up communities in the local

805
00:32:31,600 --> 00:32:33,600
aspect, to really help to

806
00:32:33,600 --> 00:32:35,600
take further steps to

807
00:32:35,600 --> 00:32:37,600
all the free software initiatives, and

808
00:32:37,600 --> 00:32:39,600
everything that's regarding to that.

809
00:32:39,600 --> 00:32:41,600
So

810
00:32:41,600 --> 00:32:43,600
this was

811
00:32:43,600 --> 00:32:45,600
kind of the aspect from the field

812
00:32:45,600 --> 00:32:47,600
doing on the Outreachy. For those

813
00:32:47,600 --> 00:32:49,600
who don't know Outreachy, it's

814
00:32:49,600 --> 00:32:51,600
exactly... It is an intership that

815
00:32:51,600 --> 00:32:53,600
that lasts for three months,

816
00:32:53,600 --> 00:32:55,600
it happens twice per year,

817
00:32:55,600 --> 00:32:57,600
it has

818
00:32:57,600 --> 00:32:59,600
kind of the same ideology

819
00:32:59,600 --> 00:33:01,600
as the Google Summer of Code, but

820
00:33:01,600 --> 00:33:03,600
it's also for people that

821
00:33:03,600 --> 00:33:05,600
are not students but have

822
00:33:05,600 --> 00:33:07,600
finished their

823
00:33:07,600 --> 00:33:09,600
studies.

824
00:33:09,600 --> 00:33:11,600
and besides Outreachy and

825
00:33:11,600 --> 00:33:13,600
the Google Summer of Code, there also

826
00:33:13,600 --> 00:33:15,600
are initiatives that

827
00:33:15,600 --> 00:33:17,600
help out students

828
00:33:17,600 --> 00:33:19,600
to continue and

829
00:33:19,600 --> 00:33:21,600
getting on more knowledge regarding

830
00:33:21,600 --> 00:33:23,600
the free software, such as

831
00:33:23,600 --> 00:33:25,600
Rails' Girls Summer of Code,

832
00:33:25,600 --> 00:33:27,600
I don't know if you have heard about that, it is

833
00:33:27,600 --> 00:33:29,600
an internship happening on the

834
00:33:29,600 --> 00:33:31,600
during the summer, it lasts

835
00:33:31,600 --> 00:33:33,600
for three months,

836
00:33:33,600 --> 00:33:35,600
three months I think,

837
00:33:35,600 --> 00:33:37,600
and it's actually

838
00:33:37,600 --> 00:33:39,600
only regarding coding. But

839
00:33:39,600 --> 00:33:41,600
until now, I think, for as far

840
00:33:41,600 --> 00:33:43,600
as I know, Outreachy is the only one

841
00:33:43,600 --> 00:33:45,600
that can,

842
00:33:45,600 --> 00:33:47,600
that requires also people that do not have

843
00:33:47,600 --> 00:33:49,600
technical

844
00:33:49,600 --> 00:33:51,600
skills, or at least that have

845
00:33:51,600 --> 00:33:53,600
not finished for it,

846
00:33:53,600 --> 00:33:55,600
any technical

847
00:33:55,600 --> 00:33:57,600
subject or degree.

848
00:33:57,600 --> 00:33:59,600
So, this was also

849
00:33:59,600 --> 00:34:01,600
my short presentation

850
00:34:01,600 --> 00:34:03,600
to say, and the

851
00:34:03,600 --> 00:34:05,600
last one I think for the session, so

852
00:34:05,600 --> 00:34:07,600
there is anyone in the audience

853
00:34:07,600 --> 00:34:09,600
who'd like to make a question, any

854
00:34:09,600 --> 00:34:11,600
suggestion or comment, please feel free

855
00:34:11,600 --> 00:34:13,600
and thank you very much for

856
00:34:13,600 --> 00:34:15,600
being here.

857
00:34:15,600 --> 00:34:19,530
[ audience clapping ]

858
00:34:37,460 --> 00:34:40,660
[Delib:] Hello. Jaminy,

859
00:34:41,600 --> 00:34:45,330
So many of us are so interested in the

860
00:34:45,330 --> 00:34:47,330
the edges of Debian,

861
00:34:47,330 --> 00:34:49,330
and who is coming, and are they

862
00:34:49,330 --> 00:34:51,330
staying, and you have met

863
00:34:51,330 --> 00:34:53,330
so many mentees,

864
00:34:53,330 --> 00:34:55,330
and talked with so many mentors. Could you share

865
00:34:55,330 --> 00:34:57,330
with us a little bit about

866
00:34:57,330 --> 00:34:59,330
what is working well and

867
00:34:59,330 --> 00:35:01,330
what might work a little better

868
00:35:01,330 --> 00:35:03,330
in the future?

869
00:35:07,930 --> 00:35:10,060
[Jaminy:] So, there are many newcomers

870
00:35:10,060 --> 00:35:12,060
coming from Google Summer of Code,

871
00:35:12,060 --> 00:35:14,060
I think the main thing

872
00:35:14,060 --> 00:35:16,060
that actually happens is they should be

873
00:35:16,060 --> 00:35:18,060
keep motivated and keep working on

874
00:35:18,060 --> 00:35:20,060
after the Google Summer of Code,

875
00:35:20,060 --> 00:35:22,060
I feel that would be one of the

876
00:35:22,060 --> 00:35:24,060
major things they have to do

877
00:35:24,060 --> 00:35:26,060
even after the Google Summer of Code

878
00:35:35,730 --> 00:35:38,800
[Delib:] Do you have ideas of how

879
00:35:39,600 --> 00:35:41,660
community members or the mentors

880
00:35:41,660 --> 00:35:43,660
could do things differently, so that

881
00:35:43,660 --> 00:35:46,260
they could stay more motivated?

882
00:35:46,260 --> 00:35:48,260
Stay more interested?

883
00:35:51,130 --> 00:35:54,060
[Jaminy:] I think the mentors, it's all about the communication,

884
00:35:54,060 --> 00:35:56,060
I think they should keep communicating

885
00:35:56,060 --> 00:35:58,060
with the students and keep them

886
00:35:58,060 --> 00:36:00,060
giving suggestions

887
00:36:00,060 --> 00:36:02,060
and advice in

888
00:36:02,060 --> 00:36:04,060
them, how can they improve further on

889
00:36:04,060 --> 00:36:06,060
their projects,

890
00:36:06,060 --> 00:36:08,060
and how they can keep moving

891
00:36:08,060 --> 00:36:10,060
keep... Moving on

892
00:36:10,060 --> 00:36:12,060
further with the project.

893
00:36:12,060 --> 00:36:14,060
[Delib:] So, listening to what their interests are,

894
00:36:14,060 --> 00:36:16,060
and giving them ideas on how to

895
00:36:16,060 --> 00:36:17,200
pursue this interest?

896
00:36:17,200 --> 00:36:19,200
[Jaminy:] Yes.

897
00:36:25,130 --> 00:36:29,000
[Tassia:] I have a question: Is it

898
00:36:29,000 --> 00:36:31,000
...I have the impression that I might be wrong, so

899
00:36:31,000 --> 00:36:33,000
[Jaminy:] Do you have questions for me, or

900
00:36:33,000 --> 00:36:35,000
for students? [Tassia:] For you.

901
00:36:35,000 --> 00:36:37,000
[Jaminy:] OK.

902
00:36:37,000 --> 00:36:39,000
[Tassia:] Sorry [both laugh]

903
00:36:39,000 --> 00:36:41,000
But just, for

904
00:36:41,000 --> 00:36:43,000
what I've been following, for

905
00:36:43,000 --> 00:36:45,000
the past years, I thing that when students

906
00:36:45,000 --> 00:36:47,000
enter work with a team

907
00:36:47,000 --> 00:36:49,000
my impression is that it's easier

908
00:36:49,000 --> 00:36:51,000
for them to continue working afterwards.

909
00:36:51,000 --> 00:36:53,000
Is it

910
00:36:53,000 --> 00:36:55,860
in comparison when

911
00:36:55,860 --> 00:36:57,860
there are ad-hoc projects

912
00:36:57,860 --> 00:36:59,860
that some times don't

913
00:36:59,860 --> 00:37:01,860
continue being developed,

914
00:37:01,860 --> 00:37:04,400
and I think,

915
00:37:04,400 --> 00:37:06,400
then the motivation might probably...

916
00:37:06,400 --> 00:37:08,400
Do you perceive it? Or

917
00:37:08,400 --> 00:37:10,400
you don't think it makes sense?

918
00:37:10,400 --> 00:37:12,400
[Jaminy:] Currently I'm not, but I hope

919
00:37:12,400 --> 00:37:14,400
to continue after my...

920
00:37:14,400 --> 00:37:16,400
Now I'm currently doing early career,

921
00:37:16,400 --> 00:37:18,400
so I would prefer continuing

922
00:37:18,400 --> 00:37:20,400
later.

923
00:37:20,400 --> 00:37:22,400
[Tassia:] No, sorry, I think you didn't understand my question.

924
00:37:22,400 --> 00:37:24,400
It was about the projects

925
00:37:24,400 --> 00:37:26,400
within teams,

926
00:37:26,400 --> 00:37:28,400
like, lets say, the students that work with

927
00:37:28,400 --> 00:37:30,400
the Perl team, or that work inside

928
00:37:30,400 --> 00:37:32,400
another team

929
00:37:32,400 --> 00:37:34,400
in comparison with just

930
00:37:34,400 --> 00:37:36,400
one mentor and one

931
00:37:36,400 --> 00:37:38,400
mentee

932
00:37:38,400 --> 00:37:40,400
and if that

933
00:37:40,400 --> 00:37:42,400
reflects on the

934
00:37:42,400 --> 00:37:44,400
motivation of the student to continue

935
00:37:44,400 --> 00:37:46,400
doing work for Debian

936
00:37:46,400 --> 00:37:48,400
afterwards. Do you thing there is

937
00:37:48,400 --> 00:37:50,400
a relation, or not?

938
00:37:50,400 --> 00:37:52,400
[Jaminy:] Yes, I think there

939
00:37:52,400 --> 00:37:54,400
is, I mean, the

940
00:37:54,400 --> 00:37:56,400
mentor-mentee relations keeps

941
00:37:56,400 --> 00:37:58,400
going on?

942
00:37:58,400 --> 00:38:00,400
eventyally they get your question probably?

943
00:38:05,730 --> 00:38:08,400
[Delib:] Do you think it's easier for students

944
00:38:08,400 --> 00:38:10,400
to be part of a team, instead of

945
00:38:10,400 --> 00:38:12,400
just one mentor?

946
00:38:12,400 --> 00:38:14,400
[Jaminy:] Yes, I think they

947
00:38:14,400 --> 00:38:16,400
get valious knowledge, so it's better to

948
00:38:16,400 --> 00:38:18,400
be in a team

949
00:38:18,400 --> 00:38:20,400
than sticking to one mentor.

950
00:38:20,400 --> 00:38:22,400
[Andreas:] Do we have some

951
00:38:22,400 --> 00:38:24,400
statistics? How many of

952
00:38:24,400 --> 00:38:26,400
the students have entered Debian?

953
00:38:26,400 --> 00:38:28,400
or not? Because I have had three

954
00:38:28,400 --> 00:38:30,400
GSoC students, and three Outreachy

955
00:38:30,400 --> 00:38:32,400
students, and

956
00:38:32,400 --> 00:38:34,400
none of them

957
00:38:34,400 --> 00:38:36,400
really remained there. They are intererested,

958
00:38:36,400 --> 00:38:38,400
they are using Debian, but

959
00:38:38,400 --> 00:38:40,400
my experience

960
00:38:40,400 --> 00:38:42,400
or the result of my experience

961
00:38:42,400 --> 00:38:44,400
was that I tried to give them tasks

962
00:38:44,400 --> 00:38:46,400
which are easy to end,

963
00:38:46,400 --> 00:38:48,400
which are small tasks,

964
00:38:48,400 --> 00:38:50,400
and if they go, then that's not

965
00:38:50,400 --> 00:38:53,260
... How many people stayed in Debian?

966
00:38:53,260 --> 00:38:57,000
[Jaminy:] You mean...

967
00:38:57,000 --> 00:39:00,060
You mean, from the past?

968
00:39:00,060 --> 00:39:02,060
[Andreas:] How many people stayed in Debian?

969
00:39:02,060 --> 00:39:04,060
of the students?

970
00:39:04,060 --> 00:39:06,060
From the past, yes.

971
00:39:10,060 --> 00:39:12,060
[?:] I think you can answer

972
00:39:12,060 --> 00:39:14,060
after the session, because

973
00:39:14,060 --> 00:39:14,860
we run out of time.

974
00:39:14,860 --> 00:39:16,860
[Jaminy:] OK. I'd like to take this opportunity

975
00:39:16,860 --> 00:39:18,860
to thank all the mentors

976
00:39:18,860 --> 00:39:20,860
who made this program successful.

977
00:39:20,860 --> 00:39:22,860
And you can feel free to talk to students

978
00:39:22,860 --> 00:39:24,860
after the session, and give them

979
00:39:24,860 --> 00:39:26,860
suggestions or feedback.

980
00:39:26,860 --> 00:39:28,860
Thank you!

981
00:39:28,860 --> 00:39:32,660
[ Audience clapping ]

