Google Summer of Code 2018
Google Summer of Code is a global program focused on introducing students to open source software development. Students work on a 3 month programming project with an open source organization during their break from university.
Since its inception in 2005, the program has brought together almost 13,000 student participants from over 108 countries worldwide. Google Summer of Code has produced over 33 million lines of code for 608 open source organizations.
Check Google Developers site for more information on how the program works.
OpenStack had the chance to join Google Summer of Code 2014 (more details here) and the outcome was very positive: we got 6 interns working on 5 different projects and now, some of those interns, continued contributing to our community. With this visibly great results, we decided to apply as a mentoring organization again this year for the Google Summer of Code 2018 internships.
Link to FAQs: here
What is OpenStack
OpenStack is an open-source IaaS cloud computing platform. Its mission is to provide a flexible solution for both public and private clouds of any size, and for this matter two basic requirements are considered: clouds must be simple to implement and massively scalable.
OpenStack is continuously growing and new and exciting projects are being discussed everyday.
We encourage new contributors to participate and help us make OpenStack the most complete, reliable and flexible open-source cloud service!
If you're interested in mentoring for this round, please add your name, email, IRC handle and the kind of projects you're interested in mentoring below. Please ensure that the projects are official projects in OpenStack and are registered in the governance projects.yaml.
- Victoria Martinez de la Cruz - victoria AT redhat.com - vkmc - Manila (filesystems)
- Supun Wanniarachchi - - Supun - Glance (Images) and Swift (Object storage)
- Jay Bryant - jungleboyj AT gmail.com - jungleboyj - Cinder (Block storage)
- Ivan Kolodyazhny - e0ne AT e0ne.info - e0ne - Cinder (Block storage)
- Hongbin Lu - hongbin034 AT gmail.com - hongbin - Zun (Containers management)
- Raildo Mascena - raildom AT gmail.com - raildo - Oslo.config (Config library) and Castellan (generic Key Manager interface)
Expectation from mentors
Don't know what it takes to be a mentor? Check out the following resources to get more information on how is to be a mentor for this internship and get some useful tips/tricks on mentoring:
Students application period opens March 12nd and ends on March 27th.
If you'd like to get started on your proposal early, go ahead and add your name, location, e-mail, IRC handle and the project you are interested in (if you already know about that!) here:
- Sebastian Minutto - - elsauto - Zun
- <name> - <email> - <irc handle> - <project>
Expectation from students
- Get to know OpenStack and the project for which you want to apply. Make sure to understand what OpenStack software does, what is precisely the goal of the project you want to contribute to and how the community communicates. Check out the How_To_Contribute wiki and make sure you always have the community docs handy. Also, you may want to have your developer guide for the project you want to contribute bookmarked. Of course, we encourage you to ask questions in the main communication channels on IRC and on the mailing lists. Be clear and concise, provide supporting information (logs, configs, information about the environment) on paste files. You can use https://paste.openstack.org for this.
- Get your development environment installed and running with the code for the project you want to contribute to. We use Devstack to set up our working environments. Check our your project wiki page for more detailed set up instructions of your project in particular. You would also want to ask your mentor and/or in your project IRC channel for instructions.
- Review internship tasks and ask any question that you might have on those. Talk with your mentors and with the rest of the team for the project you want to apply to.
- Pay attention to things happening on IRC, both in your project channel as in the GSoC channel. Plus, ask your mentor if there are weekly meetings for the team and, if so, when and where those happen.
- Add your name to this wiki so we know you are interested in applying to this internship. Make sure to specify where you are based, your IRC handle, your email and which project you are interested in.
- Start contributing with small tasks. Help with code reviews, submit bug fixes, correct any documentation you see it's not accurate or that could be enhanced.
- Remember to be active. Work hard. Ask good questions. Respond to questions of other people if you know the answer. Remote internships work because students keep communication open and fluent with their mentors and the rest of the team.
- Work on your application and submit it. We provide you a template in GSoC2018/StudentApplicationTemplate.
Questions? Comments? Concerns? Feel free to reach us, we are here to help!
Also, you can find us at IRC in #openstack-gsoc at irc.freenode.org.
Applicants have to submit an internship proposal in the Google Summer of Code 2018 administration site between March 12th and March 27th.
A good project submission should contain the following:
- Project title
- Name of the student
- Student bacground (include social media as appropriate: Twitter, Blog, Github, etc)
- Short abstract for the internship task
- Internship task details and roadmap (separated in milestones)
- Internship task schedule (a more granular description of how you are going to tackle your internship task)
- Success criteria (how do you know when you are done?)
- Why your contribution is important for OpenStack
To make things easier, we left a proposal template for you to check at GSoC2016/StudentApplicationTemplate.
And you can also check previous applications in:
Ready? Let's start to write your proposal!
Suggestions for students to choose from for their applications are maintained on the Internship ideas wiki. This doesn't mean students have to stick strictly to this list; don't hesitate in propose projects by your own. Be proactive! All FOSS developers are used to go ahead and propose their own ideas for any new challenge they face, we would love to see the same in our interns!
When writing your proposal, try to estimate your timeline to fit the 4 month period of GSoC coding. Also, take into account that GSoC does not consider other projects than coding, so other ideas (like community tasks or i18n efforts) are not suitable for this internship.
Still not something that fit your interests?
Check out for more project ideas in:
- Cinder - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/cinder-specs,n,z)
- Keystone - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/keystone-specs,n,z)
- Neutron - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/neutron-specs,n,z)
- Nova - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/nova-specs,n,z)
- Oslo - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/oslo-specs,n,z) and those that are in progress (https://git.openstack.org/cgit/openstack/oslo-specs/tree/specs/kilo)
- Rally - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/rally-specs,n,z)
- Sahara - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/sahara-specs,n,z)
- Swift - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/swift-specs,n,z)
- Trove - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/trove-specs,n,z)
- Zaqar - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/zaqar-specs,n,z)
- Glance - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/glance-specs,n,z)
- Searchlight - Look through specs being proposed (https://review.openstack.org/#/q/project:openstack/searchlight-specs,n,z)