 Thank you for joining with us. So how many of you are aware about Google Summer of Code already? If you're not aware, I could be introducing more about what is it, and then talk more about what we are going to do in this session. So can you raise the hand if you are already aware about Google Summer of Code? OK. Thank you. I think most of you are aware it's bringing the student developers to 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, we could discuss how they can improve with their project on their ongoing projects. OK. So let me introduce about myself. I'm Jamini. So I come from Sri Lanka. I'm one of the coordinator for Google Summer of Code with Debian. So Debian has been participating in Google Summer of Code from 2005. And it's been 13 years. It has been participating. And we had a break in 2017. And now we are back again in 2018 with Google Summer of Code. And these are the team for this coordination. I'm representing the team. Daniel Pakok, 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 or four students accepted from Kosovo. And the three students are from our Debian community. And they are here 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. Ata, can you? Yeah, nice. So hello, my name is Ahtu. I'm the response team. I'm going to talk about my GSOC project that's titled Improved GSO Tracker to Better Support Debian Teams. My mentor is Lucas Kanashiro. And my commentator is Rafael Herzog. Providing you some context about why we are doing this. So basically, Debian teams use it to rely on package entropy tracker, which is a system that basically gets some information about the packages from Debian, from ILEOF, and displays some kind of information inside tables and some categories. And we also had inside our Debian infrastructure the Tracker Debian org that you probably have used before, that basically gets the same kind of information from several sources inside Debian and puts this in a web application. So for example, you have the page of a specific package, rub defaults, and you can get all the information related to that package. And what we want to do, because Pat's has not been being maintained anymore. And also, he used it to track the package repositories from ILEOF. And what we want to do is to continue to support Debian teams to track the health of the package and to prioritize their work efforts by migrating the Pat's features to Debian Tracker. And also, you want to track source repositories instead of ILEOF. So what are the results we have so far? So basically, if you enter in a team page of any team inside Debian Tracker, we are going to get this kind of table. So basically, we have the first column with the package name, the second column with the change log version in 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 of this package. And another interesting feature that we are providing here is that if you pass our mouse over one of that fields, you are going to get more detailed information about that specific field. So for example, here we have the information and links to BTS related to the bugs that exist for that package. We also are providing some categories. So basically, we could have more than one category of package tables. For example, we could have like packages with RC bugs, packages that has already a new version in the upstream. And we have a specific page to display each of these package tables. And we have a large number of teams inside Debian, inside specifically inside the diesel track. So we also provide this autocomplete text field so you can easily find the team that you are interested in. And that was my results. And so far, we have faced some challenges. First is that diesel track has a generic purpose architecture because it tends to be used by several districts. So it is also being used by Cali 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 the specific features from the districts. Also, the database design is challenging because you have to collect all this data from several database tables. And some of this context is serializing in JSON fields inside the database. So it's not easy to get this. And also, we have facing some problems, some performance problems, because we are handling a large number of table cells dynamically. So we are basically building each of these table cells in runtime. And until the end of this talk, I plan to create a cache mechanism. I already work on that. I propose a measure crash for it to try to improve the performance of table rendering. I also want to have all my measure crash 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 table content based on call us. For example, I want to sort my table based on the number of bugs, for example. And the results that we got good results so far, and I have received available 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 with Kanashiro, Hedzog, and all the community members. I will keep contributing to them, of course. And thank you for the Debian community to provide me this opportunity to come here to Debian Conf and present my work. Let's get moving on. Thank you. That's true in doing this. That's true. Fine. So just OK. My project is called Port Cali Packages to Debian. And my mentors are Rafael Herzog and Gianfranco Costa Magna. Unfortunately, they didn't came to this year's Debian Conf. And we are from the PKG, the security tools packaging team. So this is something that I've been working on for the past one year and a half, I think. I started packaging on 2016 and on 2017. I started working on the security tools packaging team because this is something that's really interesting to me. And so what actually is Cali Linux? Cali Linux is a digital forensics and pen testing distribution. It has like lots of packages. It's by far the most used distribution for capture reflect competitions. And it's based on unstable. And the thing is that Cali has a more relaxed policy than Debian. So that's the reason of the differences between the package. I mean, the package that Cali has and Debian hasn't. So at first, I needed to gather some information about what packages can I work on and what are their problems, what I need to do in order to get them on main. So I first started using this dashboard from Cali Linux. And they also use the tracker system that we use on Debian. And this is a special dashboard where we can see how many packages are on Cali Linux that aren't on Debian at the time. And this is from 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 Cali. 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. And I started by looking at what should I do. And it was a really tough job, because Metasploit is currently bundling all of their gem dependencies, because this is a huge problem. And there was a big discussion on the Debian mailing list about that. But whatever, I used Repology in order to see what gestures were already packaging this stuff. And at the end, there should be about 40 packages that I had to package in order to see if it would work, because you have the version problem, because bundle pins to a 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 a proper programming language, but it got the work done. And this script, I inputted a list of packages and it cloned all the Kali Git repository for this package, built each one of them, and did some basic checks, like if it's a default Kali package, if it's buildable, because some of the packages are not buildable, because we don't have the build dependencies on Debian right now. It checks if it's depth 5 compliant already, if we need main pages, if we need hardening, if it's bundling some gems. And if there are written errors, there is about 20 or 30 something columns on here. And so you have lots of info. And in order to know which are the most important packages, Rafael gave me the idea to look for the number of uploads that the package had since it heated Kali. So I can just only start for the number of uploads, and I have the most important ones. And this made the process really easy, a lot more easy. And I'm publishing this on our team's Wiki page, and I will keep publishing this 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's a Java program. And I really don't like Java, so Zaproxy is a great software, but they bundle some libraries. And I talk to Opswing, and they are very receptive, and they want to help us. But I didn't manage to package 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 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. There's lots of problems that you can have. Like there was a package which was GPL-licensed, but it was linking against an open SSL. And in order to do that, you have to add a license exemption to your license. And I talked to Opswing. It was called Patty's Opswing. It's a software used to break Wi-Fi passwords, like doing offline cracking. And Opswing 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 QE, or if it's already hit stable, but I think it's on the new QE. So in the end, the results are I made this script, which is going to be used for some time. There are some fixes that 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've got some new packages on Debian. That's really good. I have to make some upstream contributions, because for some packages, I wrote their main page, and I send it to Opswing. There was this called Patty's software that changed its licenses to be correctly compliant with open SSL license. And we've got now a better Kali and Debian for its users, because when a package is just on Kali, they don't do hardening. That's one example of things that gets better when the package hits Debian, because when we enable hardening, sometimes we'll 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 syncing this package from Debian, and they can use our infrastructure to do some keyway and stuff like that. And there are two people from Kali that I know at least, Rafael and Sophie, and they work on Debian also on our team. So when there's a new release, they upload their new release on Debian, so Debian users win by that also. And they already did lots of work on their packages. So yeah, I think that's the summary of the results. Thank you. Just use it, OK. Hello, I am Angelina Ajiu. I'm from Republic of Kosovo, and I'm here to represent my Google Summer of Code project. My mentors are Bruno, Milena, and Gabriella. So my project is a Mozilla Firefox web extension to give free software alternatives to the apps on the internet, so to help 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 a database through a self-hosted API or to use a free software device, and then all this database to show it on a web page. I started by making the user experience design being based on that because it should work fine. I made some sketches and mock-ups, and then the persona, and then defining bad habits of apps like a research. And then I started implementing it by coding it. I used Mozilla API to make my extension communicate with a 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 to select and display that alternative 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 that, and based on that to give an alternative. If it exists, of course, we didn't want to annoy the users 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 used 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, so it works. For example, Dropbox is a non-free software, and this is the notification that it gets. It says Dropbox has open source alternatives like Cfile, and then I have here the web page that it gets, the extension pop-up, and all this thing. This is how it looks like. And then I made a project website which should hold all the data. I made the design of it, and the front end, and the data generation. I plan to leave this open so developers can add stuff there to the database, and then it generates it. And it goes right away to the project website. I don't need to hardcode it or something. Then I made the documentation of that. I split it in three sections. And the information about the project, general things, what's its purpose, how it works. The second one is the contribution. How can developers contribute it? And the third one is about technical aspects like debugging and cloning the repo for new developers. So this is an example of it. And for the future, I plan to continue my project even after Google Summer of Code. The first thing I need to do, probably now, I am going to put it on 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 of packaging it in Debian, because while I was here, I learned about packaging and upstreaming and all that stuff. So I think I'm 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 to integrate it with other free software services, like Susie Artificial Intelligence and Thunderbird and Upstream. Susie is a speech and texting artificial intelligence that gives you responses. And I plan to use that on giving the suggestions by speech. On my extension, with Thunderbird, I thought it to work like in Mozilla. But when a user gets an email from a non-free site, then it should send a suggestion, use this, don't use this. Like I just basically explained. And with Upstream, I thought all my database should be there to put it there. And it could help Upstream and it could help me. I have my experience with Debian. I heard about Debian last year in a girl's hackathon. And then later in Tirana, in Albania, we made a Debian box question party. I did, he was there. And we planned on working on it more than with Daniel Pocac. We had, in May, a speech together. We gave on the biggest open source conference in the whole Balkans. It was about free software. And about my project, I read the whole book to understand it a little bit more, to be more prepared. And I wanna thank Debian people for giving me this opportunity to talk here in front of you, and I'll hope I'll be a DD soon. Thank you. So, yeah, it's working. So, before, my name is Elena. Elena Djibuka and I come from Kosovo. Before I start, before I want to start to present my project, I want to mention that this year in the GSOC, it's the first time that our country is participating. So, it was funny because even when we had to apply 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 many more opportunities or any, we just thought they are not going to accept us. But hopefully for us, we had a great mentor, Daniel Pocac. I think many of you guys know him. And he helped us with everything that we needed for the other application 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 just to set up a development environment, sorry, environment. And that's why we wanted to create a GUI. So, my project is a new contributor wizard. And it's basically a GUI that it will be distributed as a package. And it will help the newcomers to Debian and open source to start their work on and work on the open source project. For example, if you want to apply in Google Summer of Code or Outreach or other programs like this, you will need a lot of things because if you are a new person, new student coming 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 help them to understand everything that they need. For example, they will need for short let how to use IRC, they will need basically a block to explain their work or a portfolio or anything. So, they will need a PGP or another things like this that we usually use in the open source. So, my part of the project in this month of the Google Summer of Code, it was the block module. Basically, I created a module that will generate automatically dynamic and static websites. And the other part of it, it was that I did a lot of research that what students need and we should include in the wizard. Another thing is that I want to mention is that students don't know that much for, they have a problems using terminal or installing programs when they usually install Debian. So, we will make sure to add like tutorials or for example, a description or something that will help them how to proceed and apply and maybe be a successful applicant for GSOC. So, that's it. Thank you. Hello, everyone. My name is Yelza Shobani 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 name is Click2Dial-up from Linux Desktop and my mentor is Thomas Levy. He couldn't join it, the conference is here. So, what I've been working in this project is that we thought, we are three students in this project because it's really a big thing. We started working in this last year in the Koder-Gaals-Hackathon in Prizren. 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 into different things and the two other students are doing something else and we plan to do something like a mobile application but still haven't figured it out. For the moment we are doing only a website application and we're working on the existing projects that Google Summer of Code students have done before like Omnital and Lumicall. I am basically working on them and making changes and 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 probably we will be working and doing the mobile app. However, this is all I have to tell right now about my project. Thank you very much. Thank you for the opportunity to be here and to present before you guys. Thank you. Okay, so, can you hear me? Okay, so, hi everyone. I am not actually a Google Summer of Code student but I've been an outreach 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? Okay, great. So, we got three other people in the audience. So, I am Chris, a program that I'm 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, okay, probably it would be nice if I could just merge it with something that is tech related and free software since during the time I was also part of the free software community. So, I ended up in the end having a diploma thesis for online 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 team for taking part in the outreach, working with the diversity and inclusion team there, building up the strategy for conducting the first language interviews since one of the barriers that we've had during all this time was that there were people coming from different countries and not speaking everyone by default English so trying to have a strategy on how to conduct interviews and to grow up communities in the local aspect to really help to take in the further step all the free software initiative and everything that's regarding to that. So, this was kind of the aspects in the field that I've been doing on the outreach for those who don't know how to reach it. It's exactly, it's an internship that is for like that last for three months. It happened 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 that have finished their studies. And beside outreach and Google Summer of Code there are also other initiatives that helps out students to continue and getting more knowledge regarding the free software such as Real's Girl Summer of Code. I don't know if you've heard about that. It's an internship happening only during the summer. It lasts for three months, I think. And it's actually only regarding the coding. But till now I think that for as far as I know outreach is the only one that requires also people that do not have technical skills or at least that have not finished for any technical subject or degree. So, this was also my short presentation let's say. And the last one I think for the session. So, if 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. Gemini, so many of us are so interested in the edges of Debian and who's coming and are they staying. And you've met so many mentees and talked to 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? So, there are many newcomers coming from Google Summer of Code. I think the main thing that should happen is they should be motivated and keep working on after the Google Summer of Code. I feel that that would be one of the major things they had to do even after the Google Summer of Code. 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? 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 can they keep moving on further with the project. So, listening to what their interests are and giving them ideas of how to pursue those interests? Yeah. I have a question. Is it, I have the impression that I might be wrong, so. Do you have questions for me or students? For you. All right. Sorry, students. Yeah, but just what I've been following for the past years, I think 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 doc projects that sometimes don't continue being developed? And I think, yeah, the motivation might fall, but do you perceive it or you don't think it makes sense? Currently I'm not, but I hope to continue it further after my, now I'm currently into early career, so I would prefer continuing later, yeah. No, sorry, I think you didn't understand my question. It was about the projects within teams, like, let's say the students that work with a per team or the 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 think there is a relation or not? Yeah, I think there is, I mean, you mean the mentor-mentee relations keeps going on? Yeah, maybe. I'm not sure whether I got your question properly. Yeah, maybe. Do you think it's easier for students to be part of a team instead of just one mentor? Yeah, I think they get diverse knowledge, so it's better to be in a team rather than sticking to one mentor. Do we have some statistics? How many of the students remained in Debian or not? Because I have had three Google, some of course students and three outreach students, and none of them really remained. They are interested, they're using Debian, but my experience of the result of my experience was that I tried to give them tasks which are easily to end, which are small tasks, and if they go, then that's not bad. How many people stayed in Debian? You mean... Let's answer. You mean from the past? No, how many people stayed in Debian of the students? How many? From the past. From the past, yeah. You don't know the future. I think that you can answer him after the session, okay? Because we ran out of time. Okay, I would like to take this opportunity to thank all the mentors who made these programs successful, and you can feel free to talk with students after the session and give them suggestions or feedback. Thank you.