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
[edit]
** 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. To learn about Wikimedia's participation as a mentoring organization in Google Summer of Code,
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
[edit]
If you are considering applying, follow the steps in the order in which they are listed:
Understand Wikimedia's technical areasThere are a lot oftechnical areasin 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 communicateDifferent places serve different purposes. Read thecommunication tipsfor good practices and which topics or questions to ask where.Do your research about the projectthoroughly. Do not expectspoon-feeding. Ask intelligent andexplicitquestions. "Can you tell me more about this project?" is a bad question.Express your interestin working on a project by commenting on the corresponding task on Wikimedia Phabricator. (SeePhabricator/Helpif you do not have a Phabricator account yet.)Communicate with project mentorsDiscuss with them your ideas for implementation and learn about their availability and willingness to mentor.Learn basic skills required for developmentIf 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 proposalsthat were accepted for the previous round. Here they are:example 1,example 2,example 3.- Discuss your own project idea with a possible mentorIf you couldn't find anything interesting in our project ideas, you could ask organization administrators to help you connect with a mentor.
Accepted participants
[edit]
If 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.
-
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 itssister projectson theWikimedia technical blog. Watch previous videos onWikimedia technical topics.
Internship period
[edit]
- Write weekly updates and bi-weekly blogs, 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.
Use of generative AI
[edit]
If you use generative AI in your work:
- Please remember that the data you input into non-WMF-hosted large language models is going to a third party.
- Please input information with the assumption that other third parties will be reading it and that our practices for how and when we use AI will be publicly known.
- Please do not disclose/input any personal, confidential, or sensitive information, whether it is marked as confidential or not.
- Please remember that using generative AI to write code for you / answer factual questions could result in incorrect and insecure code, or incorrect answers to a question.
Weekly updates
[edit]
Creating a template for a weekly internship report can help you stay organized and ensure you cover all the necessary details. Here's a structured template you can use:
- Overview of Tasks Completed:
Provide a summary of the main tasks you worked on this week.
- Task 1: [Description]
- Task 2: [Description]
- Task 3: [Description]
- Key Accomplishments:
Highlight any significant achievements or milestones reached during the week.
- Accomplishment 1: [Details]
- Accomplishment 2: [Details]
- Challenges Faced:
Describe any difficulties or obstacles you encountered and how you addressed them.
- Challenge 1: [Description and solution]
- Challenge 2: [Description and solution]
- Learnings and Skills Gained:
Outline the new skills or knowledge you acquired this week.
- Learning 1: [Details] * Skill 1: [Details]
- Feedback and Support Needed:
Mention any areas where you need feedback or additional support from your supervisor.
- Feedback/Support 1: [Details]
- Feedback/Support 2: [Details]
- Goals for Next Week:
Set specific goals or tasks you aim to accomplish in the upcoming week.
- Goal 1: [Details]
- Goal 2: [Details]
- Additional Notes:
Include any other relevant information or observations from the week.
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 Hackathonsand apply for a scholarship to attend. - Request support through Wikimedia Foundation Grants Programif 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 asthis oneandthis 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 Developersprojects.
Stay tuned!
[edit]
- Ask us almost anything on the Zulip chat. Get tech project updates and learn about Wikimedia technology.