
GCompris is a fantastic educational program aimed at children. I installed it for a family some time ago, and found myself getting caught up in it as I showed them how it worked. I caught up with the lead developer, Bruno Coudoin, to ask him a few questions about the widely-used GCompris project.
First, would you mind telling me a little about yourself, where you live and your interests?
I am a French software Engineer, living in Toulouse. I am married and have 2 children, 10 and 13. Beside developing GCompris, I am active in a local Free Software user group where we help people installing GNU/Linux and explain the philosophy behind it.
When and why was GCompris started?
I started this project in 2000. At that time I was looking for educational content for my children but there was close to nothing as Free Software and available on GNU/Linux. More than helping my children, I had the feeling that GNU/Linux was a perfect choice for our Schools. I am not talking about quality or price, but sharing knowledge.
Where does the project stand at this point?
GCompris is a mature project, there are millions of users all around the world, it is translated in more than 40 languages. We have 100 different activities for children 2 to 10.
GCompris is available on GNU/Linux and Windows. It is available in many distributions, especially those dedicated to schools like Edubuntu or Skolelinux. It is used in large scale deployment like in Extremadura and
Andalucia in Spain.
How many active developers currently work on GCompris?
GCompris has several parts, you can compare it to a game engine (the core), and with maps (the activities) that are created for it. Currently, Yves Combe is the most active developer beside me working on GCompris core. We maintain the whole thinks and manage the structural evolution of the project.
Then there are developers who contribute to activities. Usually, it's a one shot, once their activity is released they move to something else and we maintain it. Last but not least, we always thanks graphic artist and translator. Recently we got a new icon set from Mathieu Ignacio, it makes GCompris looks much nicer.
What is your primary development toolset?
We use the C language, GTK+ and the gnomecanvas toolkit. The gnomecanvas is a high level drawing API that is based on GTK+ only, it doesn't requires Gnome. The graphics are made with Inkscape in the SVG format.
Many projects depend on libraries, tools, etc. developed by others. What are some of the key external elements you rely on?
We have a lot of dependencies, sadly it makes it hard to compile. Most notable is Python since activities can be written in this language. We also rely on external programs like gnuchess for our chess activity or gnucap for our electric simulator. This is the strength of Free Software, if we had to code or buy licences for all the software we are reusing, we would never have been that far.
How does GCompris compare (in your view) to other projects?
Well, in the proprietary world they have more money but also more constraints than we currently have. For example, they tend to limit the number of activities because they need to sell more software for each age range. They are very good in graphics and even license TV cartoons, of course we cannot afford to do this.
On the other side, since we can merge and re-use easily other free software, we can go deeper on the software side and provide more powerful activities. A good example is our electric simulator.
Can you give me any idea of how big and/or active the GCompris user community is?
It's hard to tell, for example we have more than 100 registered users on our main mailing list. I often see on the Web Free Software community events where GCompris is demoed. In Brazil we are so popular that
there is a non official web site supporting GCompris.
http://www.flickr.com/photos/kbalavignesh/295536001/in/set-7215759437744...
http://gcompris-br.org/
What needs to be accomplished before the next release of GCompris?
Release 8.4 is complete and would have been release today if I was not busy with this interview ;)
Most of our efforts are on the 8.5 release which is a major reorganization of the source code made to suit OLPC/XO requirements. With the OLPC/XO, since there are no hard drive, we need to provide each GCompris activities individually. Most of the work has been done and we even provided a few activities for testing to the OLPC team. We need more work to stabilize these changes.
What are the biggest obstacles the GCompris team faces in development?
We would benefit a lot if a library like clutter was officially part of GTK+. Having a better graphic toolkit allowing us to create animations easily would make our life easier.
http://clutter-project.org/
Is there anything else about GCompris you think our audience should know?
Yes, for those willing to use GCompris in a classroom, please have a look at our manual, it's explained how you can create profiles and check children logs.
http://gcompris.net/wiki/index.php/Manual
Publisher's Note: We're not used to developers delaying their release just to respond to an interview request. All the same, we greatly appreciate Bruno's time.