OpenVeda Playbook: Sugar Labs
Your guide to contributing to an open-source learning platform for children.
1. The "Why": Mission & Impact
- The Mission: Sugar Labs is a non-profit project that develops the Sugar Learning Platform, a user interface and a collection of "Activities" designed to provide a collaborative and engaging learning environment for children. It's the core of the One Laptop per Child (OLPC) project.
- Your Impact: Your code can directly impact the education of children in developing countries around the world. You'll be working on software that is designed to foster creativity, discovery, and collaboration.
- Why it's great for your career: Contributing to Sugar Labs shows a passion for education and social impact. It's a great place to get hands-on experience with Python, which is the core language of the platform. The community is very friendly and dedicated to mentoring students.
2. The "What": Tech Stack
- Core Stack: Python. The Sugar desktop environment and most "Activities" are written in Python, using the GTK toolkit for the UI.
- Web Components: JavaScript is used for web-based Activities and the Music Blocks project.
- Key Tools: GitHub for code, IRC and Mailing Lists for communication.
3. The "How": Your Onboarding Journey
3.1: Join the Community
- Primary Channel (IRC): The main real-time chat for developers.
- Link:
#sugaron the Libera.Chat IRC network. Use the Web Client.
- Link:
- Secondary Channel (Mailing Lists): For deeper discussions.
- Link: Sugar Labs Mailing Lists
3.2: The Setup Guide
- Official Guide: They have a very clear and welcoming guide for new developers.
- OpenVeda Pro-Tip: The easiest way to get started is to run Sugar in a virtual machine (like Fedora) or to use
sugar-build, their dedicated script for creating a development environment.
3.3: The Contribution Workflow
- Standard GitHub PR process.
- Key Point: Simplicity is valued. Since the software is for children, the UI should be clean, simple, and intuitive.
4. GSoC History & Focus Areas
- Historical Focus: Sugar Labs is a long-time GSoC participant. Projects often focus on creating new educational "Activities," porting the Sugar interface to new platforms (like tablets), and improving the core features of the shell.
- What Mentors Look For: A passion for education and a learning spirit. They are excellent mentors and are looking for students who are eager to learn Python and make a difference. Creating a small "Hello World" Activity before GSoC is a fantastic way to impress them.
5. Key Repositories to Know
- Sugar Shell: github.com/sugarlabs/sugar
- Music Blocks (JavaScript): github.com/sugarlabs/musicblocks
- Browse all Activities: github.com/sugarlabs
6. Find Your First Task Right Now
- The Golden Link: They often tag issues for newcomers. Search the issues in the various repositories.
- Pro-Tip: A great first contribution is to pick an existing "Activity" and fix a small bug or add a simple new feature.
7. The Unwritten Rules (Mentor Insights)
- Think Like a Child: When designing a feature, always think about the end-user: a child. Is it simple? Is it fun? Is it intuitive?
- Be Active on IRC: The core mentors are on IRC. It's the best place to show your commitment and get real-time help.
- Start an Activity: The absolute best way to show initiative is to start building your own simple Sugar Activity. It proves you understand the platform and are passionate about the mission.