GSoC: differences of expectations between students and organizations
I've been administering KDE's participation in the Google Summer of Code program for the last few years (and mentoring on some). This post is just some personal thoughts on the differences between what the KDE organization expects and what usually the applicants want (I'm not in everybody heads, it's assumptions from my experience). I don't provide any solution (because I don't have any) and there is no judgment (both point of views are valid), just a personal point of view.
Applicants point of view
GSoC is a individual competitive program which can be a huge boost to start a career. There are usually two major reasons for the applicants to participate in GSoC:
- the money.
- the experience and the line in the CV for real life work.
There is, for a lot of applicants, no genuine interest in the projects (at least at the beginning, the first interaction is often "I want to start contributing to KDE and prepare for GSoC"), and they mostly want a GSoC slot. Small digression, on one of my projects, two people already asked to contribute and if we were doing GSoC, but after telling them that contributions are welcomed and we will only propose a topic if we feel enough confidence that the contributor would stay after, they told us they preferred to choose another project.
Contributors consider GSoC as an end of their studies, not a project they want to contribute after: there is also a change of life to consider between university life and work life and a balance to achieve when starting the latter (which could be in a different town/country) which may be a reason for the drop of interest.
Organization point of view
GSoC is an opportunity to welcome new contributors to our community. The organization usually expects from GSoC:
- contributors willing to contribute regularly to their projects.
- implementation (partial or total) of the proposed ideas.
- having a positive return on investment (is the time spent mentoring worth the result?)
GSoC is mostly a step to have contributors learning about the projects, and contribute in the long-term. Long-term is purposely vague; what we expected for the GCompris project was the contributor would contribute at least one year and mentor for the next GSoC (so a loop was present, and applicants would also gain an experience on mentoring, while giving some relief to the other experienced mentors) but it can vary depending on the project.
For the return on investment, mentors do not consider it good having spent more than three months mentoring for projects they could have done in less time they spent to mentor the contributor. Helping someone grow is always personally rewarding but we still hope this person will also show us the results of the teaching by improving our projects in the future.
Impacts of the differences
There is a huge difference on the expectations. What can we do to reach a common ground where everyone is happy?
- Organizations cannot force anyone to contribute after the GSoC end.
- If money is the main motivation to stay, most organizations will not have money to hire applicants to work after (and do we want to hire someone only motivated by money? No, it's not OSS values, we love passion).
- Find ways to create a real interest for the organization. In KDE, we have the chance to have tons of projects with different topics (astronomy, education, digital painting, video editing, scientific plotting, games, desktop environment, system administration, internationalization, ...) where it is easy to participate to other projects from time to time and learn new things if we are curious enough.
- Be stricter on the entry point for organizations: explicitly say in the beginning that we expect a long-term relationship not just the equivalent of an internship. It should reduce the number of applicants and only keep the ones with a genuine interest (if applicants are honest of course).
- Organizations/Mentors could reduce their objectives of GSoC and consider that contributors are here to produce and spend less time on training/mentoring, expecting contributors already know the basics, but this would totally spoil the nature of the program.
Another track is to find the projects where contributors stay / don't stay and understand the difference. Most of the big KDE applications don't manage to keep their contributors, while smaller ones do. Maybe as a contributor, it's because it's more difficult to take decisions, feel included/listened on large projects because they have a high maturity level/long-term contributors and a well-defined vision? Whereas on smaller projects, there are fewer constraints from the existing environment and it feels more rewarding and motivating to contribute there?
To conclude, here are the statistics for KDE retention the last years:
| Year | Started | Completed | Active after 1 year | Active after 2 years | Active after 3 years |
|---|---|---|---|---|---|
| 2018 | 20 | 17 | 5 | 5 | 4 |
| 2019 | 24 | 22 | 9 | 8 | 8 |
| 2020 | 21 | 19 | 2 | 2 | 1 |
| 2021 | 16 | 15 | 8 | 6 | 3 |
| 2022 | 7 | 6 | 5 | 1 | 0 |
| 2023 | 9 | 7 | 3 | 3 | 2 |
| 2024 | 10 | 10 | 4 | 2 | - |
| 2025 | 15 | 12 | 6 | - | - |
That is, an average of 15 people sign up each year, of which
- an average of 90% finish
- 44% continued contributing 1 year later
- 28% continued contributing 2 years later
- 22% continued contributing 3 years later
We would of course love having more contributors staying at least one year but it's almost half and a quarter that stay active for a few years!