The Free Range 'Community-Linux Training Centre' Project The 'Free and Open Source Systems Guide' (J-series) Handouts
J3. The CLTC System
The making of a free, recycled training platform
The origin of the CLTC project was the development of a mobile computer training platform for community groups The Community-Linux Training Centre. Although that system has now worn out and has ceased to function, the ideas created through its design, development and use continue to influence the recent research work of the Free Range CLTC Project.
A short history of the CLTC systemIn 1997, the concept of a mobile computer information and communications technology (ICT) training centre was developed by members of the Free Range Network. It was designed along similar lines to the computer/ICT workshops offered by community education departments in the UK, but unlike these other schemes the emphasis within the design was tailored to the needs of community groups and grassroots activists. The concept was originally developed by Paul Mobbs, but refined over subsequent years in co-operation with other groups and organisations with whom we worked.
Initially the project went nowhere. This was for two reasons:
- Firstly, (and mainly) funding. The original concept was based upon the Windows operating system. Buying the required laptop computers and the licensed software to run on them was very costly. For this reason we made applications to funding bodies and award schemes for the funds to develop the system, but the money was never offered (it seems the concept was far too "radical").
- Secondly, networking. The original concept was that two or more computers would share one phone line, taking it in turns to practice using the Internet. This would have created additional costs, but it also limited the mobility of the system because a phone line was required. If there was no phone line, networking skills training could not be provided.
From 1997 to 2000, a number of applications for funding were made without success. Then, in 2001, the concept was redesigned. Windows was abandoned because it was too restrictive and expensive. Instead Gnu/Linux was adopted as the operating system because it presented many benefits:
- One laptop could act as a server to the others, enabling networking services without an Internet connection;
- It was far easier to develop and maintain a local network;
- Most significantly, it sliced four-fifths off the cost of the project.
The dramatic drop in costs was not only because of the savings on software costs, because of the open license that Linux systems are released under, but also because lower specification, second-hand computers could be used. So, in late 2000, the Community–Linux Training Centre (CLTC) came into being.
Further applications for funding were made with the new design, but this hit further problems:
- Firstly, some grant bodies don't like to give small grants because it costs proportionately more to administer them it's actually more difficult to apply for less money!
- Secondly, Gnu/Linux was still a relatively unknown operating system, which led some to doubt over its capabilities, or whether it was a 'real' operating system at all.
- Thirdly, and perversely, was that under the new concept it was theoretically possible to do pretty much anything possible with a networked computer. Office skills, network use, email, developing web sites, etc. This led to reluctance to fund the project because it had no limits to its potential use. As we would provide no undertaking to limit the use of the equipment this led to problems categorising its use as a project. Some funding bodies with charitable status also had difficulties as any involvement in funding overtly political/protest action is prohibited.
In early 2002, following yet further failed funding applications, the decision was taken to abandon attempts to get grant funding. Instead, in April 2002, a 'project proposal' was circulated on-line. This led to some offers of assistance. Finally, in June 2002, funding was found, and the equipment ordered. In late June 2002, the equipment arrived and work started on developing the CLTC. This took a few weeks and involved experimenting with different types of system configuration until a suitable set of services was found. However, the development process continued for some months after that as we investigated different options for using the system. What helped inform our experiments was taking the system to different user groups and studying their use and expectations of the equipment. This "beta testing" informed the final configuration of the system that we documented in January 2003.
The first public use of the system was on July 12th 2002, at a meeting of environmental organisations from across the Amman Valley in South Wales. The following day it was also used as a platform for teaching computer and information security techniques to environmental activists at a Free Range Weekend. At this time the project entered a wholly new direction developing learning materials for people to use, in conjunction with the CLTC system, to extend their knowledge and use of Gnu/Linux systems.
Why 'Community–Linux'?Since Linux broke out from its original label as a Unix geeks plaything, Gnu/Linux has been developed and extended to serve many uses. Like Unix, Gnu/Linux has become a successful network operating system, running many of the sites on the Internet. In a more specialised niche, its scalability and ability to form high-powered processing "clusters" has made it successful in the film animation industry. But only recently has Gnu/Linux developed the user-friendly interfaces and applications that make it suitable for desktop computing.
The "Community-Linux" tag for the project originated from the fact that this was a community-based use of technology that was enable due to the use of the Gnu/Linux operating system. The primary use of this system was to teach computer and networking skills to civil society groups (this seems a simple idea now, but in 2002 the Internet had yet to really enter the public's consciousness). It was also a valuable demonstration platform for the GNU/Linux operating system within the context of community activism.
Whilst there have been great efforts to develop Gnu/Linux for the business community, and some project within education, there have been few proposals to develop Linux as an operating system for grassroots activists and community groups. Community groups are some of the poorest, worst funded organisations in civil society less well funded than education and other public services. They are also more highly reliant on good networking to carry out their work far more than other sectors within society. Therefore Gnu/Linux is an ideal system to promote within community organisations as it addresses many of their needs within their restricted financial and skills budget.
Historically, in the UK, grassroots activists have piloted the social use of a number of technological innovations. In the early 1980s they were one of the first sections of the general public to use video as a media to make their own programmes on community issues. In the early 1990s they were one of the first sections of the general public (outside of industry/academia) to get on-line and use the power of the Internet as a communications and networking media. In our view, activists and community organisations represent the ideal group to introduce Gnu/Linux to the general public.
General design criteriaPut simply, the aim of the project was to provide a highly portable computer network that could be used to teach the use of computers and computer networks. The main design criteria for the network was that it must be portable, and this restricted the choice of hardware. The design parameters of the project were:
- Portability, defined as the ability to fit the equipment into a single large rucksack or trolley so it was portable on public transport (total volume no more than 75 litres, total weight no more than 30 kilos);
- Dispense with the need for an Internet connection, enabling unrestricted portability, by running the equivalent network services from a local server machine over a closed network;
- Reduce the need for equipment by having one networked printer, and, if a phone line or other network connection was available, running the connection from the server so that all the client machines could share the line; and
- Provide access to the server, and provide facilities for each user to work with, by plugging four or more computers into the network.
Point 1 prohibited the use of any desktop equipment. This is why the whole system was constructed around five laptop computers. Implementing 2 to 4 was simple one of the laptops becomes the server for the others. It is possible to double-up, having one laptop perform the functions of both client and server at the same time. However, the machines were of a relatively low specification and so running client applications on the server would detrimentally affect both roles.
After considering various options the following structure was settled upon:
- Five laptops one server and four clients as this would provide the most user terminals within the restrictions of weight and volume, each with a PCMCIA 100 Base-T Ethernet card (only recent laptops have Ethernet as standard our Dell Latitude Pentium-II's didn't have Ethernet built-in);
- A 100 Base-T Ethernet hub to maximise the speed of the system, five UTP-5 (100 Base-T) Ethernet cables, and a HP Deskjet-340 printer and a parallel printer cable;
- Using a single Linux distribution, rather than a range of distributions, to simplify use/maintenance;
- Use identical laptops, rather than having a more powerful server, to provide system redundancy in the case of damage/failure;
- Using combined PCMCIA network and modems cards so that, if required, the system could be split up to provide four/five independently usable laptop systems.
After some experimentation it was also found that carrying the CLTC in a rucksack was not always practical. For this reason point (1) was amended somewhat, and the system was housed in a wheelie chest (see the box on the right). This option was really far better as you could sit on it when there were no seats left on the train or the bus!
For this project we have to install on laptop computers which at that time was one of the hardest ways to perform a Gnu/Linux installation, especially for beginners. Laptop designs are short lived, they use specialised electronics, and their internal design is upgraded regularly even though the laptop model may appear to be the same. For this reason, installing on laptops requires previous Linux systems experience.
The members of the Free Range Network had some experience setting up Linux systems and networks. Even so, there were various views as to what distribution is best for this type of application, and ultimately its the preference of the developer as to which will be used (in the case of the CLTC we chose Red Hat, and latterly we have used Fedora for our demonstration systems). However, the most important issue within the development of the CLTC system was the ability to run on low spec. laptops. Certain distributions are more difficult to install on laptops than others, and perform very differently when installing on older hardware (e.g., SuSE is bloated because it contains large amount of software and driver modules, and although Slackware is very lean, as it's designed for systems with less power, at that time it lacked drivers for our laptops).
Linux distributions are compatible, but not identical, and they are configured slightly differently. For example, Red Hat was configured using well established programs and libraries, making it a lightweight and powerful system. SuSE on the other hand is configured to use far more programs and libraries, making it slightly more bloated (slower) than Red Hat, but giving it better multimedia capabilities "straight out of the box" (you can configure Red Hat to do this but you have to do it yourself it's not an automated process). Another difference is in the range of drivers provided. SuSE has more drivers for more hardware, but some of them are better than others.
Designed for mobility
The CLTC system was designed not just for mobility moving from place-to-place but doing so via public transport.
The system was carried in a large "wheelie chest". This was lined with foam rubber to absorb the energy from bumping the box on-and-off buses and trains, and even up and down stairs. The extendible handle and wheels on the back end also made the system portable with very little effort (the overall weight was about 30 kilos).
The lid locked into place, with two padlocks, for security. When removed the top tray was used to hold the cabling and laptop power supplies. At one end the base of the tray was cut-through to allow the printer and plug-strip to push up from the base into the top section.
The top tray of the wheelie chest lifts off and in the larger space below the five laptops are packed side-by-side (the network hub is the white box just to their right). Although this looks a little crowded, it's necessary to pack the contents tightly so that they don't bounce around and become damaged in transit.
Unpacking the contents of the box and assembling the power supplies and network cables usually took about fifteen minutes. Booting-up and setting up the laptops usually took another five to ten minutes. After this, the system was ready for use.
There were only two other significant additions to the basic system design that we added during its life: A fifteen metre extension lead, carried separately to get power to difficult locations; later, a 200 Amp-hour, 12 volt battery bank and 600W mains power inverter for use in locations with no mains power supply (although this took a little extra planning as it weighed over seventy kilos!).
System development costsIn developing the CLTC system great efforts were made to minimise costs to the lowest practical (as opposed to possible) level. It was only in this way that the project would be able to get going. The idea was that, once established, we could improvise its development after that.
Everything used within the pilot system was bought second-hand. Others may wish to buy new equipment if they replicate the CLTC model but for us that was not an option. Not only for cost reasons, but because one of the aims of the project was to investigate the limits of the CLTC design (proof of application) not it's viability (proof of concept). For this reason we wanted to see what the lowest practical specification of system components would be to produce a usable system. The fact that Gnu/Linux usually works better on older equipment (because hardware drivers are not immediately available for brand new systems especially laptops) meant that the project could be implemented quite simply. We were also aiming to produce a working example of "low spec." community computing, to show that the older equipment many community groups inherit can be put to good use at very low cost. At the time many projects we using new, very expensive, computer equipment for this purpose.
This last point is quite important, especially following the introduction of new European laws on the reuse or reclamation of electrical equipment like computers (the WEEE Directive). In the past, whilst equipment may have been donated to community groups, either the software was too expensive to buy or newer software would not work on the older systems meaning that this donated equipment was effectively useless. Members of the network had come across instances where computers had been "dumped" on community groups. This results in very little benefit to the group because they found it difficult to obtain or license the older software those systems required. However, this problem doesn't occur with Gnu/Linux systems as even very old hardware can be put to a productive use in one way or another.
The greatest restriction on any community computing project, that wishes to remain "legal", will always be the licensing of the programs that they use. In turn the use of licensed software will restrict the ability to use older hardware because the latest software releases always assume that you have the latest hardware (it's actually a self-perpetuating cycle as new software becomes more bloated you are forced to upgrade to make it work at an acceptable speed).
Had the CLTC system been developed with proprietary software, on a Windows-based system, the cost would have been far higher (see the table below for a comparison of Windows with an equivalent Gnu/Linux-based system). It is not just that proprietary software costs more; a "multiple user license" would have to be bought for each of the programs that are networked to multiple client systems. As noted above, the technical specification of the computers that the proprietary software requires is also higher, so higher quality equipment would need to be purchased. Depending on the computers used, and the cost of multiple user licenses, the cost of an equivalent proprietary software system would have been prohibitively greater.
A cost comparison of a Gnu/Linux vs. Windows-based systemAs part of the scoping study to make funding applications we had to assess the costs of different development options. The prices below, based on the costs from early 2001, reflect the overall price of a second-hand Gnu/Linux-based system versus a fully licensed (i.e., legal) Windows-based system:
By using Linux and second-user equipment this project was launched at a very low cost (see table above). The time to set-up and develop the CLTC system is being donated free. However, if you had to buy the skills to set-up the system that would cost an additional £1,000 to £1,500. One of the reasons that we are putting effort into the documentation of the project is to try and reduce the costs of the 'knowledge' required to produce a system similar to CLTC.
This differential between the costs of proprietary and open systems illustrates one of the key benefits of the GNU/Linux system to civil society groups. Unlike the business environment, the costs of information systems to civil society groups are prohibitively high. Civil society therefore works at a disadvantage compared to the highly networked government and corporate organisations that they seek to engage with.
Of course, if civil society groups wish to develop their own Linux-based alternatives to expensive proprietary systems, just loading a few computers with Gnu/Linux is not enough. They need to help all those involved make the transition from relying on proprietary systems to using free systems. The most important part of this process this is giving their members the experience of using Gnu/Linux before they make the (potentially) expensive commitment to migrate from the Windows or Mackintosh systems that they are currently using. The CLTC system is possibly one of the lowest-cost methods of doing this in a community setting.
Practical uses of the CLTC conceptThis project sought to address the serious lack of 'creative' computer skills education in society. Many of the mainstream models of ICT education, both in schools and in adult education, place a higher value on the use of computers within the business environment than in the community. This is a highly restrictive view of what the technology can achieve, and it ignores the potential benefits networking technologies can bring to communities as a means to secure social rather than economic benefits. To remedy the Microsoft-centric model of dependent computing, and to enable the development of new skills within community groups, we developed this project, but an important parallel, and symbiotic part of this process was raising the perception of GNU/Linux as a viable desktop operating system for community organisations.
Linux is the ideal operating system for this application because on an ordinary computer system (at that time) it was not very easy to configure the major Internet services such as email, web, news and FTP for use over a local network unless you bought the commercial software required to provide the service. Therefore, even without a connection to the Internet, the CLTC allowed its users to experience the use of networking services (in fact, they used the same programs over the closed network that they would normally access via the Internet). The system also ran the conventional office-related software for word processing, spreadsheets, databases, etc. used by other similar projects. It was this combination of a highly portable network using Gnu/Linux, and the conventional computer training tools, that produced an extremely versatile training facility.
During the conceptual development of the project the Free Range Network searched for other similar projects. So far we have not found any projects that contain the same elements as the CLTC. There are various community-based projects that have various elements contained within the CLTC, but they tend to be related to mainstream skills training rather than community activism (primarily because that's where the funding is at present). They also tend to be fixed in one location (although wireless projects do have a limited mobile component) and are usually based around proprietary systems.
The greatest difference between this and other projects has been our emphasis on teaching networking skills rather than just office-based skills (other projects are obviously hampered by not only the need to set-up a network, but also the costs, using proprietary software, of running it). The server laptop was installed with Red Hat Linux 7.1, a good server distribution that was less demanding of system resources than later versions of Red Hat. The server was configured to operate:
- A web server providing a web server makes it easy to train people in the use and development of web sites;
- An email server this enables the teaching of email use, secure email (digital signatures/ encryption), or using email lists;
- An FTP server file transfer protocol (FTP) is used for moving files on-line, and is key in web site development, and so providing FTP allows users to practice web site development;
- Telnet/remote login/SSH providing remote access services on the server allows the tuition of command-line-based server administration, an essential skill for remotely running a web server;
- Network management the ability to look at the configuration of the network, and how different services on that network are configured, allows the teaching of the installation/development of computer networks.
This combination of a diverse client installation, and a wide variety of network services, meant that the CLTC could demonstrate a wide range of tasks. It was used for tuition from introductory level right through to advanced systems and network manipulation. In this way the CLTC project provided an opportunity to do something wholly new and pioneering using open systems, second-hand equipment and a wholly mobile configuration. In fact, the problem in describing what can be taught with the CLTC system is making a concise list.
Over the last seven years, the CLTC Project has provided five major outputs:
- A documented model for the development of a mobile, Linux-based ICT training facility that could be (and has been) replicated by other community-based organisations or educational establishments;
- A series of case studies that analyse different problems and benefits using this particular model of community-based ICT provision;
- A practical and public demonstration of the use of Gnu/Linux for worthwhile and interesting purposes (i.e., not geeks who want "root privilege" on their PC);
- A low-cost mobile ICT training or demonstration facility that could be hired for use in a community centre, at a conference, or even in the middle of a field at a free festival;
- An increase in the knowledge of Gnu/Linux, and the benefits of open/free software, amongst one of the most politically active sections of UK society a significant factor when considering the challenge that society faces from the increasing level of control sought by the proprietary software corporations.
The Container Project, Jamaica 2003
In April 2003, the ideas that were developed in the design of the
CLTC system were put to the test in Jamaica. The Container
Project, based in Palmer's Cross, had received a delivery of used
computers, and these were to be housed in a converted shipping
container. Paul Mobbs, and three other specialists from the UK
and Canada, went to Jamaica to train local volunteers to convert
the used computers into useful computer systems.
For details of their recent activities goto
The growth and change of the CLTC ProjectThe development CLTC system was the original, and at that time the only, purpose of the Free Range Network's CLTC Project. Now, even though the original system (after three years, and many events) wore out and stopped working effectively the ideas and experience that were generated in its design and use continue to be used.
Instead of concentrating on the development of a single application of Gnu/Linux the CLTC Project has widened to encompass the use of the Gnu/Linux system in general. As part of this process the original work and materials of the Project are being re-written and re-issued to reflect the significant change and improvement to the Gnu/Linux system since the first experiments that we carried out in 2001.
During 2011/2012, the CLTC Project will be producing two new resources to support our continued work in the development of free community computing:
- The Fedora Installation and Extension Guide (FIEG) This is a step-by-step guide to installing Gnu/Linux on low-grade equipment. It is intended to be a direct replacement for the old "CLTC Installation Guide", and will cover a far wider range of issues than that addressed by our old documentation); and
- The Command Line Interface Guide (CLIG) A guide to using Linux's seemingly primitive text-based interface for day-to-day and more advanced uses of the Gnu/Linux system.
For further details of the CLTC's work goto the Project's web site http://www.fraw.org.uk/projects/community_linux/
Produced by the Free Range 'Community-Linux Training Centre' Project
© 2008 Paul Mobbs/The Free Range Network. This document has been released under The Creative Commons Attribution Non-Commercial Share Alike License ('by-nc-sa', version 3).