The 2017 GSoC Mentor Summit

I am wrapping up the ideas after the Google mentor summit 2017. In spite of having mentored my first GSoC student in 2008, this is the first time I ever attended this summit. There were ~300 mentors representative of many different open source communities. A triple-concentrate of all the main open projects in a not-too-noisy environment (unlike e.g. FOSDEM) – all in all, it has been a very pleasant experience!

I also took a few more days to visit the Mozilla offices (shout out to Micheal, Havi, and of course Potch for being so welcoming), visit the Internet Archive and in general have follow-ups about the discussions generated at the summit.

Highlights from the conference

The conference was an “unconference”, so sessions were not precisely defined. I have attended many, but here are my true highlights:

Running hackathons
Extremely interesting session – where I gave some advice on how we run events in KDE, and we discussed how to attract open source contributors and create a productive environment around it, where even newcomers are enabled to have an impact. Great ideas for the future!

Collaborative education
In this session, run by Alessandro and me, we discussed tools for implementing collaborative education resources, compared to simply producing open educational resources. The difference is simple, and can be understood with an example: you have a similar difference between simply adding an open license to your code or following an open and transparent development process, where other can participate.
The latter brings many more exciting possibilities to build, as a community, something great, and it is what I believe to be the future of education. WikiToLearn was of course a main topic in this session.

Git(hub)(lab)(…) and new collaboration tools for opensource
This last discussion started as simply “tools for automating git workflows”, including ML-powered bots to triage and categorize issues, and turned into a general discussion around tools, infrastructure and workflows around git. This question is very much felt in many open projects: where and how do you store your code? We carried it on to a new session run by Alessandro and Boudayan (where I was unfortunately not present), and kept discussing it throughout the whole summit. I interviewed many developers from very different communities to understand their take on the matter.

My peronal take on git in open communities (preview)

This is in no way meant to be a concrete proposal, but not even a rant – simply a primitive thought on a very complex issue. I think that “how we work together” is currently the most challenging problem affecting the KDE commmunity, and it should be handled as such.

I think that Paul Adams came up with a great blog post this summer, a TLDR of the post could be (sorry Paul for the extreme synthesis!): if you adopt Git, you cannot continue to work like you did on SVN – the price you pay is the isolation and fragmentation of the development community. I fear that KDE, just like other “traditional” open source communities, didn’t see this transition happening before their eyes (after all, it was just a tool switch for them), and continued with the traditional workflow of the centralized repository. This is understandable, as we’ve been simply continuing to work like we used to, but we didn’t see how “Open Source” was becoming a standard for the new generations, and with it there came an associated, standard, way to “work in the open”. Personally, it took me a lot of time and a lot of talking to young developers to understand how other communities use tools for open source such as Gitlab, and why this is so radically different than what we can provide with our git.kde.org installation.

This is reflected in the final composition of the community – the big core formed during the golden age of SVN, and, as time progresses, is undoubtedly aging. We have to accept that nowadays most open source communities don’t work like we used to ten years ago, and it is imperative we figure out a way to evolve our workflow without betraying our values of shared and open governance. What are the young kids doing? Why are they doing that? What lessons can we learn from all these git natives?

The side-track

As always, the most interesting part of the conference happened in the corridors. In particular, I have been working with the developers of Rocket.Chat to show them the work we’ve been doing on Ruqola. They were very happy to see the development in this direction, and they showed me RocketChat+, a great newly released React Native mobile application for Rocket.Chat, so that we can chat reasonably even in mobility. It seems like we’re getting closer to a point where Rocket.Chat can be an OSS replacement for Slack! Another feature request I have managed to ask (it is a real blocker for us!) is a way to do proper SSO authentication (e.g. OAuth) outside the browser, so that we can have all of our userbase logging in the chat system with a unified identity, and the possibility of properly linking different identities. They are tracking this second issue here, and my hopes are up! 🙂

The work was not over when the Summit finshed. We’ve been brainstorming with a representative of GFOSS (a Greek FOSS-related organization) to improve their open education systems with the help of WikiToLearn. During the last days Alessandro and I managed to squeeze in a visit Mark Graham at the Internet Archive, to figure out how to best develop and preserve educational material.

Thanks a lot to KDE e.V. and Google for sponsoring my flights and allowing me to participate!