GSoC/GCI Archive
Google Summer of Code 2015

Sugar Labs

License: GNU General Public License version 3.0 (GPLv3)

Web Page:

Mailing List:

Sugar Labs is a 100% volunteer-driven project, a member project of the nonprofit Software Freedom Conservancy. Sugar Labs coordinates volunteers—international community of teachers, software developers, artists and writers, parents and children—who are passionate about providing educational opportunities to children through the Sugar Learning Platform. Globally, there are teachers that discuss how they use Sugar in their classrooms; students who blog about their Sugar learning experiences; and everyone, not just software engineers, contribute to the code base. (Children as young as 12-years old have written Sugar activities and we regularly receive patches from 15-year-olds.) At Sugar Labs, we promote investing locally in learning that works for every child.
While there are many great ICT-oriented learning projects, what distinguishes Sugar is its platform features. Like a sponge, Sugar pulls in projects such as Gcompris, Etoys, Scratch, and Open Office for Children, as well as hundreds of learning activities specifically written for Sugar, making those great tools available to more children. But the Sugar platform further enhances the learning experience through its mechanisms of collaboration and reflection. With Sugar, the computer represents more than an opportunity for interaction with isolated applications; it is the manifestation of a change in the culture of learning.
Sugar will engage even the youngest learner in the use of computation as a powerful “thing to think with.” They will quickly become proficient in using the computer as a tool to engage in authentic problem-solving. Sugar users develop skills that help them in all aspects of life.
The Sugar software is a learning platform designed for children, originally designed for the XO laptop of the OLPC project, but completely independent of OLPC since Q1 2008. Sugar installs on most GNU/Linux distros, hence it can run on most netbooks and PCs and on virtual machines in Windows and iOS. Sugar is used by more than three-million students in Peru, Uruguay, Rwanda, Nepal, the United States, and more than 40 other countries. Sugar is Free Software (GPL3) and is available in more than 25 languages. (We have projects in more than 150 languages and full support in many indigenous languages, such as Quechua and Aymara in Peru. Sugar Labs provides i18n support for many of our upstream projects, including Abiword and Etoys.)


  • Interactive Javascript Shell In this project, we will develop an Interactive Javascript Shell, a tool that a user, typically a student can open in his browser through Browse Activity on Sugar and can type in his javascript, HTML and CSS code and then immediately run it. This open source tool can be run from an offline host (e.g. school server) or on the XO to support user learning of Javascript.
  • Music Blocks The project Music Blocks a collection of manipulative tools for exploring fundamental musical concepts in an integrative and fun way!
  • Sugar WebBasic Activity Set This project is a full rewriting of some Sugar apps : Calculate, Paint, Memorize and Record using the Sugar Web Framework in order to get close to every device. Thoses apps are the basics apps that every children need to have. This rewriting is needed to merge apps from Sugar/Fedora and Sugarizer/Web. Those apps tends to be used by every childrens using either a XO, a phone or a Web Browser. The main technologies to be used will be HTML5 and Javascript.
  • Turtle Blocks 3D JavaScript Turtle Blocks 3D is an extension of the turtle blocks activity written in JavaScript to 3D and is a port to JavaScript of turtle blocks 3D version written in python with added features.This project would add basic 3D functions to turtle blocks (e.g. pitch, roll, yaw), camera handling, 3D lighting, texture mapping, blender export, and lot of examples. A 3D implementation in JavaScript would take advantage of libraries like texture mapping and 3D lighting as well as full compatibility with OpenGL.
  • Turtle Blocks for in-line programming Often we'd like users to be able to extend or modify an activity. Rather than doing this by writing Python or Javascript, why not let them use the block language of Turtle Blocks as an in-line editor. For example, in the Turtle Pond activity, the user can upload Python code representing search algorithms for the turtle as it tries to find its way out of the pond. Why not use a block editor to write the search algorithm?