Let's write good code!

Another Summer of Code at GNOME

Summer of Code at GNOME

Another Summer of Code is over. This year we mentored 24 GSoC and 1 Outreachy interns. This blog post contains information about how we run SoCs at GNOME and the latest things we’re trying out to improve it.

Let me start with what’s special about a Summer of Code at GNOME: GUADEC! All interns get the opportunity to present their work at GUADEC. Most of them respondverypositively and this event is a great chance to get mentors, interns and the whole community together. Together with our blog aggregator planet.gnome.org we are able to provide a great public visibility to the projects we mentor. GNOME has a very high success rate because interns are required to collaborate with a mentor on at least one relevant patch and on a manageable and agreed-upon project plan before submitting an application. Through this, they get to know the project before starting their work as part of the program.

GNOME and ownCloud

During GUADEC and the ownCloud conference I got the chance to meet up with a few people from ownCloud. Together we were able to push the idea of a joint venture of ownCloud and GNOME further: if either one of our organizations participates in Google Summer of Code 2016, we will offer projects that feature two mentors, one from GNOME and one from ownCloud. Those projects are aimed at improving the interoperability between ownCloud and GNOME. Interns will be able to learn from both organizations while ownCloud and GNOME will get the possibility to talk more to each other, making us able to improve ourselves with the help of others. Through sharing interns between organizations we’re taking the idea of “Open Source” and “Sharing” to a new level at GSoC – I’m excited to see how this experiment works out.

Impressions From Our Mentors

Because our mentors know our interns way better than us administrators, we’ve compiled a few paragraphs of experiences shared by them. Because of the amount of great projects we have, we are not able to showcase all of them – although a lot more deserve it!

This summer I worked with George-Cristian Muraru on a new security feature for GNOME: Blocking USB ports, e.g. when your screen is locked. This is a major improvement for the security of our users as a very large attack surface has been reduced. George did not only find out how Linux manages USB devices, he also combined that with the GNOME desktop. I am proud to have such a skilled person in our community, now.

– Tobias Mueller

I mentored Ankit Verma on his project “Make use of phone as a GPS device (AKA GPS sharing)“. Since many laptops do not have a GPS on them, geolocation for most users hasn’t been very accurate. The idea behind this project was to provide an easy way for users to greatly improve the accuracy and reliability of geolocation for users who have an Android-based phone. Ankit had a lot of learning to do as, he had no prior experience of development for GNOME. His patches to enable Geoclue to receive location information from other devices on local network, have already been merged and he has made the Android app to share location from the phone, available as well – a great achievement.

– Zeeshan Ali Khattak

I had the luck to mentor two very bright students, Udayan and Abdeali, for the coala project under the GNOME umbrella this year. Apart from other related stuff, they created a GUI as well as severaleditorplugins from scratch and grew into an integral part of our community. It is safe to say, that both mentors and students learned and gained a lot from this experience.

– Lasse Schuirmann

Most of our projects are showcased in the next GNOME release so you can easily try them out!

Administration Automation

Now, this is where it gets interesting if you are a SoC administrator for any organization out there: when I entered our administration team I quickly got tired of the huge amount of repetitive tasks. This led to an effort to create automation scripts which we are currently developing at https://git.gnome.org/browse/gsoc-admin. The library we are building there, allows importing events from an ICS file and send out mails automatically on dates that are related to those events. Those mails are created from templates, so that things like a list of projects can easily be generated automatically each year from CSV files. Most common tasks like reminding people about evaluations with an internal deadline, checking activity of interns (using blogs and git repositories), or creating basic tarballs for the interns from their git repository can be automated with those scripts.

Of course this stuff is open source and not specific to GNOME, not even to any kind of SoC. You can easily use it for your organization or even for similar tasks that require unlocalized automation of templated mail sending.

If you are interested in this and are visiting the GSoC Mentor Summit this year, be sure to grab me for a talk!

Many Thanks…

…go to Google, Outreachy and its sponsors for making those programs happen. Of course, our mentors were invaluable and did a great job – again. We are glad to have everyone of them. The final words belong to all participating interns: without your curiosity and willingness to dive into our community this program would not be as great as it is.