Google Summer of Code

Google Summer of Code is a summer program, similar to a paid-internship, via Google and the Linux Foundation, that provides students funding, mentoring by experts, and resources in order to contribute to WireGuard. It is for all students — bachelor's, master's, PhD, or other degrees.

Working on WireGuard is an excellent way for students to gain experience in a wide variety of sophisticated domains: cryptography, kernel programming, mobile app development, Linux/Posix programming, Win32/NT programming, web development, C, C++, assembly (x86, arm, mips, etc), Java, C#, Objective C, shell scripting, and a huge variety of other areas. For students looking for an educational summer during which one will certainly level-up on essential skills, working on WireGuard is a great opportunity. It is applicable to those who have taken classes in the general category of operating systems, networking, application development, or people who simply like to program things in their free time.

Potential Projects

Here are a few projects students might work on, as ideas to get started and as a general direction of what the project currently needs. However, students are also free to propose their own tasks. A good proposal will show a strong general understanding of the subject area and bring real tangible value to the project.

Signing Up

If you're interested, please write an email as soon as possible to the WireGuard development team, and we can start formulating your proposal together.

If you're signing up directly on the GSoC site, keep in mind that the Linux Foundation umbrella organization is responsible for this year's WireGuard GSoC, so be sure to write "Linux Foundation" as your mentoring organization, and then specify in your proposal your desire to work with WireGuard, listing Jason Donenfeld as your mentor. But keep in mind that successful candidates usually get in touch with the development team before submitting to the GSoC site.

Google has written a student guide, which may be useful in formulating your proposal.