Google Summer of Code/Participants
If you are considering to apply to the next round of Google Summer of Code program, first check the eligibility criteria and then learn more below. Watch this informational video to learn more about the program.
Introduction
editWikimedia is a global movement whose mission is to bring free educational content to the world. One of our most popular projects is Wikipedia. For an overview of Wikimedia technology and examples of the major areas where developers can contribute, visit Introduction to the Wikimedia Technical Ecosystem. To learn about Wikimedia's participation as a mentoring organization in Google Summer of Code, watch this video.
For more questions, read the most commonly asked questions and answers related to the Google Summer of Code and Outreachy programs.
Step by Step Application Process
editIf you are considering applying, follow the steps in the order in which they are listed:
- Read the GSOC guide for students Develop your understanding of the various stages of the program.
- Understand Wikimedia's technical areas There are a lot of technical areas in which you can contribute (e.g. Gadgets, Extensions, Skins, Bots, etc). A high-level knowledge of these areas will help you a lot in choosing a project.
- Understand how and where to communicate Different places serve different purposes. Read the communication tips for good practices and which topics or questions to ask where.
- Choose a project that best suits your interests and skill set from the ideas listed on the GSoC 2024 page on mediawiki.org.
- Do your research about the project thoroughly. Do not expect spoon-feeding. Ask intelligent and explicit questions. "Can you tell me more about this project?" is a bad question. Read Google Summer of Code/2024#Contact which place to use for which type of questions.
- Express your interest in working on a project by commenting on the corresponding task on Wikimedia Phabricator. (See Phabricator/Help if you do not have a Phabricator account yet.)
- Communicate with project mentors Discuss with them your ideas for implementation and learn about their availability and willingness to mentor.
- Learn basic skills required for development If you are planning on contributing to a project that involves the MediaWiki codebase, learn how to start hacking. For other projects, check the getting started steps in the task description of the project you have chosen on Phabricator.
- Fix small bugs Work on a microtask linked in the Phabricator task description. If there are none in the task, ask mentors to point you to some. You could also fix smaller bugs in that project. This help candidates understand the skills required for a project and mentors whether the candidate has these skills.
- Read a few good proposals that were accepted for the previous round. Here they are: example 1, example 2, example 3.
- Submit your proposal as a task on Wikimedia Phabricator:
- Fill out this pre-populated application template.
- Make sure to add "Google-Summer-of-Code (YEAR)" in the "Tags" field.
- Set yourself as task assignee in the "Assigned To" field of your proposal.
- Your proposal in Phabricator will be public: Do not add any personal information such as your email address or phone number.
- Do not copy and paste any text, images, or concepts from another source without clearly citing and marking that source. Representing someone else's work as your own work is plagiarism and not acceptable.
- Check the Preview at the bottom. If it looks fine, click "Create New Task".
- You can still edit and improve your existing proposal (before the application deadline) via "Edit Task".
- If you apply for an existing project idea, then make your proposal a subtask: Click "Edit Related Tasks… 🡒 Edit Parent Tasks" and add the task of the project idea (e.g. "T123456").
- Make sure that you upload a copy of your proposal on the Google's program site as well in whatever format it's expected of you, include in it the link to your public proposal on Phabricator.
- Discuss your own project idea with a possible mentor If you couldn't find anything interesting in our project ideas, you could ask organization administrators to help you connect with a mentor.
Accepted participants
editIf you get accepted, here is what we will encourage you to do to have a successful project:
Community bonding period
edit- Create a task around your project (as a sub-task of the featured project) in Phabricator if you skipped this step during the application period. Use this task to track progress, for discussions with mentors and other community members, and share updates frequently in a comment (e.g., T266916).
- Refine your project proposal with guidance from mentors, and discuss communication, development, overall timeline, and deliverables plan to follow throughout the internship.
- Join Zulip (more info) to keep yourself up to date with the announcements related to the program and opportunities for participating in Wikimedia activities.
- Write bi-weekly progress reports or blog posts in a language you are most comfortable writing, share them with fellow interns on Zulip, and add them to the "Updates" column in the Accepted projects section. You can use this column to share any other project-related updates.
- Setup your MediaWiki user page. You can use it to documenting your project work and linking reports (e.g., User:Martyav, User:Gopavasanth).
- Stay in touch with Wikimedia technical discussions by subscribing to the wikitech-l mailing list.
- [Optional] Read stories from the Wikimedia movement on Wikimedia Foundation’s blog, about the technology and software behind running Wikipedia and its sister projects on the Wikimedia technical blog. Watch previous videos on Wikimedia technical topics.
Internship period
edit- Write bi-weekly reports, link them from the "Updates" column on the Outreachy wiki page on MediaWiki.org as well as share them with fellow interns on Zulip.
- Stay up-to-date with your goals as outlined in the timeline. Communicate regularly with mentors, keep them updated about your progress and challenges, and share frequent updates on the project in the corresponding task on Phabricator and with fellow interns on Zulip. Add final outcomes of your project to Google Summer of Code/Past projects .
- Attend any program-related meetings that you get invited to by your mentors or organization administrators and follow any guidelines or processes that they share to involve you in the technical project or Wikimedia community.
- Take the mentors' help to deploy and host your code. For hosting, remember to make the code available in a repository that is public under an official global or local Wikimedia technical community account. This would give your contribution visibility, you can add it to your portfolio later, and it will also be easier to maintain the project or bring more contributions to it in the future. Similarly, ensure all content is public on the wikis for documentation pages and no content remains in the user pages or subpages.
- Submit evaluations on time
Stay involved after the internship
edit- Become a mentor in the next round of Google Summer of Code or Outreachy. Interns who demonstrate good quality work and the ability to mentor will be encouraged by their mentors and organization administrators to apply.
- Learn about the upcoming Wikimedia Hackathons and apply for a scholarship to attend.
- Request support through Wikimedia Foundation Grants Program if you would like to continue working on further ideas for improvements to your GSoC or Outreachy project. You could also request support for conference travel. Read previous grant requests such as this one and this one.
- Spread the word among your university or local community about Wikimedia Outreach programs.
- Stay in touch with organization administrators on Zulip.
- Continue working on Wikimedia New Developers projects.
Stay tuned!
edit- Ask us almost anything on the Zulip chat.
- Get tech project updates and learn about Wikimedia technology.