Another OpenBeach (www.openbeach.org.br) is over, and I sit in the Pousada Dos Golfinos for a few days both relaxing and writing business plans for various companies as well as this column.
This OpenBeach period was unusual due to the number of talks I gave to various organizations in Brazil, and also because I met a very interesting young man named Kristian Kielhofner and learned about his AstLinux project.
Unless you have been hiding under a rock for the last several years, you probably know about the FOSS project called Asterisk (www.asterisk.org), a complete PBX system for serving VoIP and wired telephone systems. Asterisk works on many distributions of Linux, BSD and Mac OS X systems, and a lot of people simply put Asterisk on top of one of those systems, hook it up to the Internet and use it that way.
Some of the features Asterisk provides are caller ID, voice mail, direct inward dial (instead of having to ask an “operator” for an extension), call logging and accounting, support for a wide variety of codecs (the software that converts, compresses and massages voice signals into binary streams), conferencing, interactive voice response, call forwarding, interactive directory listing, music on hold and transfer, roaming extensions, remote call pickup, spell/say, and much, much more. Asterisk was started by a young man named Mark Spencer, who now is the president of a company called Digium (www.digium.com) that contributes to and supports Asterisk and makes systems that run it.
Kristian, on the other hand, decided that he would like to see how small a distribution of Asterisk and Linux he could make and still have full functionality. He calls it AstLinux (www.astlinux.org).
Small, tailored distributions have more advantages than merely saving disk space. By eliminating functionality not used and using libraries and programs optimized for size, you often can increase the security and (by better utilization of both main memory and cache) the speed of systems with relatively low-speed CPUs. You also can reduce the power requirements required by systems that, by their nature, should remain on (as a phone system should), and by reducing moving parts (such as disks and fans), you increase the system's life expectancy. Here at the beach (or on board boats), the salt air is very destructive of electronics, but those with moving parts, such as disks and fans, are particularly susceptible.
Although AstLinux is a compact distribution of Asterisk, Kristian points out that it is full-featured, able to be tailored, and even has some other VoIP applications, such as OpenSER.
Because AstLinux is aimed at small, embedded systems, it has specific images for processor architectures other than the traditional Intel, and specifically for low-power processors. It is also designed to run from Compact Flash or boot live from a small business-card-sized CD.
In addition to introducing me to AstLinux, Kristian introduced me to Gumstix.
Now, I have always been interested in the very large and the very small. I like Linux high-performance clusters (or huge data farms) and embedded systems. I have purchased (yes, I normally buy them with my own money) more embedded system development kits than grains of sand on the beach, but I always like seeing what else is out there. Somehow I had missed Gumstix!
Gumstix computers (www.gumstix.com) are based on the Intel XScale processor and come in 200MHz or 400MHz models. They are literally about the size of a stick of a famous-name chewing gum and are expandable by adding on similarly sized option boards. The basic Gumstix can have Bluetooth capability right on the board, and with other option boards, they can be turned into either a Waysmall computer (with serial ports and a USB client) or a Netstix computer (with Ethernet and a Flash socket), including a nice case for each.
With 64MB of RAM and 16MB of Flash, it is obvious that these systems are not general-purpose gaming desktop replacements. On the other hand, my first UNIX “workstation” had 1MB of RAM and a 10MB disk (and yes, we did have the X Window System on it), so with careful pruning of code, you can put a reasonable amount of functionality on the Gumstix systems. And, with either wired Internet or the new 802.11g wireless option, you could create a diskless client for even more capabilities.
Another nice thing about Gumstix is that the technical information for its boards are available under a Creative Commons Attribution-ShareAlike 2.5 License. For those who want to design their own circuits to use with Gumstix, this is invaluable.
One caution, however. Although the Gumstix site is fairly helpful with all sorts of FAQs and other information, it does not provide step-by-step instructions.
Of course, there are other embedded systems and system suppliers. The PC/104 (www.pc104.org), the uClinux Project (www.uclinux.org) and SSV in Germany (www.ssv-embedded.de/ssv/english/products/htm) also are interesting in their own right. It is just that the Gumstix line is so darn cute!
Finally, I would like to say a few words about Kristian himself. I spent quite a few days with Kristian as we gave talks in Sao Paulo, Brasilia, Curitiba and, finally, Florianopolis, Brazil. Some of Kristian's talks were technical, but as quite a few were given with high-school or college students in the audience, Kristian took some time to discuss how FOSS had affected his life.
Kristian gave credit to FOSS and the FOSS community for giving him the opportunity to turn his life around and have fun learning and building both a project and a business based on FOSS. I have met many young people like Kristian, but it is always nice to meet another, and particularly one that is as friendly and outgoing as Kristian. It validates what the FOSS community has been saying all along—that FOSS can help build character and open opportunities for people of all ages.
As I finish my last Caipirinha, and the sun goes down, I think of projects that could use a small system....