Google Summer of Code 2021 (1)

I'm very happy and honored that I was admitted to participate in the GSoC 2021, to work with libvirt community.

I will record and share some experience here, if you also would like to participate in GSoC, work with Open Source communities, or just for fun, then go on.

English is not my mother tongue, so you may find an offensive “tone” in the article where no offense is meant.

First step

Do you enjoy writing codes? Do you love open source? Do you have enough time in the summer holiday? Or if you just want to enrich yourself, You can take GSoC into account.

After ensuring that you have enough motivation to work 45 days (GSoC 2021 halves the time), then you need to select a community and a project to contribute to, that's pretty important.

There are a lot of communities in GSoC, if you are familiar with some, you can just head to them and find the projects you are interested in. But if you are a newbie, then you may look into them one by one. There are tags for every community, but please don't ignore a community just because the tags don't fit your skills, cause sometimes tags are not consistent with the projects. For example, a community may have a tag C++, but all the projects are not related with C++.

And do note that some communities require the previous contributions or pass some tests before submit your proposal (to pass some students). Normally, you can get the requirements from the community official sites, such as libvirt's GSoC FAQ, please read these carefully to save both you and your mentors' time.

Contact communities

After selecting the projects you take interest in, you should now contact communities, and remember that, the earlier, the better. You may need to use IRC, Email, Slack, Telegram, or something else to contact the community.

Now you find the best method to contact communities, so don't hesitate to introduce yourself and show your abilities :), and remember to be polite.

Write proposals

If you think the communication between you and your mentor is pretty good and you finally decide to choose the project (or just choose the project directly), you can start to write your proposals now (don't forget that you should meet the communities requirement as I said in the First Step). Introduce yourself, write down your ideas about the project, organize a detailed schedule, anyway, try to make your proposal look nice. And don't forget to share your draft with the community, so community members can give some advice to make your proposal better. Though you can submit multiple proposals, I believe most people will just submit one, cause time is pretty limited.

Contribute and wait

Contributing to the project you take interest in is pretty important. First, you can get familiar with the code, and the workflow of the project. Second, the community members will get to know you. Third, the contribution you make, to some extent, shows your determination to take part in the project. Even though you may not be the selected one, contributing to communities deserves to be encouraged.

So, after so many preparations, you are good to go. Submit your proposals, attend the interview arranged by the community, and, wait for good news. Good luck ;)