Jenkins GSoC

This year, the Jenkins organization participated in the Google Summer of Code Mentor Summit at the Google office in Sunnyvale on Oct 12, 13 and 14, 2018. The GSoC Mentor Summit is where mentors of all organizations participating in the GSoC program are invited each year to learn and network with mentors from other organization, and make GSoC a better program. This is the second time Jenkins mentors have participated in the summit, the first time was in 2016.

Exceptionally, three Jenkins GSoC mentors were invited to the summit this year. Normally only two mentors are invited, but when there are cancellations, Google draws a name at random from the waiting list, and the Jenkins organization was lucky enough and sent an extra mentor this year! The mentors participating this year were Oleg Nenashev, Jeff Pearce and Martin d’Anjou.

It is worth mentioning that the Mentor Summit is not a typical conference where you go sit and listen at what speakers have to say, quite the contrary. The Mentor Summit is an unconference where participants are invited to fill empty time slots with their own topic of discussion.

Friday Oct 12

Pre-conference meeting

The mentors had a short pre-conference meeting to reflect on the Jenkins participation in the 2018 GSoC program, and to plan for 2019. We were joined at this meeting by Lloyd Chang, whom we had met at Jenkins World 2018. Thank you Lloyd for joining us! A few ideas we had for 2019 are:

  • Move project proposals to individual Google Documents

  • Create a template for project proposed by potential mentors and by project champions

  • Create an Organization Administrator Guide for future Jenkins GSoC project admins

Other preparations we agreed to work on include a review of the 2018 feedback and the creation of an Epic capturing the action items in preparation for 2019. We are also planning on making progress on the GSoC Budget process described in JEP-8.

Summit Starts!

The summit started by a welcoming dinner at the Google Cafeteria and an evening session where we were explained how the unconference would work. We proposed a few topics: dealing with CPT lost slots, motivating mentors, and Open Source Hardware ASIC/FPGA.

On thing to say is that everyone at the conference had heard of Jenkins, or was already using Jenkins. Lots of people came to tell us their Jenkins experience.

I noticed this too - made me feel proud to be part of the Jenkins project.

— Jeff Pearce
Jenkins GSoC mentor in 2018

Saturday Oct 13

Unconference sessions

The morning started with a couple of announcements from Google. The first one was that Google is thinking of creating a program called "Google Season of Docs" (GSoD for short), where technical writers would be paired with Open Source Organizations to help them write documentation such as:

  • High-impact tutorials

  • Set of How-To Guides

  • Contributor’s Guide

  • Documentation refactoring

  • Plain documentation

We have additional details regarding this in the GSoC Mentor Summit Notes and we quickly concluded that if this program comes to life, Jenkins should be a participating organization.

The other announcement made by the GSoC administrators is that GSoC may take a different form in 2020. However, not much more information has been made available at this time. The program has been operating for 13 years, and in 2020 it will have been 15 years.

The announcements were followed by a series of morning lightning talks. This is where organizations showcase what their students accomplished during the program. This is when we had a bit of a surprise…​

Oleg who had signed up for the evening lightning talks, was watching the talks while casually preparing slides for his evening presentation. But something unusual happened: many talks were shorter than the 3-minute allotted, and suddenly we were ahead of schedule. That’s when Oleg was called to the stage. I had no idea whether his slides were ready or not since he had just leaned over to me to say that he wanted to talk about all 3 projects we had this year. Not knowing how far he had gotten into refactoring the slides, this was going to be…​ interesting. Being an experienced presenter, Oleg pulled it off brilliantly. The slides were effectively ready (how he managed that I have no idea), but you can see the slides of his lightning talk here: Jenkins Remoting over Apache Kafka.

Then there were the unconference sessions. Some of the sessions we attended are:

  • Documentation

  • Attracting and retaining mentors (facilitated by Martin)

  • Organizing and motivating volunteers and mentors

  • Getting students from coding/boot camps involved in open source

  • Retaining students after GSoC

  • Open Event management System

  • GSoC Feedback

We have notes for all the session in the main document. Some sessions were captured in separated documents which are linked from the main document, or from this blog post.

There were lots of good ideas in those sessions, and we will do what we can next year to implement some of them.

Some organizations have said that the key for student retention is to give them responsibilities and tasks after the program is over. We have certainly seen that this year, with one of our students asking for more responsibilities and wanting to know how his plugin project could continue to grow within the Jenkins project (while at the same time help out on another GSoC plugin!).

In the evening was the second round of lightning talks. Jeff Pearce presented the Code Coverage API Plugin lightning talk, (he was not caught by surprise).

Chocolate table at the GSoC 2018 Mentor Summit

After the lightning talks, we were invited to hang out at the cafeteria and on the patio, to exchange stickers, network with mentors of other organizations, and enjoy late evening snacks, music and of course the chocolate table!

Sunday Oct 14

On Sunday, the sessions continued. An interesting session was "Beyond GSoC, What can Google do?". One person got a big round of applause when he said: "Cloud credits". It turns out the GSoC program admins have been trying to get that for us for about 3 years. Google may be big and powerful, but some things are hard and remain hard in the corporate world.

An interesting suggestion was made by Oleg, and it would be to have a program with smaller, shorter term commitments, something that would encourage more granular contributions but would not require a 4-month long commitment. This was noted by the GSoC program admins.

Then we attended a number of sessions:

Then the day came to an end with some last words by Google thanking all the mentors and volunteers who run this program in their organizations.

Return trip

I would now like to add a personal note. After the summit, like many others I fly back home, so I spend the evening at the SFO international terminal waiting for my late night flight. That is where I get to meet more mentors, as some of us still wear our badges and T-Shirts, and also recognize each other from being at the conference. And funny enough, there are so many geeks at that terminal that we may have recruited, among the passengers, a mentor to another org for next year!

Want a GSoC student to work on your project in 2019?

We have already started the preparations for GSoC 2019. And we cannot do this without the participation of the Jenkins community. We are already looking for:

  • Mentors from the Jenkins Special Interest Groups

  • Mentors from any background and any provenance (being a Jenkins developer is NOT required)

  • Project proposals

  • Students and their proposals

Lots of people are afraid that mentoring a student will take a lot of their time. If you feel that way, you are not alone. It does take some time. In my case, I spend 5 to 8 hours per week on mentor tasks (more at the start, less at the end). To make it easier on mentors who likely have full time jobs and life commitments, we define different mentor roles:

  • Project champion co-mentor: this is the mentor who proposes the idea, but may not have all the Jenkins code expertise needed. This mentor works with the student to define the project and acts mostly as a "customer" of the project. This mentor usually know enough about coding to comment on pull-requests with regards to the over quality, style and features of the code.

  • Technical co-mentor: this is the mentor who knows enough about the Jenkins code to guide the student on coding, and to provide Jenkins specific code reviews on pull-requests, but has limited involvement outside the coding activity of the student.

There is a third role which is:

  • Subject Matter Expert: these individuals are not mentors, but we reach out to them 3-4 times during the project for advice and guidance, and sometimes complicated programming challenges.

If you have questions or are curious about the program, contact us on the GSoC Gitter SIG chat.

We would like to emphasize that project proposals are not limited to "big projects". For example, it is perfectly fine to have a proposal that is a collection of related Jira issues that aim to improve your project, or a list of tasks that need to be done for your project. Writing documentation is outside the scope of GSoC, but automating documentation generation, as long as it is mostly about writing code, is within the scope of GSoC.

We look forward working with the Jenkins community on GSoC 2019!