GSoC/GCI Archive
Google Summer of Code 2010


Web Page:

Mailing List:,,

Tux4Kids is a volunteer project dedicated to creating fun and educational software for children. The project was started by Sam Hart over ten years ago and currently maintains and develops three software programs. The programs take their name from Tux, the Linux mascot. Tux Paint, led by Bill Kendrick, is an award-winning and widely used artistic graphics program. Tux Paint is enjoyable for everyone from the youngest children capable of using computers up through adults. Tux Math (originally written by Bill Kendrick, now led by David Bruce and Tim Holy) is a video game-style math drill program. It covers basic math operations up through topics such as negative numbers, factoring, and order-of-operations exercises. Tux Typing (originally written by Sam Hart, now led by David Bruce) offers word typing practice in the setting of two video game-type activities, as well as phrase and sentence typing for older students. All three programs are SDL-based C apps, licensed under the GPL. They are developed natively on Linux and are included in all major desktop distributions, as well as non-Linux Free Software collections such as the FreeBSD Ports Collection and the MacPorts project for OS-X. Builds are also available for Microsoft Windows and BeOS. The aim is to avoid specific platform dependencies so the programs can be made available as widely as possible, including the computing environments that children are most likely to actually encounter in schools. Similarly, all three programs are extensively internationalized using the standard GNU gettext library.


  • Accessibility Improvements for Tux Paint This project is on accessibility improvements for Tux Paint. In this more keyboard access to tools, special mouse modes, joystick support and on-screen keyboard have to be implemented. The motto is to make the input methods more user friendly and children which constitutes the major part of users of Tux Paint finds it more fun.
  • Enhancement and Integration of Tux4kids-admin with Tuxmath and Tuxtype. The core issue faced by teachers in schools regarding including Tuxmath and Tuxtype in their curriculum is that they cannot assess the kids as they want.A configuration/administration program Tux4kids-admin was thus developed for teachers.But it does not integrate with Tuxmath and Tuxtype.My project is to add/modify code in Tuxmath and Tuxtype so that the Tux4kids-admin program supports them while simultaneously working on improving the Tux4kids-admin program by mentor.
  • Real Time Strategy Game to learn History (TuxHistory) Free software is a very important pice in the education for the world. TuxHistory aims to cover a important lack. Free Software doesn't have a history learning game! The idea is make a strategy game that uses the real time strategy mode like Age of Empire (all in 2d), but should be focused on a economic, cultural, military and science development of the different civilizations. Establish some civilizations and ages of development of each civilization.
  • Revenge of the libt4kcommon Goal: to further develop libt4kcommon into a stable, usable library, and to integrate it with TuxMath and TuxType. Rationale: There has been a good deal of "cross-pollination" between the two apps, where code written for one game is brought into the other; a common library streamlines this process. Deliverables: libt4kcommon to be compiled natively as a shared library on Windows and Linux TuxMath and TuxType link libt4kcommon by default
  • Tuxmath: SVG Conversion, Prescaling and Multithreading The main goal of the proposed project is to improve the user experience by cutting down the loading time at the program startup. This is to be achieved by caching prescaled SVG images on harddisk and using a worker thread to asynchronously load sprites for menus. The second goal is to convert some of the existing PNG sprites to SVG format, improving its portability to different resolutions.
  • TuxPaint Collaborative Work Web Application This project aims the development of a web application to enable easy collaborative work on TuxPaint Stamps. Through this application, photographers and artists will be able to upload their "raw" work, making it available for others to finish. This application will support license management of the uploaded files and will keep a history of modification. Finished files will be moved to a gallery, from where a synchronization mechanism on Tux Paint will be able to download them.