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 advice in
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 this interest?
[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?
eventyally 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 ]