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 All right. How many have heard about the Google Summer of Code? 3 00:00:14,470 --> 00:00:19,020 Already, if you are not aware, I could be introducing more about what is it and 4 00:00:20,154 --> 00:00:24,220 and then talk more about what we are going to do in the session 5 00:00:25,440 --> 00:00:27,200 So, can you raise the hand 6 00:00:27,678 --> 00:00:30,694 if you are already aware of the Google Summer of Code? 7 00:00:33,995 --> 00:00:34,912 OK! 8 00:00:37,160 --> 00:00:38,763 Thank you - I think most of you are aware, 9 00:00:39,131 --> 00:00:40,880 it's bringing the student developers 10 00:00:40,880 --> 00:00:43,306 into the open source community, it's all about that 11 00:00:44,007 --> 00:00:47,202 So, the session is going to be 12 00:00:47,536 --> 00:00:49,771 mostly the students introducing their projects 13 00:00:50,189 --> 00:00:53,033 and getting the feedback, and discussing with their mentors. 14 00:00:53,870 --> 00:00:56,544 If they are getting any questions from IRC, they can discuss 15 00:00:57,934 --> 00:00:59,552 How they can improve the project in their 16 00:00:59,762 --> 00:01:01,565 ...Their ongoing projects. 17 00:01:03,801 --> 00:01:06,565 OK. so let me introduce about myself. I am Jaminy, 18 00:01:08,559 --> 00:01:09,995 So, I come from Sri Lanka 19 00:01:11,263 --> 00:01:15,413 I am one of the coordinators for Google Summer of Code with Debian 20 00:01:17,371 --> 00:01:20,300 So, Debian has been participating in the Google Summer of Code 21 00:01:20,801 --> 00:01:21,860 from 2005, and 22 00:01:22,692 --> 00:01:25,038 it has been 13 years it has been participating, 23 00:01:25,618 --> 00:01:27,602 and we had a break in 2017 24 00:01:28,224 --> 00:01:31,550 and now we are back in 2018 with Google Summer of Code 25 00:01:33,755 --> 00:01:37,048 and these are the teams for GSoC coordination 26 00:01:37,400 --> 00:01:38,514 I am representing the team 27 00:01:39,330 --> 00:01:42,627 Daniel Pocock, Alexander, and it's me 28 00:01:44,993 --> 00:01:48,168 This year, we have accepted 25 students 29 00:01:49,828 --> 00:01:51,367 And that's the link for the projects 30 00:01:52,518 --> 00:01:54,325 that are ongoing this year 31 00:02:00,390 --> 00:02:03,713 So, there is an interesting GSoC statistic this year 32 00:02:04,384 --> 00:02:06,044 this year we have selected 33 00:02:06,754 --> 00:02:09,201 I mean, this was from the Google Open Source blog, 34 00:02:09,765 --> 00:02:13,451 and they said there are three students 35 00:02:13,704 --> 00:02:15,233 Four students accepted from Kosovo 36 00:02:15,677 --> 00:02:16,909 And... 37 00:02:17,711 --> 00:02:21,264 The three students are from our Debian community, and they are here joining us 38 00:02:22,225 --> 00:02:23,369 joining with us, 39 00:02:23,700 --> 00:02:25,434 to introduce more about their project 40 00:02:26,469 --> 00:02:28,183 I hope that, without wasting more time, 41 00:02:28,672 --> 00:02:31,405 I could give the chance for the students to introduce, 42 00:02:31,832 --> 00:02:33,603 to talk more about their projects. 43 00:02:34,706 --> 00:02:35,753 Arthur, can you... 44 00:02:39,461 --> 00:02:41,612 [ audience clapping ] 45 00:02:51,709 --> 00:02:53,669 So, you hear me? OK? 46 00:02:56,175 --> 00:02:57,492 Yes? Nice. 47 00:02:59,344 --> 00:03:00,226 So... 48 00:03:01,285 --> 00:03:03,322 Hello, my name is Arthur del Esposto 49 00:03:03,729 --> 00:03:05,176 I am going to talk about my GSoC project 50 00:03:05,899 --> 00:03:08,544 that is titled "Improving Distro Tracker to better support Debian teams" 51 00:03:09,364 --> 00:03:12,499 My mentor is Lucas Kanashiro and my co-mentor is Raphael Hertzog. 52 00:03:14,501 --> 00:03:17,140 I will provide you some context about why we are doing this. 53 00:03:18,191 --> 00:03:19,045 So, basically, 54 00:03:19,316 --> 00:03:22,604 Debian teams used to rely on Packages Entropy Tracker 55 00:03:22,844 --> 00:03:25,076 with the assistance that basically got some information about 56 00:03:26,725 --> 00:03:28,961 the package from Debian, from Alioth, 57 00:03:30,364 --> 00:03:31,905 and display some kind of information 58 00:03:32,358 --> 00:03:35,070 inside tables and some categories. 59 00:03:38,225 --> 00:03:41,132 And we also had inside our Debian infrastructure 60 00:03:41,587 --> 00:03:44,103 the tracker.debian.org, which you probably have used before, 61 00:03:44,735 --> 00:03:49,206 that basically gathers the same sort of information from several sources inside Debian 62 00:03:50,180 --> 00:03:54,027 and puts this in a Web application. 63 00:03:54,730 --> 00:03:56,181 So, for example, you have the base 64 00:03:56,587 --> 00:03:58,262 of a specific package, the Web defaults, 65 00:03:58,651 --> 00:04:01,110 and you can get all the information related to that package. 66 00:04:02,351 --> 00:04:04,338 And what we want to do, because... 67 00:04:04,654 --> 00:04:07,919 that has not been maintained anymore 68 00:04:08,359 --> 00:04:09,826 and also, he used to track the 69 00:04:10,794 --> 00:04:12,536 package repository from Alioth. 70 00:04:13,254 --> 00:04:14,918 And what we really want to do 71 00:04:15,551 --> 00:04:19,544 is just continuing to support Debian teams to track the health of the packages and to 72 00:04:19,928 --> 00:04:21,659 and to prioritize their work efforts 73 00:04:21,862 --> 00:04:23,147 by migrating the PET features 74 00:04:23,428 --> 00:04:24,895 to Distro Tracker, and also 75 00:04:25,284 --> 00:04:27,614 we want to track Salsa repositories instead of Alioth. 76 00:04:28,918 --> 00:04:30,796 So, what are the results we have so far? 77 00:04:31,684 --> 00:04:32,645 So, basically... 78 00:04:32,896 --> 00:04:34,213 if you enter a team page, 79 00:04:34,547 --> 00:04:36,093 of anything inside Distro Tracker 80 00:04:36,470 --> 00:04:38,163 you are going to get this kind of table 81 00:04:38,658 --> 00:04:40,500 so basically you have the first column 82 00:04:40,803 --> 00:04:41,769 with the package name 83 00:04:42,355 --> 00:04:44,432 the second column with the changelog version 84 00:04:44,706 --> 00:04:45,993 and the VCS of that package, 85 00:04:46,412 --> 00:04:48,310 the third column with the archive version, 86 00:04:49,126 --> 00:04:51,078 we also are tracking the bugs here 87 00:04:51,340 --> 00:04:52,300 and the last column 88 00:04:53,070 --> 00:04:54,734 has the upstream version. 89 00:04:55,072 --> 00:04:57,006 OK, of this package. 90 00:04:57,249 --> 00:05:00,200 And, another interesting feature 91 00:05:00,391 --> 00:05:02,201 that we are providing you is that if 92 00:05:02,743 --> 00:05:04,043 you pass the mouse over 93 00:05:04,414 --> 00:05:06,115 one of those fields, you are going to get 94 00:05:06,415 --> 00:05:08,453 more detailed information about that specific field. 95 00:05:09,265 --> 00:05:10,799 OK, so for example here we have 96 00:05:11,711 --> 00:05:13,615 the information links to BTS 97 00:05:14,315 --> 00:05:15,652 related to the bugs 98 00:05:16,140 --> 00:05:17,603 that exist for the package. 99 00:05:19,768 --> 00:05:23,034 We also provide some categories 100 00:05:23,419 --> 00:05:24,866 so basically we could have 101 00:05:25,259 --> 00:05:27,244 more than one category of package tables 102 00:05:27,539 --> 00:05:29,436 for example, you could have like 103 00:05:29,616 --> 00:05:30,751 packages with RC bugs, 104 00:05:31,004 --> 00:05:32,890 packages that have a new version 105 00:05:33,129 --> 00:05:34,637 in the upstream, and we have 106 00:05:35,088 --> 00:05:37,219 specific pages where each of these 107 00:05:37,462 --> 00:05:39,121 package tables. OK? 108 00:05:40,041 --> 00:05:41,102 And we have 109 00:05:41,374 --> 00:05:42,857 a large number of teams 110 00:05:43,329 --> 00:05:46,539 inside Debian, inside this specifically inside the Distro Tracker, 111 00:05:46,975 --> 00:05:48,166 so we also provide this 112 00:05:49,730 --> 00:05:51,202 autocomplete text field 113 00:05:51,667 --> 00:05:53,007 so you can easily find 114 00:05:53,357 --> 00:05:56,417 your team, the team that you are interested in. 115 00:05:57,592 --> 00:05:57,971 And... 116 00:05:58,856 --> 00:06:01,547 that was my resource, and so far we have 117 00:06:01,915 --> 00:06:03,194 faced some challenges, 118 00:06:03,809 --> 00:06:05,502 first is that Distro Tracker 119 00:06:05,806 --> 00:06:08,130 has a generic purpose architecture 120 00:06:08,363 --> 00:06:10,179 because it should be used by several 121 00:06:10,523 --> 00:06:12,543 distros, so it's also being 122 00:06:12,784 --> 00:06:14,541 used by the Kali community, so basically 123 00:06:14,855 --> 00:06:18,403 everything you are going to do you have to make it extensible, have to design it 124 00:06:18,769 --> 00:06:20,930 to be extensible by this specific application 125 00:06:21,254 --> 00:06:22,956 that implements that specific features from 126 00:06:23,511 --> 00:06:25,359 their distros. 127 00:06:26,251 --> 00:06:28,164 Also, the database design is challenging, because 128 00:06:28,526 --> 00:06:31,850 we have to collect all this data from several 129 00:06:32,991 --> 00:06:34,325 database tables 130 00:06:36,586 --> 00:06:37,668 and some of these 131 00:06:37,871 --> 00:06:41,291 context is realized in JSON fields inside the database 132 00:06:41,616 --> 00:06:43,495 so it's not easy to get these. And also, 133 00:06:43,761 --> 00:06:45,231 we have faced some problems, 134 00:06:45,482 --> 00:06:47,254 some performance problems, because we are 135 00:06:47,578 --> 00:06:49,680 we are handling a large number of table cells 136 00:06:49,845 --> 00:06:51,284 dynamically, so basically we are building 137 00:06:51,560 --> 00:06:53,353 it of these table cells 138 00:06:54,165 --> 00:06:55,193 in run time. 139 00:06:57,913 --> 00:07:00,513 And, until the end of GSoC, I plan to 140 00:07:00,891 --> 00:07:02,714 create a cache mechanism, I am already 141 00:07:02,996 --> 00:07:04,528 working on that, proposed a merge request on it, 142 00:07:05,059 --> 00:07:07,078 to try to improve the performance of 143 00:07:07,367 --> 00:07:08,376 table rendering 144 00:07:09,799 --> 00:07:11,121 I also want to have all my 145 00:07:11,472 --> 00:07:14,575 merge requests accepted 146 00:07:15,111 --> 00:07:16,058 inside Salsa 147 00:07:17,457 --> 00:07:18,856 We also want to provide more 148 00:07:19,206 --> 00:07:21,249 package tables with new categories 149 00:07:22,409 --> 00:07:23,956 and also provide a new feature that 150 00:07:24,637 --> 00:07:26,353 you could be able to sort the team 151 00:07:26,633 --> 00:07:28,614 for content based on columns, for example 152 00:07:29,144 --> 00:07:30,396 I want to sort my 153 00:07:31,504 --> 00:07:32,566 my table based on 154 00:07:32,753 --> 00:07:34,004 on the number of bugs, for example. 155 00:07:36,442 --> 00:07:37,681 And there is also that we 156 00:07:38,211 --> 00:07:39,827 got good results so far, and 157 00:07:40,210 --> 00:07:42,694 I have received valuable feedback from the Debian community 158 00:07:43,101 --> 00:07:44,925 and I have a lot of ideas to continue 159 00:07:45,253 --> 00:07:46,938 working on this after the GSoC as well 160 00:07:47,692 --> 00:07:48,634 The GSoC has been 161 00:07:48,868 --> 00:07:50,695 an amazing experience, I have been learning a lot, 162 00:07:51,261 --> 00:07:54,373 which Kanashiro has had to log all the community members 163 00:07:55,222 --> 00:07:57,070 I look into contributing to Debian 164 00:07:57,395 --> 00:07:58,276 of course 165 00:07:58,499 --> 00:08:01,531 Thank you to the Debian community to 166 00:08:01,866 --> 00:08:04,380 provide me this opportunity to come here to DebConf 167 00:08:04,578 --> 00:08:05,666 to present my work. 168 00:08:06,278 --> 00:08:08,895 Lets get moving on, and thanks. 169 00:08:09,021 --> 00:08:12,689 [ audience clapping ] 170 00:08:31,352 --> 00:08:33,225 So, my project is called 171 00:08:33,494 --> 00:08:34,881 "Port Kali Packages to Debian" 172 00:08:35,708 --> 00:08:39,530 and my mentors are Raphaël Hertzog and Gianfranco Costamagna. 173 00:08:39,974 --> 00:08:42,629 Unfortunately, they didn't come to 174 00:08:42,788 --> 00:08:44,322 this year's DebConf, and 175 00:08:46,588 --> 00:08:48,917 we are from the pkg-security 176 00:08:49,157 --> 00:08:50,631 tools packaging team, so this is 177 00:08:50,973 --> 00:08:52,883 something I have been working on 178 00:08:53,467 --> 00:08:55,856 for the past one year and a half 179 00:08:56,200 --> 00:08:58,512 I think I started packaging 180 00:08:58,762 --> 00:08:59,745 on 2016 181 00:09:00,038 --> 00:09:01,575 and in 2017 I started 182 00:09:01,816 --> 00:09:03,609 working on the security tools packaging 183 00:09:04,166 --> 00:09:05,621 because this is something that really 184 00:09:05,848 --> 00:09:07,117 interests me, so 185 00:09:07,583 --> 00:09:09,329 What actually is Kali Linux? 186 00:09:10,051 --> 00:09:13,582 Kali Linux is a digital forensics and pentesting distribution 187 00:09:14,020 --> 00:09:15,721 that has like lots of packages 188 00:09:16,268 --> 00:09:17,458 is by far 189 00:09:17,658 --> 00:09:19,635 the most used distribution 190 00:09:20,183 --> 00:09:22,164 for "capture-the-flag" competitions 191 00:09:23,164 --> 00:09:24,424 and is based on unstable 192 00:09:24,852 --> 00:09:26,551 and the thing is that Kali has 193 00:09:26,789 --> 00:09:28,740 a more relaxed policy 194 00:09:28,989 --> 00:09:30,675 than Debian's, so that's the reason 195 00:09:30,991 --> 00:09:31,892 of the 196 00:09:32,617 --> 00:09:34,120 differences between the packages 197 00:09:34,637 --> 00:09:39,160 I mean, the packages that Kali has and Debian hasn't 198 00:09:39,369 --> 00:09:40,163 so, at first 199 00:09:40,496 --> 00:09:42,436 I did gather some information about 200 00:09:42,661 --> 00:09:44,209 what packages can I work on 201 00:09:44,657 --> 00:09:46,208 and what are the problems 202 00:09:46,473 --> 00:09:48,346 that it should rather get them on Main 203 00:09:48,686 --> 00:09:50,395 So, I first started using 204 00:09:50,653 --> 00:09:53,006 this dashboard from Kali Linux, and they have 205 00:09:53,395 --> 00:09:57,653 also used the tracker system that we use on Debian 206 00:09:58,005 --> 00:09:59,084 and this is a special dashboard 207 00:09:59,304 --> 00:10:01,093 where we can see how many 208 00:10:01,331 --> 00:10:02,921 packages are on Kali Linux that 209 00:10:03,134 --> 00:10:04,128 aren't on Debian 210 00:10:04,777 --> 00:10:06,632 at the time, and this is for today, so there are 211 00:10:06,797 --> 00:10:08,591 477 packages 212 00:10:09,335 --> 00:10:10,695 but this includes dependencies 213 00:10:11,014 --> 00:10:12,772 and lots of packages are not 214 00:10:13,105 --> 00:10:14,867 that really important, and 215 00:10:15,089 --> 00:10:18,831 some of them are not installed by default on Kali 216 00:10:19,315 --> 00:10:20,451 So, the first thing, 217 00:10:20,643 --> 00:10:22,014 I already knew some packages that 218 00:10:22,181 --> 00:10:23,707 I really would like to see on Debian, and 219 00:10:24,035 --> 00:10:25,706 the first one was Metasploit 220 00:10:25,956 --> 00:10:28,280 because it's one of the most used 221 00:10:28,452 --> 00:10:29,415 frameworks for pentesting 222 00:10:29,766 --> 00:10:31,836 I have started by looking at 223 00:10:32,088 --> 00:10:34,330 what should I do 224 00:10:34,554 --> 00:10:36,026 and it was a really tough job 225 00:10:36,232 --> 00:10:37,968 because Metasploit is currently 226 00:10:38,183 --> 00:10:40,154 bundling all their gem dependencies 227 00:10:40,585 --> 00:10:42,447 Because of, this is a huge problem 228 00:10:42,706 --> 00:10:43,762 there was a big discussion 229 00:10:44,023 --> 00:10:45,230 n the Debian mailing lists about that, 230 00:10:45,476 --> 00:10:47,259 but whatever, I use repology 231 00:10:47,582 --> 00:10:49,246 in order to see what distros 232 00:10:49,547 --> 00:10:51,332 were already packaging this stuff 233 00:10:51,589 --> 00:10:53,466 and at the end, there should 234 00:10:53,730 --> 00:10:55,362 be around 40 packages 235 00:10:55,592 --> 00:10:57,878 that I had to package in order 236 00:10:58,094 --> 00:10:59,362 to see if it would work, because 237 00:10:59,600 --> 00:11:01,292 you have the version problem, because 238 00:11:01,489 --> 00:11:03,056 bundling the distro version, and 239 00:11:03,264 --> 00:11:05,643 we decided not to do that 240 00:11:05,820 --> 00:11:07,533 during this project, so I 241 00:11:07,780 --> 00:11:09,692 had to look for other packages 242 00:11:09,988 --> 00:11:11,568 and I didn't want to 243 00:11:11,731 --> 00:11:13,694 do this manually, so I 244 00:11:13,918 --> 00:11:15,088 developed a 245 00:11:16,276 --> 00:11:17,460 kind of big shell script 246 00:11:17,711 --> 00:11:19,107 it shouldn't be a shell script, it should be in 247 00:11:19,326 --> 00:11:20,788 a programming language, but 248 00:11:21,223 --> 00:11:23,329 got big worked on, and to this 249 00:11:23,547 --> 00:11:25,091 scripts I give 250 00:11:25,346 --> 00:11:26,916 I input it a list of packages, and it 251 00:11:27,090 --> 00:11:28,444 cloned all the Kali 252 00:11:28,767 --> 00:11:30,868 Git repositories for this package, 253 00:11:31,406 --> 00:11:33,081 build each one of them, and did 254 00:11:33,474 --> 00:11:34,983 some basic checks, like if 255 00:11:35,290 --> 00:11:36,314 it is a default 256 00:11:37,450 --> 00:11:38,473 Kali package, if it's 257 00:11:39,493 --> 00:11:41,359 buildable, because some of the packages 258 00:11:41,633 --> 00:11:43,532 are not buildable because we don't have 259 00:11:43,721 --> 00:11:44,996 the build dependencies in Debian right now, 260 00:11:45,284 --> 00:11:47,530 it checks if it is DEP5 compliant already, 261 00:11:47,749 --> 00:11:49,392 if we need manpages, if we need 262 00:11:49,752 --> 00:11:50,665 hardening, if 263 00:11:50,946 --> 00:11:52,987 it is bundling some gems, and if 264 00:11:53,348 --> 00:11:55,871 there are [?], there is about 265 00:11:56,329 --> 00:11:57,794 twenty or thirty something 266 00:11:58,089 --> 00:11:59,445 columns on here 267 00:11:59,770 --> 00:12:01,503 so you have lots of info 268 00:12:01,786 --> 00:12:03,494 and in order to know 269 00:12:03,734 --> 00:12:05,762 which are the most important issues 270 00:12:06,236 --> 00:12:08,186 Raphaël gave me the idea to 271 00:12:08,426 --> 00:12:10,417 look for the number of uploads that 272 00:12:10,799 --> 00:12:12,410 the package had since 273 00:12:12,627 --> 00:12:13,714 it hit Kali, so I 274 00:12:13,957 --> 00:12:15,271 can only 275 00:12:15,527 --> 00:12:17,707 just sort for the number of uploads 276 00:12:17,996 --> 00:12:19,895 and I have the most important ones. 277 00:12:20,242 --> 00:12:22,233 This made the process 278 00:12:22,487 --> 00:12:24,540 really easy, like a lot more 279 00:12:24,772 --> 00:12:25,835 easy, and I 280 00:12:26,407 --> 00:12:28,265 am publishing this on our team's 281 00:12:28,576 --> 00:12:30,454 wiki page, and I will keep using this 282 00:12:30,813 --> 00:12:32,313 like, forever 283 00:12:32,574 --> 00:12:34,568 because it really helps other people that 284 00:12:34,792 --> 00:12:37,132 want to contribute to our team, and 285 00:12:38,696 --> 00:12:40,727 this is another software 286 00:12:41,046 --> 00:12:43,217 that I tried, how many time do I have? 287 00:12:43,740 --> 00:12:44,559 OK 288 00:12:45,127 --> 00:12:47,085 another package that I really want to 289 00:12:47,281 --> 00:12:48,873 see on Debian is zaproxy, and 290 00:12:49,263 --> 00:12:50,761 for zaproxy, 291 00:12:51,013 --> 00:12:52,701 I had to do a manual checking, because it is 292 00:12:52,943 --> 00:12:54,121 a Java program, and 293 00:12:54,641 --> 00:12:57,870 Java has... I really don't like Java, so 294 00:12:58,250 --> 00:12:59,630 they bundle like 295 00:13:00,044 --> 00:13:02,176 ...zaproxy is great software, but 296 00:13:02,746 --> 00:13:04,282 they bundle some 297 00:13:04,501 --> 00:13:06,154 libraries, and I 298 00:13:06,405 --> 00:13:08,388 talked to upstream, and they are very 299 00:13:08,652 --> 00:13:09,904 receptive, and they 300 00:13:10,204 --> 00:13:11,817 want to help us, but 301 00:13:12,732 --> 00:13:14,719 I didn't manage to package it yet, 302 00:13:15,174 --> 00:13:17,283 I think I will do it after GSoC 303 00:13:17,662 --> 00:13:19,241 but there are 304 00:13:19,453 --> 00:13:21,594 some packages that we need to introduce 305 00:13:21,773 --> 00:13:23,468 on Debian. Some of the packages that zaproxy 306 00:13:23,798 --> 00:13:25,406 upstream is thinking about 307 00:13:25,606 --> 00:13:28,456 dropping them, and putting just on the extensions, because 308 00:13:29,095 --> 00:13:34,056 the core doesn't need them and some of the packages are old 309 00:13:34,698 --> 00:13:35,814 and stuff like that, we have 310 00:13:36,920 --> 00:13:38,740 there is a lot of problems that you can have 311 00:13:40,019 --> 00:13:41,155 like... there was a 312 00:13:41,434 --> 00:13:43,589 package which was GPL licensed 313 00:13:44,093 --> 00:13:45,445 but it was linking against 314 00:13:45,735 --> 00:13:47,554 OpenSSL, and in order 315 00:13:47,820 --> 00:13:49,748 to do that, you have to either add 316 00:13:50,005 --> 00:13:51,433 a license exception to your license 317 00:13:51,685 --> 00:13:53,781 And I talked to upstream, and 318 00:13:54,187 --> 00:13:56,319 it cooperative upstream, 319 00:13:56,633 --> 00:13:58,371 it is a software which is used 320 00:13:58,913 --> 00:13:59,819 to break 321 00:14:00,066 --> 00:14:00,990 WiFi password, 322 00:14:01,284 --> 00:14:02,798 like, doing offline cracking 323 00:14:04,175 --> 00:14:05,892 and upsream decided to change its license 324 00:14:06,457 --> 00:14:07,682 to BSD license 325 00:14:08,065 --> 00:14:09,381 so we could release that on Debian. I 326 00:14:09,746 --> 00:14:12,159 can't remember right now if it's on the NEW queue 327 00:14:12,455 --> 00:14:13,892 or if it already hit 328 00:14:14,132 --> 00:14:15,629 unstable, but I think is on the NEW queue. 329 00:14:17,708 --> 00:14:18,610 So, in the end, 330 00:14:20,579 --> 00:14:22,240 the results are, I made the script, 331 00:14:22,486 --> 00:14:24,491 which is going to be used by 332 00:14:24,708 --> 00:14:26,071 some time. There are some 333 00:14:26,259 --> 00:14:27,419 fixes that can be 334 00:14:29,455 --> 00:14:31,980 We have to do on the script to make it better 335 00:14:32,368 --> 00:14:33,574 to make the checking better, because 336 00:14:33,785 --> 00:14:35,196 we still have some corner cases where 337 00:14:35,493 --> 00:14:36,954 it doesn't work really well, 338 00:14:37,975 --> 00:14:39,427 we got some new packages in Debian, 339 00:14:39,686 --> 00:14:40,894 which is really good. I have to 340 00:14:41,135 --> 00:14:43,555 make some upstream contributions, because 341 00:14:44,466 --> 00:14:45,793 for some packages I wrote 342 00:14:46,028 --> 00:14:47,663 their manpage, and I sent it 343 00:14:48,124 --> 00:14:49,852 to upstream, there was this 344 00:14:50,225 --> 00:14:51,859 company of software that 345 00:14:52,090 --> 00:14:53,618 changed its licensing to be like 346 00:14:54,015 --> 00:14:55,818 correctly compliant with 347 00:14:56,104 --> 00:14:57,818 OpenSSL license, and 348 00:14:58,869 --> 00:15:00,034 and we got now a better 349 00:15:00,229 --> 00:15:01,977 Kali and Debian for its users, because 350 00:15:02,320 --> 00:15:03,832 when a package is just 351 00:15:04,035 --> 00:15:05,897 in Kali, they don't like 352 00:15:06,986 --> 00:15:08,098 to do hardening, 353 00:15:08,314 --> 00:15:09,906 that's one example of things that 354 00:15:10,187 --> 00:15:12,518 gets better when the package hits Debian 355 00:15:13,381 --> 00:15:16,445 because when we enable hardening 356 00:15:16,653 --> 00:15:19,150 sometimes we see problems that makes the package to 357 00:15:19,344 --> 00:15:21,683 fail to build, and then we fix that, 358 00:15:21,931 --> 00:15:23,832 upload to Debian, and when the package hits 359 00:15:24,159 --> 00:15:25,735 unstable, Kali starts 360 00:15:26,054 --> 00:15:28,877 taking this package from Debian, and 361 00:15:29,107 --> 00:15:30,418 they can use our infrastructure 362 00:15:30,715 --> 00:15:31,944 to do some QA 363 00:15:32,193 --> 00:15:34,835 and stuff like that, and they 364 00:15:35,048 --> 00:15:36,879 there are two people from Kali that I know at least, 365 00:15:37,120 --> 00:15:38,450 Raphaël and Sophie, and they work 366 00:15:38,656 --> 00:15:40,691 on Debian also, on our team, so 367 00:15:40,946 --> 00:15:42,763 when there's a new release, they upload 368 00:15:43,015 --> 00:15:44,300 the release on Debian, 369 00:15:44,746 --> 00:15:46,612 so Debian users win 370 00:15:46,944 --> 00:15:48,513 by that also, and 371 00:15:48,808 --> 00:15:50,778 they already did lots of work 372 00:15:51,138 --> 00:15:52,492 on their packages, so 373 00:15:52,776 --> 00:15:54,753 yes, I think that's 374 00:15:56,320 --> 00:15:58,477 the summary of the results 375 00:15:59,529 --> 00:16:00,463 Thank you. 376 00:16:01,367 --> 00:16:04,305 [ audience clapping ] 377 00:16:31,556 --> 00:16:33,169 Hello, I am Enkelena Haxhiu 378 00:16:33,405 --> 00:16:35,371 I am from the Republic of Kosovo, and 379 00:16:35,722 --> 00:16:38,286 I am here to represent my Google Summer of Code 380 00:16:39,512 --> 00:16:40,555 project. My mentors are 381 00:16:40,716 --> 00:16:42,139 Bruno Milena and Gabriela. 382 00:16:43,156 --> 00:16:44,154 So, my project is 383 00:16:44,505 --> 00:16:45,782 a Mozilla Firefox 384 00:16:46,152 --> 00:16:47,908 web extension to 385 00:16:48,103 --> 00:16:49,818 give free and... 386 00:16:50,092 --> 00:16:52,384 to give free software alternatives 387 00:16:52,689 --> 00:16:54,349 to the apps on the Internet, so to have 388 00:16:54,609 --> 00:16:56,251 avoiding non-free 389 00:16:56,910 --> 00:16:58,863 apps and sites. 390 00:16:59,339 --> 00:17:01,291 So, the goals for this project 391 00:17:01,795 --> 00:17:02,858 were that 392 00:17:03,141 --> 00:17:04,720 while the user is surfing 393 00:17:04,942 --> 00:17:06,647 on the Internet, the moment that he 394 00:17:06,818 --> 00:17:07,982 uses a non-free 395 00:17:08,229 --> 00:17:09,692 software, 396 00:17:10,424 --> 00:17:12,554 my extension will detect it 397 00:17:12,945 --> 00:17:14,724 and then give an 398 00:17:14,963 --> 00:17:17,640 alternative to it, a free software alternative. 399 00:17:18,319 --> 00:17:19,844 The user should be able 400 00:17:20,039 --> 00:17:21,590 to stop it when it's annoying, 401 00:17:21,821 --> 00:17:23,710 and the notifications should be 402 00:17:23,922 --> 00:17:25,044 only once per session, 403 00:17:25,355 --> 00:17:27,156 and we wanted to have like a 404 00:17:27,367 --> 00:17:29,545 database through self-hosted 405 00:17:29,794 --> 00:17:31,579 API, or to use 406 00:17:31,810 --> 00:17:33,878 a free software device 407 00:17:34,119 --> 00:17:35,514 and then all this database 408 00:17:35,774 --> 00:17:36,960 show it on our Web page. 409 00:17:38,622 --> 00:17:40,483 I started by making 410 00:17:41,837 --> 00:17:43,660 the user experience design, 411 00:17:44,024 --> 00:17:45,708 based on that, because 412 00:17:46,035 --> 00:17:47,960 should work like, should work fine, 413 00:17:48,289 --> 00:17:50,013 I made some sketches and mockups 414 00:17:50,345 --> 00:17:51,563 and then the persona 415 00:17:51,922 --> 00:17:54,088 and then the finding the bad habits of apps, 416 00:17:54,484 --> 00:17:55,911 like research, and 417 00:17:56,113 --> 00:17:58,439 I started implementing it by 418 00:17:58,560 --> 00:18:00,184 coding it, I used Mozilla 419 00:18:00,380 --> 00:18:01,992 API to make my extension 420 00:18:02,066 --> 00:18:04,207 communicate with the Web browser API 421 00:18:05,347 --> 00:18:06,265 I created a 422 00:18:06,558 --> 00:18:08,233 JSON data file, it's like 423 00:18:08,519 --> 00:18:10,173 a proof of concept to just take 424 00:18:10,508 --> 00:18:12,368 the data, because this is going to be 425 00:18:12,547 --> 00:18:13,894 later in a real database. 426 00:18:14,558 --> 00:18:15,826 So the code 427 00:18:16,078 --> 00:18:17,529 logic, do 428 00:18:18,023 --> 00:18:20,008 select and display the alternatives 429 00:18:20,378 --> 00:18:21,464 based on the current 430 00:18:21,940 --> 00:18:23,556 active website, is that 431 00:18:23,873 --> 00:18:25,756 we should get the URL, 432 00:18:26,048 --> 00:18:27,585 identify it by sending... 433 00:18:28,538 --> 00:18:30,241 Identify it, and then to send 434 00:18:30,472 --> 00:18:31,821 to that JSON file, check 435 00:18:32,181 --> 00:18:34,018 and, based on 436 00:18:34,290 --> 00:18:35,719 that, to give an alternative. 437 00:18:35,954 --> 00:18:38,039 If it exists, of course. We did 438 00:18:38,314 --> 00:18:40,182 We don't want to annoy the user 439 00:18:40,864 --> 00:18:42,284 like, to show too much notifications 440 00:18:42,537 --> 00:18:44,124 so we made it only once 441 00:18:44,372 --> 00:18:45,965 per session for the current app, 442 00:18:46,371 --> 00:18:48,101 and it has the ability to 443 00:18:48,383 --> 00:18:49,708 stop and start it. We use the 444 00:18:49,974 --> 00:18:51,923 local storage to hold the 445 00:18:52,170 --> 00:18:53,183 user settings 446 00:18:54,054 --> 00:18:56,068 and then we have to present this 447 00:18:56,284 --> 00:18:57,795 free software list through 448 00:18:58,019 --> 00:18:59,623 a web page that is generated by 449 00:18:59,878 --> 00:19:01,101 that database. 450 00:19:02,502 --> 00:19:04,017 This is like a simple diagram 451 00:19:04,984 --> 00:19:06,475 of basically what I just said. 452 00:19:07,621 --> 00:19:10,176 These are some screenshots with words 453 00:19:10,569 --> 00:19:12,181 for example, Dropbox is a nonfree 454 00:19:12,426 --> 00:19:15,587 software, and this is 455 00:19:16,665 --> 00:19:18,986 the notification that it gets 456 00:19:19,344 --> 00:19:21,139 it says, "Dropbox has open source alternatives 457 00:19:21,497 --> 00:19:23,440 like seafile", 458 00:19:23,815 --> 00:19:24,984 and then, I have here 459 00:19:26,041 --> 00:19:27,936 the web page that it gets 460 00:19:28,522 --> 00:19:30,505 the extension popup 461 00:19:31,232 --> 00:19:33,470 and all these things. This is how it looks like. 462 00:19:34,002 --> 00:19:36,365 And then, i made a project website 463 00:19:36,694 --> 00:19:39,204 which holds all the data 464 00:19:39,661 --> 00:19:41,035 I made the design of it and 465 00:19:41,215 --> 00:19:43,083 the frontend and the data generation. 466 00:19:43,373 --> 00:19:44,878 I plan to leave this open 467 00:19:45,249 --> 00:19:47,350 so developers can add stuff there 468 00:19:47,671 --> 00:19:49,720 to the database, and then 469 00:19:49,969 --> 00:19:52,092 generates it, and 470 00:19:52,347 --> 00:19:54,114 it goes, like, right away to the 471 00:19:55,489 --> 00:19:57,198 to the project website. 472 00:19:57,528 --> 00:19:59,082 I don't need to hard-code... 473 00:19:59,550 --> 00:20:00,915 hard-code it or something. 474 00:20:01,176 --> 00:20:02,532 Then I made the documentation of it, 475 00:20:02,720 --> 00:20:05,062 I split it into three sections, 476 00:20:05,467 --> 00:20:07,548 in the information about the project, 477 00:20:07,769 --> 00:20:09,074 general things, 478 00:20:09,249 --> 00:20:11,204 what's the purpose, how it works, and 479 00:20:11,501 --> 00:20:13,757 the second one is the contribution, 480 00:20:14,055 --> 00:20:15,983 how can developers contribute 481 00:20:16,199 --> 00:20:17,991 to it, and the third one 482 00:20:18,216 --> 00:20:19,355 is about 483 00:20:19,481 --> 00:20:20,960 the technical aspects, like 484 00:20:21,154 --> 00:20:22,724 debugging, and cloning the repo for new 485 00:20:22,912 --> 00:20:24,094 developers. So this is like 486 00:20:24,246 --> 00:20:25,379 an example of it. 487 00:20:26,898 --> 00:20:28,128 And for the future, 488 00:20:28,337 --> 00:20:29,884 I plan to continue my 489 00:20:30,093 --> 00:20:32,722 project, even after GSoC 490 00:20:32,961 --> 00:20:34,961 the first thing I need to do 491 00:20:35,154 --> 00:20:37,094 like, probably now, I am 492 00:20:37,259 --> 00:20:38,392 going to put it in the 493 00:20:38,590 --> 00:20:40,263 Mozilla Firefox market, 494 00:20:40,845 --> 00:20:42,641 and later I can make it 495 00:20:42,894 --> 00:20:44,774 for other browsers like Chromium 496 00:20:45,125 --> 00:20:46,723 but we need to change the 497 00:20:46,987 --> 00:20:49,052 API there, and I thought 498 00:20:49,293 --> 00:20:51,309 the package could get in Debian, because 499 00:20:51,523 --> 00:20:53,627 while I was here, I learnt about 500 00:20:53,928 --> 00:20:55,508 packaging and 501 00:20:55,704 --> 00:20:56,952 upstreaming and all that stuff, so 502 00:20:57,365 --> 00:20:58,995 I think I am probably going to do that 503 00:20:59,200 --> 00:21:00,599 but not for now, because I want 504 00:21:00,846 --> 00:21:01,970 my users to be 505 00:21:02,194 --> 00:21:05,215 like, all Internet users, not just 506 00:21:05,422 --> 00:21:07,452 Debian operating system users. 507 00:21:08,259 --> 00:21:09,802 Another thing is that I want 508 00:21:10,023 --> 00:21:12,041 it to be integrated with other free 509 00:21:12,213 --> 00:21:14,007 software services, like SUSI 510 00:21:14,227 --> 00:21:16,567 artificial intelligence, and 511 00:21:16,812 --> 00:21:18,036 Thunderbird in upstream 512 00:21:18,245 --> 00:21:20,166 SUSI is a 513 00:21:20,406 --> 00:21:22,919 speaking and texting artificial 514 00:21:23,115 --> 00:21:24,740 intelligence that gives you responses 515 00:21:25,485 --> 00:21:26,730 and I plan to use 516 00:21:26,938 --> 00:21:28,688 that giving the suggestions 517 00:21:29,070 --> 00:21:30,015 by speech. 518 00:21:30,695 --> 00:21:32,613 On my extension, 519 00:21:32,806 --> 00:21:35,397 with Thunderbird I felt it to be 520 00:21:35,593 --> 00:21:36,899 like, to work 521 00:21:37,110 --> 00:21:38,608 like in Mozilla, but, you know, when a 522 00:21:38,816 --> 00:21:41,182 user gets an e-mail from a non-free side, 523 00:21:41,531 --> 00:21:42,739 then it should 524 00:21:43,150 --> 00:21:44,603 send a suggestion, 525 00:21:44,978 --> 00:21:47,225 "use this, don't use this", like 526 00:21:47,406 --> 00:21:49,002 I just basically explained, 527 00:21:49,290 --> 00:21:51,414 and with upstream, I thought that 528 00:21:51,830 --> 00:21:53,307 all my database should be 529 00:21:53,525 --> 00:21:54,819 there, to put it there, and 530 00:21:55,153 --> 00:21:57,625 it could help upstream, and it can 531 00:21:57,873 --> 00:21:58,770 it could help me. 532 00:21:59,012 --> 00:22:00,440 Here, I have my 533 00:22:00,623 --> 00:22:03,417 experience with Debian, I heard about Debian 534 00:22:03,978 --> 00:22:06,123 last year, in a girl's hackathon 535 00:22:06,649 --> 00:22:07,673 and then later 536 00:22:07,852 --> 00:22:09,527 in Tirana, in Albania, where 537 00:22:09,703 --> 00:22:12,023 in a Debian bugs squashing party, 538 00:22:12,253 --> 00:22:13,868 a DD was there, and 539 00:22:14,043 --> 00:22:15,998 we planned on 540 00:22:16,216 --> 00:22:17,539 -- sorry -- 541 00:22:17,757 --> 00:22:19,286 working a bit more than 542 00:22:19,464 --> 00:22:21,734 With Daniel Pocock we had 543 00:22:21,984 --> 00:22:22,811 we made... 544 00:22:23,094 --> 00:22:25,979 A speech together, we gave under 545 00:22:26,220 --> 00:22:28,004 in the biggest open source conference 546 00:22:28,209 --> 00:22:29,941 in the whole Balkans, it was about 547 00:22:30,156 --> 00:22:32,433 Free Software. And about my project, 548 00:22:32,643 --> 00:22:34,085 I read a whole book to 549 00:22:34,343 --> 00:22:36,204 understsand it a little bit more, to be 550 00:22:36,421 --> 00:22:38,208 more prepared. And I want to 551 00:22:38,452 --> 00:22:40,214 thank the Debian people for giving me this 552 00:22:40,465 --> 00:22:42,302 opportunity to talk here, in front of you, 553 00:22:43,044 --> 00:22:45,146 and I hope I'll be a DD soon. 554 00:22:45,629 --> 00:22:46,819 Thank you! 555 00:23:53,127 --> 00:23:54,648 So... Yeah, it's working. 556 00:23:56,114 --> 00:23:58,344 So, before... My name is Elena 557 00:23:58,848 --> 00:24:00,745 Elena Gjevukaj, and I come from Kosovo. 558 00:24:01,127 --> 00:24:04,032 Before I start, 559 00:24:04,250 --> 00:24:05,800 to present my project, I want to mention that 560 00:24:06,363 --> 00:24:08,953 this year in the GSoC is the first time 561 00:24:09,216 --> 00:24:10,916 that our country is participating. 562 00:24:11,615 --> 00:24:13,926 It was funny, because even when we had 563 00:24:14,320 --> 00:24:16,317 applied for the GSoC, we had 564 00:24:16,579 --> 00:24:18,177 to ask Google to add 565 00:24:18,458 --> 00:24:19,959 our country in the list, so 566 00:24:20,590 --> 00:24:21,278 you know how... 567 00:24:22,394 --> 00:24:24,486 We thought that we didn't 568 00:24:24,707 --> 00:24:26,867 have any more opportunities 569 00:24:27,142 --> 00:24:27,998 or any... 570 00:24:28,743 --> 00:24:30,750 we just thought they aren't going to accept us. 571 00:24:31,326 --> 00:24:32,761 But hopefully for us, we have 572 00:24:33,727 --> 00:24:34,798 a great mentor, 573 00:24:35,106 --> 00:24:37,424 Daniel Pocock, I think many of you 574 00:24:37,626 --> 00:24:38,988 guys know him, 575 00:24:39,555 --> 00:24:41,141 and he helped us 576 00:24:41,410 --> 00:24:42,855 with everything that we needed 577 00:24:43,132 --> 00:24:45,179 for all of the applications 578 00:24:45,947 --> 00:24:47,133 and everything else. 579 00:24:48,373 --> 00:24:49,891 So, going back to my project, 580 00:24:50,282 --> 00:24:51,783 My project 581 00:24:51,978 --> 00:24:53,571 is basically what I just said 582 00:24:54,005 --> 00:24:55,731 right now. So, knowing that 583 00:24:55,990 --> 00:24:57,689 newcomers to the open source have a lot 584 00:24:57,939 --> 00:24:59,347 of problems to, 585 00:24:59,612 --> 00:25:01,781 to just set up 586 00:25:02,005 --> 00:25:03,566 a development environment 587 00:25:05,686 --> 00:25:06,281 and 588 00:25:07,493 --> 00:25:10,307 that's why we wanted 589 00:25:10,651 --> 00:25:11,473 to create... 590 00:25:12,717 --> 00:25:13,951 to create a GUI 591 00:25:14,941 --> 00:25:17,529 so my project is a new contributor... 592 00:25:17,877 --> 00:25:18,967 contributor wizard 593 00:25:19,278 --> 00:25:21,061 and is basically a GUI that 594 00:25:21,341 --> 00:25:23,286 could be distributed as a 595 00:25:23,513 --> 00:25:24,659 package, and 596 00:25:24,961 --> 00:25:26,696 to help the newcomer 597 00:25:27,077 --> 00:25:28,607 to Debian and open source 598 00:25:29,467 --> 00:25:30,504 to start their work 599 00:25:30,882 --> 00:25:33,979 on the open source projects. 600 00:25:35,093 --> 00:25:36,026 For example, if you want to 601 00:25:36,305 --> 00:25:38,689 apply in GSoC or Outreachy 602 00:25:39,119 --> 00:25:40,651 or other programs like this 603 00:25:41,078 --> 00:25:42,778 you will need a lot of things 604 00:25:43,119 --> 00:25:45,237 because if you are a new person, 605 00:25:45,457 --> 00:25:47,277 you are newcoming to Debian, or 606 00:25:47,542 --> 00:25:48,904 any other version of 607 00:25:49,112 --> 00:25:50,592 Linux, you will have a lot of 608 00:25:50,861 --> 00:25:52,719 problems to start up, so 609 00:25:53,033 --> 00:25:54,830 what we want to do with this 610 00:25:55,153 --> 00:25:57,006 is to help students 611 00:25:57,226 --> 00:25:59,114 to run this computer 612 00:25:59,347 --> 00:26:00,978 program in their desktop 613 00:26:01,204 --> 00:26:02,882 and have to understand 614 00:26:03,103 --> 00:26:04,834 everything that they need, for example 615 00:26:05,099 --> 00:26:06,839 they will need for sure, how to use 616 00:26:07,058 --> 00:26:08,620 IRC, they will need 617 00:26:08,870 --> 00:26:11,405 basically a blog to explain 618 00:26:11,616 --> 00:26:13,255 their work or add portfolio on it, 619 00:26:13,484 --> 00:26:15,028 so they will need 620 00:26:15,203 --> 00:26:17,208 a PGP or 621 00:26:17,582 --> 00:26:18,886 other things like this 622 00:26:19,093 --> 00:26:20,836 that we usually use in open source 623 00:26:21,141 --> 00:26:22,931 so, my part of the project 624 00:26:23,337 --> 00:26:24,032 in this 625 00:26:24,952 --> 00:26:26,761 in this month of 626 00:26:26,971 --> 00:26:28,390 the Google Summer of Code, 627 00:26:28,653 --> 00:26:31,292 was the blog module, 628 00:26:31,553 --> 00:26:32,886 basically, I created 629 00:26:33,147 --> 00:26:34,486 a module that will 630 00:26:34,863 --> 00:26:36,369 generate automatically 631 00:26:37,002 --> 00:26:39,386 ...build dynamic and static websites. 632 00:26:39,775 --> 00:26:42,005 And the other part 633 00:26:42,217 --> 00:26:43,779 of it was that I did a lot of 634 00:26:44,034 --> 00:26:45,654 research on what students 635 00:26:45,964 --> 00:26:46,973 need for... 636 00:26:47,320 --> 00:26:50,015 and we should include in the research 637 00:26:52,041 --> 00:26:54,074 Another thing that I want to 638 00:26:54,295 --> 00:26:55,535 mention is that students 639 00:26:55,791 --> 00:26:57,687 don't know that much... 640 00:26:57,928 --> 00:27:02,153 They have problems using the terminal 641 00:27:02,494 --> 00:27:03,648 or installing 642 00:27:04,063 --> 00:27:06,810 programs when they have usually installed Debian, 643 00:27:07,031 --> 00:27:08,678 I will make sure 644 00:27:08,933 --> 00:27:12,634 add that type of tutorials, or 645 00:27:12,826 --> 00:27:14,118 for example 646 00:27:14,406 --> 00:27:15,656 description of something 647 00:27:15,862 --> 00:27:17,400 that will help them, how 648 00:27:17,599 --> 00:27:19,081 to proceed and apply, and 649 00:27:19,404 --> 00:27:21,720 maybe be a successful applicant 650 00:27:21,974 --> 00:27:23,682 for GSoC. So, that's it. 651 00:27:24,153 --> 00:27:25,296 Thank you! 652 00:27:25,606 --> 00:27:29,352 [ audience clapping ] 653 00:27:53,200 --> 00:27:56,200 Hello everyone! 654 00:27:56,200 --> 00:27:58,200 My name is Diellza Shabani 655 00:27:58,200 --> 00:28:00,200 and I also come from Kosovo, 656 00:28:00,200 --> 00:28:02,200 I am a student of Computer Science 657 00:28:02,200 --> 00:28:04,200 and Engineering, 658 00:28:04,200 --> 00:28:06,200 I'm finishing my studies 659 00:28:06,200 --> 00:28:08,200 this year hopefully, 660 00:28:08,200 --> 00:28:10,200 so I am also doing 661 00:28:10,200 --> 00:28:12,200 a Google Summer of Code project, 662 00:28:12,200 --> 00:28:14,200 I haven't prepared any slides, 663 00:28:14,200 --> 00:28:16,200 because I 664 00:28:16,200 --> 00:28:18,200 didn't see it necessary, 665 00:28:18,200 --> 00:28:20,800 so, my project's name is 666 00:28:20,800 --> 00:28:22,800 "Click to dial from 667 00:28:22,800 --> 00:28:24,800 Linux Desktop", and 668 00:28:24,800 --> 00:28:26,800 my mentor is Thomas Levine, 669 00:28:26,800 --> 00:28:28,800 he couldn't join us 670 00:28:28,800 --> 00:28:30,800 at the conference this year, 671 00:28:30,800 --> 00:28:32,800 so, what I have been 672 00:28:32,800 --> 00:28:34,800 working on this project is that 673 00:28:36,800 --> 00:28:38,800 we are three students 674 00:28:38,800 --> 00:28:40,800 on this project, because it's really 675 00:28:40,800 --> 00:28:42,800 a big thing, we started 676 00:28:42,800 --> 00:28:44,800 working in this last year 677 00:28:44,800 --> 00:28:46,800 in the [?] hackathon, 678 00:28:46,800 --> 00:28:48,800 in [?], 679 00:28:48,800 --> 00:28:50,800 we started doing the project 680 00:28:50,800 --> 00:28:52,800 in Python first, 681 00:28:52,800 --> 00:28:54,800 we did some 682 00:28:54,800 --> 00:28:57,130 pop-ups and some really basic things, 683 00:28:57,130 --> 00:28:59,130 ...So, 684 00:28:59,130 --> 00:29:01,130 we thought to continue that, but 685 00:29:01,130 --> 00:29:03,130 now that the project is 686 00:29:03,130 --> 00:29:05,130 bigger, and there are three students 687 00:29:05,130 --> 00:29:07,600 doing this, it is separated 688 00:29:07,600 --> 00:29:09,600 in two different things, and 689 00:29:09,600 --> 00:29:11,600 the two other students 690 00:29:11,600 --> 00:29:13,600 are doing something else, 691 00:29:13,600 --> 00:29:15,600 and we plan to do 692 00:29:15,600 --> 00:29:17,600 something like mobile 693 00:29:17,600 --> 00:29:19,600 application, 694 00:29:19,600 --> 00:29:22,530 but still haven't figured it out. 695 00:29:22,530 --> 00:29:24,530 For the moment, we are 696 00:29:24,530 --> 00:29:26,530 doing only a website, 697 00:29:26,530 --> 00:29:28,530 a Web application, 698 00:29:28,530 --> 00:29:30,530 and 699 00:29:30,530 --> 00:29:32,530 we are working on 700 00:29:32,530 --> 00:29:34,530 the existing projects 701 00:29:34,530 --> 00:29:36,530 that Google Summer of Code students have 702 00:29:36,530 --> 00:29:38,530 done before, like Omnitel 703 00:29:38,530 --> 00:29:40,530 and Lumicall 704 00:29:40,530 --> 00:29:42,530 I am basically working on them 705 00:29:42,530 --> 00:29:44,530 and making changes, an doing 706 00:29:44,530 --> 00:29:46,530 task classes 707 00:29:46,530 --> 00:29:48,530 and methods, so... 708 00:29:48,530 --> 00:29:50,530 After we finish that, I think 709 00:29:50,530 --> 00:29:52,530 we will continue with the website, and 710 00:29:52,530 --> 00:29:54,530 hopefully, 711 00:29:54,530 --> 00:29:56,530 because the GSoC is really 712 00:29:56,530 --> 00:29:58,530 coming to an end, 713 00:29:58,530 --> 00:30:00,530 and we have not very much time 714 00:30:00,530 --> 00:30:02,530 left. But... 715 00:30:02,530 --> 00:30:04,530 After this, we will probably be working 716 00:30:04,530 --> 00:30:06,530 in doing the mobile app. 717 00:30:06,530 --> 00:30:08,530 However, this is 718 00:30:08,530 --> 00:30:10,530 all I have to tell 719 00:30:10,530 --> 00:30:12,530 right now about my project 720 00:30:14,530 --> 00:30:16,530 the opportunity to be here and to 721 00:30:16,530 --> 00:30:18,530 present for you guys. 722 00:30:18,530 --> 00:30:20,530 Thank you. 723 00:30:39,600 --> 00:30:39,730 OK, so... Can you hear me? 724 00:30:39,730 --> 00:30:42,600 thank you very much, thank you for OK, so... Can you hear me? 725 00:30:42,600 --> 00:30:43,260 OK. thank you very much, thank you for 726 00:30:43,260 --> 00:30:44,600 OK. 727 00:30:44,600 --> 00:30:46,600 So, hi everyone! 728 00:30:48,600 --> 00:30:50,600 I am not actually a Google Summer of Code student, 729 00:30:50,600 --> 00:30:54,600 but I have been an Outreachy intern 730 00:30:54,600 --> 00:30:56,600 around one year ago. 731 00:30:56,600 --> 00:30:58,600 So, first 732 00:30:58,600 --> 00:31:00,600 before continuing my 733 00:31:00,600 --> 00:31:02,600 talk, I'd like to ask 734 00:31:02,600 --> 00:31:04,600 how many of you are coming from 735 00:31:04,600 --> 00:31:06,600 a social background, and have 736 00:31:06,600 --> 00:31:08,600 studied for computer science or 737 00:31:08,600 --> 00:31:10,600 science-related? 738 00:31:10,600 --> 00:31:12,600 OK, great. 739 00:31:12,600 --> 00:31:14,600 So we got three other people 740 00:31:14,600 --> 00:31:16,600 in the audience. So 741 00:31:16,600 --> 00:31:18,600 I am Kristi Progri, and I am actually, 742 00:31:18,600 --> 00:31:20,600 I finished my university for 743 00:31:20,600 --> 00:31:22,600 international affairs and diplomacy 744 00:31:22,600 --> 00:31:24,600 and in the beginning I thought 745 00:31:24,600 --> 00:31:26,600 that this was exactly the school, 746 00:31:26,600 --> 00:31:28,600 that I'd never ever find something 747 00:31:28,600 --> 00:31:30,600 to do with my life, 748 00:31:30,600 --> 00:31:32,600 but then, I thought that, OK, 749 00:31:32,600 --> 00:31:34,600 probably it would be nice 750 00:31:34,600 --> 00:31:36,600 if I could just merge it with 751 00:31:36,600 --> 00:31:38,600 something that is tech-related, 752 00:31:38,600 --> 00:31:40,600 and free software, since during that time 753 00:31:40,600 --> 00:31:42,600 I was also part of the 754 00:31:42,600 --> 00:31:44,600 free software community 755 00:31:44,600 --> 00:31:46,600 I ended up in the end having a diploma 756 00:31:46,600 --> 00:31:48,600 thesis for on-line diplomacy, 757 00:31:48,600 --> 00:31:50,600 and this was 758 00:31:50,600 --> 00:31:52,600 what kind of opened 759 00:31:52,600 --> 00:31:54,400 the doors further to 760 00:31:54,400 --> 00:31:54,600 continue, and to get the doors further to 761 00:31:54,600 --> 00:31:56,600 continue, and to get 762 00:31:56,600 --> 00:31:58,600 to know more 763 00:31:58,600 --> 00:32:00,600 for political and Internet. 764 00:32:00,600 --> 00:32:02,600 So, I applied 765 00:32:02,600 --> 00:32:04,600 in Mozilla 766 00:32:04,600 --> 00:32:06,600 in a team for taking part 767 00:32:06,600 --> 00:32:08,600 in the Outreachy, working with the 768 00:32:08,600 --> 00:32:10,600 diversity and inclusion team there, 769 00:32:10,600 --> 00:32:12,600 building up the 770 00:32:12,600 --> 00:32:14,600 strategy for conducting 771 00:32:14,600 --> 00:32:16,600 first language interviews, since 772 00:32:16,600 --> 00:32:18,600 one of the barriers that we had during 773 00:32:18,600 --> 00:32:20,600 all this time was that 774 00:32:20,600 --> 00:32:22,600 people coming from different... 775 00:32:22,600 --> 00:32:24,600 different countries 776 00:32:24,600 --> 00:32:26,600 and not speaking 777 00:32:26,600 --> 00:32:28,600 everyone by default English, so 778 00:32:28,600 --> 00:32:30,600 trying to have a strategy 779 00:32:30,600 --> 00:32:32,600 on how to conduct the language... 780 00:32:32,600 --> 00:32:34,600 On how to conduct interviews, and 781 00:32:34,600 --> 00:32:36,600 to grow up communities in the local 782 00:32:36,600 --> 00:32:38,600 aspect, to really help to 783 00:32:38,600 --> 00:32:40,600 take further steps to 784 00:32:40,600 --> 00:32:42,600 all the free software initiatives, and 785 00:32:42,600 --> 00:32:44,600 everything that's regarding to that. 786 00:32:44,600 --> 00:32:46,600 So 787 00:32:46,600 --> 00:32:48,600 this was 788 00:32:48,600 --> 00:32:50,600 kind of the aspect from the field 789 00:32:50,600 --> 00:32:52,600 doing on the Outreachy. For those 790 00:32:52,600 --> 00:32:54,600 who don't know Outreachy, it's 791 00:32:54,600 --> 00:32:56,600 exactly... It is an intership that 792 00:32:56,600 --> 00:32:58,600 that lasts for three months, 793 00:32:58,600 --> 00:33:00,600 it happens twice per year, 794 00:33:00,600 --> 00:33:02,600 it has 795 00:33:02,600 --> 00:33:04,600 kind of the same ideology 796 00:33:04,600 --> 00:33:06,600 as the Google Summer of Code, but 797 00:33:06,600 --> 00:33:08,600 it's also for people that 798 00:33:08,600 --> 00:33:10,600 are not students but have 799 00:33:10,600 --> 00:33:12,600 finished their 800 00:33:12,600 --> 00:33:14,600 studies. 801 00:33:14,600 --> 00:33:16,600 and besides Outreachy and 802 00:33:16,600 --> 00:33:18,600 the Google Summer of Code, there also 803 00:33:18,600 --> 00:33:20,600 are initiatives that 804 00:33:20,600 --> 00:33:22,600 help out students 805 00:33:22,600 --> 00:33:24,600 to continue and 806 00:33:24,600 --> 00:33:26,600 getting on more knowledge regarding 807 00:33:26,600 --> 00:33:28,600 the free software, such as 808 00:33:28,600 --> 00:33:30,600 Rails' Girls Summer of Code, 809 00:33:30,600 --> 00:33:32,600 I don't know if you have heard about that, it is 810 00:33:32,600 --> 00:33:34,600 an internship happening on the 811 00:33:34,600 --> 00:33:36,600 during the summer, it lasts 812 00:33:36,600 --> 00:33:38,600 for three months, 813 00:33:38,600 --> 00:33:40,600 three months I think, 814 00:33:40,600 --> 00:33:42,600 and it's actually 815 00:33:42,600 --> 00:33:44,600 only regarding coding. But 816 00:33:44,600 --> 00:33:46,600 until now, I think, for as far 817 00:33:46,600 --> 00:33:48,600 as I know, Outreachy is the only one 818 00:33:48,600 --> 00:33:50,600 that can, 819 00:33:50,600 --> 00:33:52,600 that requires also people that do not have 820 00:33:52,600 --> 00:33:54,600 technical 821 00:33:54,600 --> 00:33:56,600 skills, or at least that have 822 00:33:56,600 --> 00:33:58,600 not finished for it, 823 00:33:58,600 --> 00:34:00,600 any technical 824 00:34:00,600 --> 00:34:02,600 subject or degree. 825 00:34:02,600 --> 00:34:04,600 So, this was also 826 00:34:04,600 --> 00:34:06,600 my short presentation 827 00:34:06,600 --> 00:34:08,600 to say, and the 828 00:34:08,600 --> 00:34:10,600 last one I think for the session, so 829 00:34:10,600 --> 00:34:12,600 there is anyone in the audience 830 00:34:12,600 --> 00:34:14,600 who'd like to make a question, any 831 00:34:14,600 --> 00:34:16,600 suggestion or comment, please feel free 832 00:34:16,600 --> 00:34:18,600 and thank you very much for 833 00:34:18,600 --> 00:34:20,600 being here. 834 00:34:20,600 --> 00:34:24,530 [ audience clapping ] 835 00:34:42,460 --> 00:34:45,659 [Delib:] Hello. Jaminy, 836 00:34:46,600 --> 00:34:50,330 So many of us are so interested in the 837 00:34:50,330 --> 00:34:52,330 the edges of Debian, 838 00:34:52,330 --> 00:34:54,330 and who is coming, and are they 839 00:34:54,330 --> 00:34:56,330 staying, and you have met 840 00:34:56,330 --> 00:34:58,330 so many mentees, 841 00:34:58,330 --> 00:35:00,330 and talked with so many mentors. Could you share 842 00:35:00,330 --> 00:35:02,330 with us a little bit about 843 00:35:02,330 --> 00:35:04,330 what is working well and 844 00:35:04,330 --> 00:35:06,330 what might work a little better 845 00:35:06,330 --> 00:35:08,330 in the future? 846 00:35:12,930 --> 00:35:15,060 [Jaminy:] So, there are many newcomers 847 00:35:15,060 --> 00:35:17,060 coming from Google Summer of Code, 848 00:35:17,060 --> 00:35:19,060 I think the main thing 849 00:35:19,060 --> 00:35:21,060 that actually happens is they should be 850 00:35:21,060 --> 00:35:23,060 keep motivated and keep working on 851 00:35:23,060 --> 00:35:25,060 after the Google Summer of Code, 852 00:35:25,060 --> 00:35:27,060 I feel that would be one of the 853 00:35:27,060 --> 00:35:29,060 major things they have to do 854 00:35:29,060 --> 00:35:31,060 even after the Google Summer of Code 855 00:35:40,730 --> 00:35:43,800 [Delib:] Do you have ideas of how 856 00:35:44,600 --> 00:35:46,660 community members or the mentors 857 00:35:46,660 --> 00:35:48,660 could do things differently, so that 858 00:35:48,660 --> 00:35:51,260 they could stay more motivated? 859 00:35:51,260 --> 00:35:53,260 Stay more interested? 860 00:35:56,130 --> 00:35:59,060 [Jaminy:] I think the mentors, it's all about the communication, 861 00:35:59,060 --> 00:36:01,060 I think they should keep communicating 862 00:36:01,060 --> 00:36:03,060 with the students and keep them 863 00:36:03,060 --> 00:36:05,060 giving suggestions 864 00:36:05,060 --> 00:36:07,060 and advice in 865 00:36:07,060 --> 00:36:09,060 them, how can they improve further on 866 00:36:09,060 --> 00:36:11,060 their projects, 867 00:36:11,060 --> 00:36:13,060 and how they can keep moving 868 00:36:13,060 --> 00:36:15,060 keep... Moving on 869 00:36:15,060 --> 00:36:17,060 further with the project. 870 00:36:17,060 --> 00:36:19,060 [Delib:] So, listening to what their interests are, 871 00:36:19,060 --> 00:36:21,060 and giving them ideas on how to 872 00:36:21,060 --> 00:36:22,200 pursue this interest? 873 00:36:22,200 --> 00:36:24,200 [Jaminy:] Yes. 874 00:36:30,130 --> 00:36:34,000 [Tassia:] I have a question: Is it 875 00:36:34,000 --> 00:36:36,000 ...I have the impression that I might be wrong, so 876 00:36:36,000 --> 00:36:38,000 [Jaminy:] Do you have questions for me, or 877 00:36:38,000 --> 00:36:40,000 for students? [Tassia:] For you. 878 00:36:40,000 --> 00:36:42,000 [Jaminy:] OK. 879 00:36:42,000 --> 00:36:44,000 [Tassia:] Sorry [both laugh] 880 00:36:44,000 --> 00:36:46,000 But just, for 881 00:36:46,000 --> 00:36:48,000 what I've been following, for 882 00:36:48,000 --> 00:36:50,000 the past years, I thing that when students 883 00:36:50,000 --> 00:36:52,000 enter work with a team 884 00:36:52,000 --> 00:36:54,000 my impression is that it's easier 885 00:36:54,000 --> 00:36:56,000 for them to continue working afterwards. 886 00:36:56,000 --> 00:36:58,000 Is it 887 00:36:58,000 --> 00:37:00,860 in comparison when 888 00:37:00,860 --> 00:37:02,860 there are ad-hoc projects 889 00:37:02,860 --> 00:37:04,860 that some times don't 890 00:37:04,860 --> 00:37:06,860 continue being developed, 891 00:37:06,860 --> 00:37:09,400 and I think, 892 00:37:09,400 --> 00:37:11,400 then the motivation might probably... 893 00:37:11,400 --> 00:37:13,400 Do you perceive it? Or 894 00:37:13,400 --> 00:37:15,400 you don't think it makes sense? 895 00:37:15,400 --> 00:37:17,400 [Jaminy:] Currently I'm not, but I hope 896 00:37:17,400 --> 00:37:19,400 to continue after my... 897 00:37:19,400 --> 00:37:21,400 Now I'm currently doing early career, 898 00:37:21,400 --> 00:37:23,400 so I would prefer continuing 899 00:37:23,400 --> 00:37:25,400 later. 900 00:37:25,400 --> 00:37:27,400 [Tassia:] No, sorry, I think you didn't understand my question. 901 00:37:27,400 --> 00:37:29,400 It was about the projects 902 00:37:29,400 --> 00:37:31,400 within teams, 903 00:37:31,400 --> 00:37:33,400 like, lets say, the students that work with 904 00:37:33,400 --> 00:37:35,400 the Perl team, or that work inside 905 00:37:35,400 --> 00:37:37,400 another team 906 00:37:37,400 --> 00:37:39,400 in comparison with just 907 00:37:39,400 --> 00:37:41,400 one mentor and one 908 00:37:41,400 --> 00:37:43,400 mentee 909 00:37:43,400 --> 00:37:45,400 and if that 910 00:37:45,400 --> 00:37:47,400 reflects on the 911 00:37:47,400 --> 00:37:49,400 motivation of the student to continue 912 00:37:49,400 --> 00:37:51,400 doing work for Debian 913 00:37:51,400 --> 00:37:53,400 afterwards. Do you thing there is 914 00:37:53,400 --> 00:37:55,400 a relation, or not? 915 00:37:55,400 --> 00:37:57,400 [Jaminy:] Yes, I think there 916 00:37:57,400 --> 00:37:59,400 is, I mean, the 917 00:37:59,400 --> 00:38:01,400 mentor-mentee relations keeps 918 00:38:01,400 --> 00:38:03,400 going on? 919 00:38:03,400 --> 00:38:05,400 eventyally they get your question probably? 920 00:38:10,730 --> 00:38:13,400 [Delib:] Do you think it's easier for students 921 00:38:13,400 --> 00:38:15,400 to be part of a team, instead of 922 00:38:15,400 --> 00:38:17,400 just one mentor? 923 00:38:17,400 --> 00:38:19,400 [Jaminy:] Yes, I think they 924 00:38:19,400 --> 00:38:21,400 get valious knowledge, so it's better to 925 00:38:21,400 --> 00:38:23,400 be in a team 926 00:38:23,400 --> 00:38:25,400 than sticking to one mentor. 927 00:38:25,400 --> 00:38:27,400 [Andreas:] Do we have some 928 00:38:27,400 --> 00:38:29,400 statistics? How many of 929 00:38:29,400 --> 00:38:31,400 the students have entered Debian? 930 00:38:31,400 --> 00:38:33,400 or not? Because I have had three 931 00:38:33,400 --> 00:38:35,400 GSoC students, and three Outreachy 932 00:38:35,400 --> 00:38:37,400 students, and 933 00:38:37,400 --> 00:38:39,400 none of them 934 00:38:39,400 --> 00:38:41,400 really remained there. They are intererested, 935 00:38:41,400 --> 00:38:43,400 they are using Debian, but 936 00:38:43,400 --> 00:38:45,400 my experience 937 00:38:45,400 --> 00:38:47,400 or the result of my experience 938 00:38:47,400 --> 00:38:49,400 was that I tried to give them tasks 939 00:38:49,400 --> 00:38:51,400 which are easy to end, 940 00:38:51,400 --> 00:38:53,400 which are small tasks, 941 00:38:53,400 --> 00:38:55,400 and if they go, then that's not 942 00:38:55,400 --> 00:38:58,260 ... How many people stayed in Debian? 943 00:38:58,260 --> 00:39:02,000 [Jaminy:] You mean... 944 00:39:02,000 --> 00:39:05,060 You mean, from the past? 945 00:39:05,060 --> 00:39:07,060 [Andreas:] How many people stayed in Debian? 946 00:39:07,060 --> 00:39:09,060 of the students? 947 00:39:09,060 --> 00:39:11,060 From the past, yes. 948 00:39:15,060 --> 00:39:17,060 [?:] I think you can answer 949 00:39:17,060 --> 00:39:19,060 after the session, because 950 00:39:19,060 --> 00:39:19,860 we run out of time. 951 00:39:19,860 --> 00:39:21,860 [Jaminy:] OK. I'd like to take this opportunity 952 00:39:21,860 --> 00:39:23,860 to thank all the mentors 953 00:39:23,860 --> 00:39:25,860 who made this program successful. 954 00:39:25,860 --> 00:39:27,860 And you can feel free to talk to students 955 00:39:27,860 --> 00:39:29,860 after the session, and give them 956 00:39:29,860 --> 00:39:31,860 suggestions or feedback. 957 00:39:31,860 --> 00:39:33,860 Thank you! 958 00:39:33,860 --> 00:39:37,660 [ Audience clapping ]