Wikimedia 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.
For more questions, read the most commonly asked questions and answers related to the Google Summer of Code and Outreachy programs.
Application process steps
If you are considering applying, follow the steps in the order in which they are listed:
- 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.
- 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/2023#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.
- Read a few good proposals that were accepted for the previous round. Here they are: example 1, example 2, example 3.
- 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.
If you get accepted, here is what we will encourage you to do to have a successful project:
Community bonding period
- 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.
- 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.
- 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 .
- 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
- 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.
- Ask us almost anything on the Zulip chat.
- Get tech project updates and learn about Wikimedia technology.