Thank you for coming with us! So... All right. How many have heard about the Google Summer of Code? Already, if you are not aware, I could be introducing more about what is it and and then talk more about what we are going to do in the session So, can you raise the hand if you are already aware of the Google Summer of Code? OK! Thank you - I think most of you are aware, it's bringing the student developers into the open source community, it's all about that So, the session is going to be mostly the students introducing their projects and getting the feedback, and discussing with their mentors. If they are getting any questions from IRC, they can discuss How they can improve the project in their ...Their ongoing projects. OK. so let me introduce about myself. I am Jaminy, So, I come from Sri Lanka I am one of the coordinators for Google Summer of Code with Debian So, Debian has been participating in the Google Summer of Code from 2005, and it has been 13 years it has been participating, and we had a break in 2017 and now we are back in 2018 with Google Summer of Code and these are the teams for GSoC coordination I am representing the team Daniel Pocock, Alexander, and it's me This year, we have accepted 25 students And that's the link for the projects that are ongoing this year So, there is an interesting GSoC statistic this year this year we have selected I mean, this was from the Google Open Source blog, and they said there are three students Four students accepted from Kosovo And... The three students are from our Debian community, and they are here joining us joining with us, to introduce more about their project I hope that, without wasting more time, I could give the chance for the students to introduce, to talk more about their projects. Arthur, can you... [ audience clapping ] So, you hear me? OK? Yes? Nice. So... Hello, my name is Arthur del Esposto I am going to talk about my GSoC project that is titled "Improving Distro Tracker to better support Debian teams" My mentor is Lucas Kanashiro and my co-mentor is Raphael Hertzog. I will provide you some context about why we are doing this. So, basically, Debian teams used to rely on Packages Entropy Tracker with the assistance that basically got some information about the package from Debian, from Alioth, and display some kind of information inside tables and some categories. And we also had inside our Debian infrastructure the tracker.debian.org, which you probably have used before, that basically gathers the same sort of information from several sources inside Debian and puts this in a Web application. So, for example, you have the base of a specific package, the Web defaults, and you can get all the information related to that package. And what we want to do, because... that has not been maintained anymore and also, he used to track the package repository from Alioth. And what we really want to do is just continuing to support Debian teams to track the health of the packages and to and to prioritize their work efforts by migrating the PET features to Distro Tracker, and also we want to track Salsa repositories instead of Alioth. So, what are the results we have so far? So, basically... if you enter a team page, of anything inside Distro Tracker you are going to get this kind of table so basically you have the first column with the package name the second column with the changelog version and the VCS of that package, the third column with the archive version, we also are tracking the bugs here and the last column has the upstream version. OK, of this package. And, another interesting feature that we are providing you is that if you pass the mouse over one of those fields, you are going to get more detailed information about that specific field. OK, so for example here we have the information links to BTS related to the bugs that exist for the package. We also provide some categories so basically we could have more than one category of package tables for example, you could have like packages with RC bugs, packages that have a new version in the upstream, and we have specific pages where each of these package tables. OK? And we have a large number of teams inside Debian, inside this specifically inside the Distro Tracker, so we also provide this autocomplete text field so you can easily find your team, the team that you are interested in. And... that was my resource, and so far we have faced some challenges, first is that Distro Tracker has a generic purpose architecture because it should be used by several distros, so it's also being used by the Kali community, so basically everything you are going to do you have to make it extensible, have to design it to be extensible by this specific application that implements that specific features from their distros. Also, the database design is challenging, because we have to collect all this data from several database tables and some of these context is realized in JSON fields inside the database so it's not easy to get these. And also, we have faced some problems, some performance problems, because we are we are handling a large number of table cells dynamically, so basically we are building it of these table cells in run time. And, until the end of GSoC, I plan to create a cache mechanism, I am already working on that, proposed a merge request on it, to try to improve the performance of table rendering I also want to have all my merge requests accepted inside Salsa We also want to provide more package tables with new categories and also provide a new feature that you could be able to sort the team for content based on columns, for example I want to sort my my table based on on the number of bugs, for example. And there is also that we got good results so far, and I have received valuable feedback from the Debian community and I have a lot of ideas to continue working on this after the GSoC as well The GSoC has been an amazing experience, I have been learning a lot, which Kanashiro has had to log all the community members I look into contributing to Debian of course Thank you to the Debian community to provide me this opportunity to come here to DebConf to present my work. Lets get moving on, and thanks. [ audience clapping ] So, my project is called "Port Kali Packages to Debian" and my mentors are Raphaël Hertzog and Gianfranco Costamagna. Unfortunately, they didn't come to this year's DebConf, and we are from the pkg-security tools packaging team, so this is something I have been working on for the past one year and a half I think I started packaging on 2016 and in 2017 I started working on the security tools packaging because this is something that really interests me, so What actually is Kali Linux? Kali Linux is a digital forensics and pentesting distribution that has like lots of packages is by far the most used distribution for "capture-the-flag" competitions and is based on unstable and the thing is that Kali has a more relaxed policy than Debian's, so that's the reason of the differences between the packages I mean, the packages that Kali has and Debian hasn't so, at first I did gather some information about what packages can I work on and what are the problems that it should rather get them on Main So, I first started using this dashboard from Kali Linux, and they have also used the tracker system that we use on Debian and this is a special dashboard where we can see how many packages are on Kali Linux that aren't on Debian at the time, and this is for today, so there are 477 packages but this includes dependencies and lots of packages are not that really important, and some of them are not installed by default on Kali So, the first thing, I already knew some packages that I really would like to see on Debian, and the first one was Metasploit because it's one of the most used frameworks for pentesting I have started by looking at what should I do and it was a really tough job because Metasploit is currently bundling all their gem dependencies Because of, this is a huge problem there was a big discussion n the Debian mailing lists about that, but whatever, I use repology in order to see what distros were already packaging this stuff and at the end, there should be around 40 packages that I had to package in order to see if it would work, because you have the version problem, because bundling the distro version, and we decided not to do that during this project, so I had to look for other packages and I didn't want to do this manually, so I developed a kind of big shell script it shouldn't be a shell script, it should be in a programming language, but got big worked on, and to this scripts I give I input it a list of packages, and it cloned all the Kali Git repositories for this package, build each one of them, and did some basic checks, like if it is a default Kali package, if it's buildable, because some of the packages are not buildable because we don't have the build dependencies in Debian right now, it checks if it is DEP5 compliant already, if we need manpages, if we need hardening, if it is bundling some gems, and if there are [?], there is about twenty or thirty something columns on here so you have lots of info and in order to know which are the most important issues Raphaël gave me the idea to look for the number of uploads that the package had since it hit Kali, so I can only just sort for the number of uploads and I have the most important ones. This made the process really easy, like a lot more easy, and I am publishing this on our team's wiki page, and I will keep using this like, forever because it really helps other people that want to contribute to our team, and this is another software that I tried, how many time do I have? OK another package that I really want to see on Debian is zaproxy, and for zaproxy, I had to do a manual checking, because it is a Java program, and Java has... I really don't like Java, so they bundle like ...zaproxy is great software, but they bundle some libraries, and I talked to upstream, and they are very receptive, and they want to help us, but I didn't manage to package it yet, I think I will do it after GSoC but there are some packages that we need to introduce on Debian. Some of the packages that zaproxy upstream is thinking about dropping them, and putting just on the extensions, because the core doesn't need them and some of the packages are old and stuff like that, we have there is a lot of problems that you can have like... there was a package which was GPL licensed but it was linking against OpenSSL, and in order to do that, you have to either add a license exception to your license And I talked to upstream, and it cooperative upstream, it is a software which is used to break WiFi password, like, doing offline cracking and upsream decided to change its license to BSD license so we could release that on Debian. I can't remember right now if it's on the NEW queue or if it already hit unstable, but I think is on the NEW queue. So, in the end, the results are, I made the script, which is going to be used by some time. There are some fixes that can be We have to do on the script to make it better to make the checking better, because we still have some corner cases where it doesn't work really well, we got some new packages in Debian, which is really good. I have to make some upstream contributions, because for some packages I wrote their manpage, and I sent it to upstream, there was this company of software that changed its licensing to be like correctly compliant with OpenSSL license, and and we got now a better Kali and Debian for its users, because when a package is just in Kali, they don't like to do hardening, that's one example of things that gets better when the package hits Debian because when we enable hardening sometimes we see problems that makes the package to fail to build, and then we fix that, upload to Debian, and when the package hits unstable, Kali starts taking this package from Debian, and they can use our infrastructure to do some QA and stuff like that, and they there are two people from Kali that I know at least, Raphaël and Sophie, and they work on Debian also, on our team, so when there's a new release, they upload the release on Debian, so Debian users win by that also, and they already did lots of work on their packages, so yes, I think that's the summary of the results Thank you. [ audience clapping ] Hello, I am Enkelena Haxhiu I am from the Republic of Kosovo, and I am here to represent my Google Summer of Code project. My mentors are Bruno Milena and Gabriela. So, my project is a Mozilla Firefox web extension to give free and... to give free software alternatives to the apps on the Internet, so to have avoiding non-free apps and sites. So, the goals for this project were that while the user is surfing on the Internet, the moment that he uses a non-free software, my extension will detect it and then give an alternative to it, a free software alternative. The user should be able to stop it when it's annoying, and the notifications should be only once per session, and we wanted to have like a database through self-hosted API, or to use a free software device and then all this database show it on our Web page. I started by making the user experience design, based on that, because should work like, should work fine, I made some sketches and mockups and then the persona and then the finding the bad habits of apps, like research, and I started implementing it by coding it, I used Mozilla API to make my extension communicate with the Web browser API I created a JSON data file, it's like a proof of concept to just take the data, because this is going to be later in a real database. So the code logic, do select and display the alternatives based on the current active website, is that we should get the URL, identify it by sending... Identify it, and then to send to that JSON file, check and, based on that, to give an alternative. If it exists, of course. We did We don't want to annoy the user like, to show too much notifications so we made it only once per session for the current app, and it has the ability to stop and start it. We use the local storage to hold the user settings and then we have to present this free software list through a web page that is generated by that database. This is like a simple diagram of basically what I just said. These are some screenshots with words for example, Dropbox is a nonfree software, and this is the notification that it gets it says, "Dropbox has open source alternatives like seafile", and then, I have here the web page that it gets the extension popup and all these things. This is how it looks like. And then, i made a project website which holds all the data I made the design of it and the frontend and the data generation. I plan to leave this open so developers can add stuff there to the database, and then generates it, and it goes, like, right away to the to the project website. I don't need to hard-code... hard-code it or something. Then I made the documentation of it, I split it into three sections, in the information about the project, general things, what's the purpose, how it works, and the second one is the contribution, how can developers contribute to it, and the third one is about the technical aspects, like debugging, and cloning the repo for new developers. So this is like an example of it. And for the future, I plan to continue my project, even after GSoC the first thing I need to do like, probably now, I am going to put it in the Mozilla Firefox market, and later I can make it for other browsers like Chromium but we need to change the API there, and I thought the package could get in Debian, because while I was here, I learnt about packaging and upstreaming and all that stuff, so I think I am probably going to do that but not for now, because I want my users to be like, all Internet users, not just Debian operating system users. Another thing is that I want it to be integrated with other free software services, like SUSI artificial intelligence, and Thunderbird in upstream SUSI is a speaking and texting artificial intelligence that gives you responses and I plan to use that giving the suggestions by speech. On my extension, with Thunderbird I felt it to be like, to work like in Mozilla, but, you know, when a user gets an e-mail from a non-free side, then it should send a suggestion, "use this, don't use this", like I just basically explained, and with upstream, I thought that all my database should be there, to put it there, and it could help upstream, and it can it could help me. Here, I have my experience with Debian, I heard about Debian last year, in a girl's hackathon and then later in Tirana, in Albania, where in a Debian bugs squashing party, a DD was there, and we planned on -- sorry -- working a bit more than With Daniel Pocock we had we made... A speech together, we gave under in the biggest open source conference in the whole Balkans, it was about Free Software. And about my project, I read a whole book to understsand it a little bit more, to be more prepared. And I want to thank the Debian people for giving me this opportunity to talk here, in front of you, and I hope I'll be a DD soon. Thank you! So... Yeah, it's working. So, before... My name is Elena Elena Gjevukaj, and I come from Kosovo. Before I start, to present my project, I want to mention that this year in the GSoC is the first time that our country is participating. It was funny, because even when we had applied for the GSoC, we had to ask Google to add our country in the list, so you know how... We thought that we didn't have any more opportunities or any... we just thought they aren't going to accept us. But hopefully for us, we have a great mentor, Daniel Pocock, I think many of you guys know him, and he helped us with everything that we needed for all of the applications and everything else. So, going back to my project, My project is basically what I just said right now. So, knowing that newcomers to the open source have a lot of problems to, to just set up a development environment and that's why we wanted to create... to create a GUI so my project is a new contributor... contributor wizard and is basically a GUI that could be distributed as a package, and to help the newcomer to Debian and open source to start their work on the open source projects. For example, if you want to apply in GSoC or Outreachy or other programs like this you will need a lot of things because if you are a new person, you are newcoming to Debian, or any other version of Linux, you will have a lot of problems to start up, so what we want to do with this is to help students to run this computer program in their desktop and have to understand everything that they need, for example they will need for sure, how to use IRC, they will need basically a blog to explain their work or add portfolio on it, so they will need a PGP or other things like this that we usually use in open source so, my part of the project in this in this month of the Google Summer of Code, was the blog module, basically, I created a module that will generate automatically ...build dynamic and static websites. And the other part of it was that I did a lot of research on what students need for... and we should include in the research Another thing that I want to mention is that students don't know that much... They have problems using the terminal or installing programs when they have usually installed Debian, I will make sure add that type of tutorials, or for example description of something that will help them, how to proceed and apply, and maybe be a successful applicant for GSoC. So, that's it. Thank you! [ audience clapping ] Hello everyone! My name is Diellza Shabani and I also come from Kosovo, I am a student of Computer Science and Engineering, I'm finishing my studies this year hopefully, so I am also doing a Google Summer of Code project, I haven't prepared any slides, because I didn't see it necessary, so, my project's name is "Click to dial up from Linux Desktop", and my mentor is Thomas Levine, he couldn't join us at the conference this year, so, what I have been working on this project is that we are three students in this project, because it's really a big thing, we started working in this last year in the [?] hackathon, in [?], we started doing the project in Python first, we did some pop-ups and some really basic things, ...So, we thought to continue that, but now that the project is bigger, and there are three students doing this, it is separated in two different things, and the two other students are doing something else, and we plan to do something like mobile application, but still haven't figured it out. For the moment, we are doing only a website, a Web application, and we are working on the existing projects that Google Summer of Code students have done before, like Omnitel and Lumicall I am basically working on them and making changes, an doing task classes and methods, so... After we finish that, I think we will continue with the website, and hopefully, because the GSoC is really coming to an end, and we have not very much time left. But... After this, we will probably be working in doing the mobile app. However, this is all I have to tell right now about my project the opportunity to be here and to present for you guys. Thank you. [ audience clapping ] OK, so... Can you hear me? So, hi everyone! I am not actually a Google Summer of Code student, but I have been an Outreachy intern around one year ago. So, first before continuing my talk, I'd like to ask how many of you are coming from a social background, and has not finished for computer science or science-related? OK, great. So we got three other people in the audience. So I am Kristi Progri, and I am actually, I finished my university for international affairs and diplomacy and in the beginning I thought that this was exactly the school, that I'd never ever find something to do with my life, but then, I thought that, OK, probably it would be nice if I could just merge it with something that is tech-related, and free software, since during that time I was also part of the free software community I ended up in the end having a diploma thesis for on-line diplomacy, and this was what kind of opened the doors further to continue, and to get to know more for political and Internet. So, I applied in Mozilla in a team for taking part in the Outreachy, working with the diversity and inclusion team there, building up the strategy for conducting first language interviews, since one of the barriers that we had during all this time was that people coming from different... different countries and not speaking everyone by default English, so trying to have a strategy on how to conduct the language... On how to conduct interviews, and to grow up communities in the local aspect, to really help to take further steps to all the free software initiatives, and everything that's regarding to that. So this was kind of the aspect from the field doing on the Outreachy. For those who don't know Outreachy, it's exactly... It is an intership that that lasts for three months, it happens twice per year, it has kind of the same ideology as the Google Summer of Code, but it's also for people that are not students but have finished their studies. and besides Outreachy and the Google Summer of Code, there also are initiatives that help out students to continue and getting on more knowledge regarding the free software, such as Rails' Girls Summer of Code, I don't know if you have heard about that, it is an internship happening on the during the summer, it lasts for three months, three months I think, and it's actually only regarding coding. But until now, I think, for as far as I know, Outreachy is the only one that can, that requires also people that do not have technical skills, or at least that have not finished for it, any technical subject or degree. So, this was also my short presentation to say, and the last one I think for the session, so there is anyone in the audience who'd like to make a question, any suggestion or comment, please feel free and thank you very much for being here. [ audience clapping ] [Delib:] Hello. Jaminy, So many of us are so interested in the the edges of Debian, and who is coming, and are they staying and you have met so many mentees, and talked with so many mentors. Could you share with us a little bit about what is working well and what might work a little better in the future? [Jaminy:] So, there are many newcomers coming from Google Summer of Code, I think the main thing that actually happens is they should be keep motivated and keep working on after the Google Summer of Code, I feel that would be one of the major things they have to do even after the Google Summer of Code [Delib:] Do you have ideas of how community members or the mentors could do things differently, so that they could stay more motivated? Stay more interested? [Jaminy:] I think the mentors, it's all about the communication, I think they should keep communicating with the students and keep them giving suggestions and advising them, how can they improve further on their projects, and how they can keep moving keep... Moving on further with the project. [Delib:] So, listening to what their interests are, and giving them ideas on how to pursue those interests? [Jaminy:] Yes. [Tassia:] I have a question: Is it ...I have the impression that I might be wrong, so [Jaminy:] Do you have questions for me, or for students? [Tassia:] For you. [Jaminy:] OK. [Tassia:] Sorry [both laugh] But just, for what I've been following, for the past years, I thing that when students enter work with a team my impression is that it's easier for them to continue working afterwards. Is it in comparison when there are ad-hoc projects that some times don't continue being developed, and I think, then the motivation might probably... Do you perceive it? Or you don't think it makes sense? [Jaminy:] Currently I'm not, but I hope to continue after my... Now I'm currently doing early career, so I would prefer continuing later. [Tassia:] No, sorry, I think you didn't understand my question. It was about the projects within teams, like, lets say, the students that work with the Perl team, or that work inside another team in comparison with just one mentor and one mentee and if that reflects on the motivation of the student to continue doing work for Debian afterwards. Do you thing there is a relation, or not? [Jaminy:] Yes, I think there is, I mean, the mentor-mentee relations keeps going on? Eventually they get your question probably? [Delib:] Do you think it's easier for students to be part of a team, instead of just one mentor? [Jaminy:] Yes, I think they get valious knowledge, so it's better to be in a team than sticking to one mentor. [Andreas:] Do we have some statistics? How many of the students have entered Debian? or not? Because I have had three GSoC students, and three Outreachy students, and none of them really remained there. They are intererested, they are using Debian, but my experience or the result of my experience was that I tried to give them tasks which are easy to end, which are small tasks, and if they go, then that's not ... How many people stayed in Debian? [Jaminy:] You mean... You mean, from the past? [Andreas:] How many people stayed in Debian? of the students? From the past, yes. [?:] I think you can answer after the session, because we run out of time. [Jaminy:] OK. I'd like to take this opportunity to thank all the mentors who made this program successful. And you can feel free to talk to students after the session, and give them suggestions or feedback. Thank you! [ Audience clapping ]