![]()
OpenVeda Playbook: The Wikimedia Foundation
The definitive encyclopedia for contributing to the engine behind Wikipedia. Your journey from newcomer to core contributor starts here.
1. The "Why": Your Code on a Global Landmark
- The Mission: To empower and engage people to collect and develop educational content under a free license and disseminate it globally. You are building the infrastructure for free knowledge.
- Your Impact: Your code will run on one of the world's top 10 websites, serving over 18 billion page views per month. The scale is astronomical.
- Why it's a Career Supercharger: A merged patch in MediaWiki is a globally recognized badge of honor. It proves you can navigate a massive, complex, and mission-critical codebase. It's a GSoC powerhouse that signals technical rigor and patience.
2. The "What": Tech Stack & Architecture
- Core Backend: PHP (Modern, using Composer), Python (for services & ML), Node.js (for services).
- Core Frontend: JavaScript (ES6+), Vue.js (for modern UIs), jQuery (in legacy code).
- Mobile Apps: Java & Kotlin (Android), Swift (iOS).
- Infrastructure: MariaDB, Elasticsearch, Cassandra, Kafka.
- Critical Tools:
- Version Control: Gerrit (NOT GitHub for code review).
- Task Tracking: Phabricator (
phabricator.wikimedia.org). - Dev Environment: Docker is the standard.
3. The "How": Your Complete Onboarding Journey
3.1: Immerse in the Community
- Primary Channel (IRC): This is where real-time help happens. Be patient and polite.
- For Newcomers:
#mediawikion Libera.Chat. - General Dev:
#wikimedia-devon Libera.Chat. - Web Client: Libera.Chat Web Client.
- For Newcomers:
- Secondary Channel (Mailing List): For deep discussions.
- Link: Wikitech-l Mailing List.
3.2: Create Your Accounts
- Wikimedia Developer Account: Create one here. This is your passport to everything.
- Phabricator: Log in to phabricator.wikimedia.org with your dev account.
3.3: The Foolproof Environment Setup
- The Goal: Get a running, local version of Wikipedia on your laptop.
- The Path: MediaWiki-Dev Docker Image.
- Install Docker & Docker Compose.
- Clone:
git clone https://gerrit.wikimedia.org/r/mediawiki/devenv.git - Enter:
cd devenv - Launch:
docker-compose up -d - Wait. It will download many large images. This can take 10-20 minutes.
- Access:
http://localhost:8080.
- Official Guide: MediaWiki-Dev Docker Guide.
- Troubleshooting: The #1 issue is a port conflict on
8080. The #2 issue is not having enough RAM allocated to Docker.
3.4: The Contribution Workflow (The Gerrit/Phabricator Dance)
- Find & Claim a Task on the Good First Bugs list. Comment to claim it.
- Create a Branch:
git checkout -b T12345-description. - Code & Commit: Write your code. Your commit message MUST start with the bug number:
Bug: T12345 | A clear summary of the fix. - Submit for Review: Install
git-review(pip install git-review). Then rungit review -R. - Engage in Review: This is the most important part. You will get feedback on Gerrit. Be responsive, be humble, and learn. Push new changes to the same branch and run
git review -Ragain. - Get Merged! Your change will be merged by a core developer after it gets a "+2" approval.
4. GSoC History & Focus Areas
- Historical Focus: Wikimedia is a GSoC staple. Past projects have focused on improving the mobile apps, building new features for the VisualEditor, fighting vandalism with AI/ML tools (ORES), and improving performance.
- What Mentors Look For: They value persistence. They want to see that you have already made a few small, successful contributions before you apply for GSoC. Your Phabricator history is your real resume.
5. Key Repositories to Know
- MediaWiki Core:
mediawiki/core(on Gerrit) - The beast itself. - Android App:
apps/android/wikipedia(on Gerrit) - iOS App:
apps/ios/wikipedia(on Gerrit)
6. Find Your First Task Right Now
- The Golden Link: Curated List of "Good First Bugs" on Phabricator
- Pro-Tip: Filter for tasks with the tag
Easy. These are specifically set aside for your very first patch.
7. The Unwritten Rules (Mentor Insights)
- Process over Code: Your first contribution is a test of your ability to follow their unique process (Phabricator, Gerrit, commit messages). The code is secondary. Get the process right.
- Patience is a Virtue: The community is global and volunteer-driven. A review can take a few days. Do not be pushy.
- Clarity is King: Your comments and commit messages should be so clear that someone in a different time zone can understand your thinking without asking.