From Friday, October 13th to Sunday, October 15th 2017 I had the opportunity to attend the Google Summer of Code Mentor Summit in Sunnyvale, CA. This is a summary of my experiences.
If you are not familiar with Google Summer of Code, it is a program where university students spend the summer working for an open source project. Google pays the students as a way to give back to open source, which is heavily used in their products. Students are mentored by experienced developers from the projects and Google invites two mentors per project into the US in autumn each year for an unconference-style summit.
Together with Mojca Miklavec I mentored Zero King, who did a great job at implementing better usability for GitHub pull requests for MacPorts by setting up Travis CI and a PR helper bot. Our original plan was to attend the Mentor Summit with 2015 student and this year organization administrator Jackson Isaac, but unfortunately his visa to the US was denied and Mojca stepped in instead.
Friday 13th Travelling
My journey to Sunnyvale started in their early morning of Friday, the 13th. I took a train to Frankfurt for an eleven-hour non-stop flight to San José. I had not noticed the date when booking the flight, but when my airline of choice decided to do a two-for-one special on takeoffs I was beginning to think I may not have chosen the best date to fly ;-).
Due to a cockpit window that flew open on the roll, our first takeoff was aborted. With hot brakes and a potential technical problem in the cockpit, we saw the fire brigade roll up to the aircraft and later on had to deboard as the problem could not be fixed immediately. While waiting at the gate for further information on the flight, I met other open source project representatives going to the Mentor Summit.
About two and half hours later, our flight eventually left with a repaired cockpit window, but without two containers of luggage that were unloaded on the apron in Frankfurt, presumably because somebody decided not to reboard the flight and their luggage had to be removed. After an otherwise uneventful flight to SJC and a breeze with the immigration process (“I’m going to GSoC Mentor Summit”, “We’re getting quite a few of you guys lately!”) I unfortunately had to learn that my luggage was among those unloaded in Frankfurt and I was going to have to get by without it until Sunday afternoon. This meant that I had to do some shopping at the expense of my breakfast on Saturday.
Friday Evening: Opening Event
The weekend started off on Friday night with dinner and an opening talk by the conference organizers at the summit location Google Tech Corners. About 5 miles from Google’s main campus, Google Tech Corners are a series of office buildings that host both Google employees as well as meeting rooms for events such as the Mentor Summit.
Saturday & Sunday: Unconference Sessions
The two remaining days were almost entirely reserved for unconference sessions on various topics. I attended a number of different sessions but also extensively used the “hallway track” to get in touch with others in open source. I will list some notable sessions below.
- Grading Criteria for Proposals
A discussion on how to avoid personal preferences and bias when choosing proposals. There were a lot of good ideas and we ended up summarizing that there should be a list of criteria published before GSoC and available for students to grade technical and social skills as well as the project and its planning.1
My personal takeaway from this session was that GSoC consists of a lot of small projects that only have less than five students, and big projects are surprisingly uncommon.
- Open Source Autonomous Vehicles - Are They Possible?
Sort of a brainstorming on what is needed for autonomous driving, what is already there, who is currently participating in automotive open source and how to convince more companies to contribute. An interesting topic in general, especially due to the legal questions around autonomous driving.
- Google Track: What More?
A brainstorming discussion on what Google could do besides Google Summer of Code to help open source projects. There were a lot of different ideas, but from what I recall none of them were an obvious no-brainer. I asked whether Google could provide build capacity, which was backed by the Homebrew representative and some other audience members. I would be very surprised if this was feasible for Google, though.
- Organizational Homes for FOSS Projects
This loose discussion on different umbrella projects was hosted by Software Freedom Conservancy’s Brett Smith. I learned that openSUSE is not only the open source version of the SUSE distribution, but also an umbrella for various other projects.
- Convincing Large Companies to Use Open Source
Largely a discussion on which licenses are company-friendly and which ones are not. Mentioned some of the problems companies face and where open source could help, such as making license compliance easy by providing machine-readable license specifications (e.g. using SPDX).
From a MacPorts point of view, we should probably consider adapting the standardized identifiers from the SPDX license list for our license field. Unfortunately that would be some additional effort for licenses we did not distinguish so far, such as the various BSD-style licenses.
- Fail Your Students!
Facilitated by the GSoC organization team, this discussion allowed mentors to align on when and how to fail students. In quite a number of cases it seems that if you are asking yourself the question whether to fail the student the answer is likely “yes”. Google has an interest in keeping the bar for successful GSoC participation high and does not want mentors to waste their time. I learned that mentor availability is the biggest scalability problem with Google Summer of Code, not student availability or financial reasons. Additionally, suggesting the student withdraw before failing him may make the decision easier for mentors and less harsh for students.
Evening Activities & the Hallway Track
In addition to the various sessions, meeting other people in the hallways or over lunch was an interesting and very rewarding experience. I met (among many others) William Woodruff from the Homebrew project, and not only did we get along very well2, but we also noticed that both Homebrew and MacPorts face a number of similar problems such as build CPU cycle availability in their endeavor to bring open source software to the Mac.
On Saturday night, Google organized a social event with live music, marshmallow roasting, drinks and two satirical cartoonists outside the Google Tech Corner buildings. While I did not anticipate how chilly it would actually get in California in October, I thoroughly enjoyed the evening and the discussions with other open source projects.
I learned, for example, that there is no central federal institution that keeps a copy of DMCA takedown notices sent in the US, and that a university stepped in with a research project based on open source, which eventually lead to a number of fake DMCA notices being discovered. In the same spirit, we discussed (but unfortunately could not answer) whether the European Union’s “right to be forgotten” at least provides record of who attempted to remove information.
On Sunday evening after the official end of the summit, I joined a few other attendees for a private barbecue in San Francisco. In addition to some great food, I learned a lot about Qubes OS, an operating system that reduces your attack surface by isolating many attack vectors in separate virtual machines on top of Xen.
Overall, the Google Summer of Code Mentor Summit was a fascinating experience and very well organized. I had a blast at the conference, learned a lot of new things and met many interesting people. I would definitely attend again.
On Monday afternoon I left for the airport and had a great view over the bay area after takeoff for an uneventful flight back home.