Article jan2007.tar

Linux Fits in Education

Quentin Hartman

From the desktop to the server room, there is a place for Linux in nearly any educational institution, large or small. The flexibility, stability, and cost savings Linux offers is compelling. With the right skills and careful planning, things that were impossible become possible, and formerly daunting tasks become simple.

This is particularly true in small and medium-sized K-12 institutions where IT budgets are often woefully insufficient. For example, the annual technology budget I worked with most recently for equipment, maintenance, ink and toner, telephone systems, and software costs amounted to just under $30 per student, or $50 per workstation. With the needs of staff and students and the expectations now put on technology this isn't a lot to work with. Stretching every penny is absolutely required.

Linux helps stretch that money. Not only is there direct savings to be had in the form of license fees that need not be paid for a variety of software, there are indirect savings in the form of lower maintenance and lengthened hardware life cycles. The best part of all this is that the barrier to entry is significantly lower than many people expect and educational institutions can begin realizing some of these savings even if their IT staff has little or no Linux or Unix experience.

Linux on the Desktop

"Linux on the desktop" has been the subject of countless articles, discussions, and flame wars over the years. Both sides have strong arguments in the right context. That's the key, context. I often characterize Linux on the desktop as a "95% solution", meaning that for 95% of the people 95% of the time, it works just fine. Most of the arguments I have seen against Linux on the desktop recently hinge around the fact that it is unsuitable for some specific and often uncommon task. That's a fine and perfectly valid argument. If that one task means the difference between "works" and "doesn't work", then in that context, Linux isn't ready.

Luckily for educators, Linux is ready for a large number of common desktop tasks that are seen in schools. Admittedly, there are a number of specialized educational software titles that won't work. However, the common tasks of Web browsing, word processing, presentation creation, mind-mapping, typing practice, graphics manipulation, and page layout are all handled easily by software running on Linux. And, in most cases, the data generated by these programs can be easily moved to other platforms. This makes Linux particularly well suited to computers in libraries, drop-in labs, and secondary computers in classrooms. Additionally, Linux on the desktop can be a very secure and low-maintenance platform on which to do these tasks. This is particularly true if one uses the K12LTSP distribution to run Linux thin clients.

K12LTSP

K12LTSP bundles the LTSP (Linux Terminal Server Project) into Fedora Core along with a number of applications targeted at education and then makes installation a simple turn-key affair. Out of the box, K12LTSP is a completely functional terminal server environment tweaked particularly for K-12 education.

Using a terminal server allows the work of computing to be centralized on the terminal server, allowing the client workstations to be "thin", meaning that they have no disks and need only minimal RAM and computational power. One can use "worthless" obsolete hardware, or purchase low-power terminals specifically designed for the task. This can lower power requirements of a typical 30-seat lab significantly as well as lowering the maintenance overhead, because there is only one system image to maintain. Software updates and deployments only need to happen once rather than 30 times. There is little or no configuration or software stored on the clients, which simplifies workstation deployment and makes them more resistant to tampering. If one chooses to recycle old hardware for the client workstations, some power savings can still be had by eliminating the hard disks in the client machines. This also allows the up-front cost of a "new" lab to be lowered significantly.

By using K12LTSP, one can run modern software at good speeds using the existing client hardware for only the cost of the terminal server and network upgrades. This can be substantially less costly than a traditional lab using standalone PCs or Macs, thereby freeing funds for other technology needs or allowing additional seats to be added for the same cost. Re-using older hardware can be particularly interesting for its trickle-down effect. By creatively using existing client computers as well as new bare-bone whitebox PCs, I was able to upgrade a 30-seat student lab to thin clients, 30 teacher workstations, add a second 27-seat thin client lab, and decommission 30 unsalvageable Apple 5260s and 5400s.

This application of K12LTSP allowed us to upgrade 60 seats and create an additional 27 seats for the same cost as the initially proposed purchase of 30 Windows PCs. Over the course of their first year of operation, the terminal labs required less than 1 hour per month of maintenance, which is significantly less than the other computer labs in the district. This is thanks in part to Linux's stability and security, but also to the centralized management introduced with the use of K12LTSP.

Linux's mature multi-user heritage brings value to the table in the form of security and configurability, which is of particular advantage in educational environments. Linux's inherent user/admin privilege separation prevents the students from indulging in the sort of mischief that is common in schools. If they delete icons or hide toolbars, they are only hurting themselves. A similar level of protection can be had in Windows or Mac OS by using third-party software or if Windows XP is used on the clients by applying domain policies.

Unfortunately, those solutions represent additional expense and/or complexity, which many schools are not equipped to handle, and Windows 98 is still quite common in K-12 schools. This user-centric configuration also allows students to customize their computing environment to their liking, without affecting others or incurring the overhead and complexity that turns many institutions away from using Windows roaming profiles. This makes K12LTSP appealing emotionally and aids in the buy-in process.

K12LTSP offers an easily installed and managed desktop environment for thin clients and standalone computers. It also has the full range of Fedora Core packages available to it, which makes it a suitable distribution upon which to base any number of network services, which can help introduce some positive consistency into the infrastructure of an organization.

Linux in the Server Room

Traditionally, Linux is most at home in the server room, and in educational institutions this remains true. All of the typical foundation level tasks, like DHCP, DNS, NTP, routing, firewalling, Web serving, database serving, and file serving, that Linux has excelled at for years are needed in K-12. Of particular interest in education though are its file serving, routing, firewalling, and Web service capabilities. Most of these services can be administered by a Linux novice through the tools that most modern distributions provide. Another outstanding alternative is Webmin, a Web-based server management tool that is available pre-configured for many popular distributions.

These tools won't eliminate the need for good sense or an understanding of systems administration principals, but they reduce the need to know the inner workings of Linux and also reduce the intimidation of the command line. Many people who are charged with taking care of IT in public schools have only worked with GUI systems and have little or no formal training with computers. Many will give up when faced with a blank command prompt.

It is very common for computers in educational organizations to run the full spectrum of age and operating system. In my most recent school district, every version of Windows from Windows 98 and every version of Mac OS from Mac OS 8.6 was in use in addition to Linux. Combining OpenLDAP, Samba, netatalk, and PAM, Linux made an effective authentication and file server for all those client operating systems. This allowed users to have a single username and password to access a single repository for work on the network. This added a much needed level of consistency and simplicity for the users and eliminated the existing problem wherein each user has data stored across multiple servers, one for each client type. Additionally, with the creative use of symlinks a system of "dropbox" and "handout" directories were created on the high school file server. This allowed students to turn in work or receive documents from their teachers electronically, something that had been impossible or overly complex previously.

This system also allowed for much simpler user management. Because of the fractured nature of the previous infrastructure, multiple accounts had to be created by hand for each user. The new Linux file server infrastructure allowed the previously onerous task of adding, moving, or deleting users to be automated almost entirely through scripting. Annually, hundreds of accounts need to be created or destroyed as students pass through the school system, often times all at once at the beginning and end of the school year. Previously, this was done by hand and was one of the most dreaded tasks that the tech department faced. With Linux in the background, data extracted from the student management system was fed to a custom script that generated a unique username for each student, created their account, and created a home directory on the appropriate file server. This reduced a task that had previously taken the better part of a week to mere minutes. Not until the Linux infrastructure was in place was there enough cohesion or enough flexibility for this level of automation to be possible. This same script also allowed for normal one-off user management tasks to be done, and it simplified the process sufficiently that even people with no Linux experience were able to handle user management unaided.

Linux's routing and firewalling capabilities also came in handy on a number of occasions. During a migration to a new IP address range, I discovered that a number of legacy applications had been configured on the client machines by IP address. These services were soon to be retired, but that could not happen until well after the IP addressing for the network needed to be changed. I was able to hang onto the small block of addresses that contained the servers and, using Linux running on a spare desktop, I created a router to pass packets onto it while moving forward with the re-addressing. By avoiding re-addressing the servers and reconfiguring more than 1100 client machines, I saved countless hours of labor.

This same machine was also used to create an isolated testing and maintenance network in the tech support shop. A number of network worms and viruses were contained by it, again saving untold hours of work. A similar machine was used to section off the network that the IT program used for experimentation and teaching. This protected the main school network while still allowing Internet access for the students to download patches and drivers as needed. Linux was able to meet unforeseen and planned routing and firewalling needs with minimal effort and no cash expense to the district.

A proposed use of a Linux firewall that I was not able to implement in production was the enforcement of per-user or per-classroom Internet restrictions. By disallowing Internet access generally on the firewall and then turning it on only for a certain machine by using a Samba pre-exec script (as outlined at http://www.tldp.org/HOWTO/Samba-Authenticated-Gateway-HOWTO.html), students can have their Internet access restricted if needed, but still have access to computers and other network resources. Additionally, once this system were in place with a high-quality computer inventory, it would be possible to extend it to "turn off" Internet access to a given classroom or classrooms.

By associating a classroom with the MAC addresses of the computers within it, one could create firewall rules to block traffic from those computers. Then, a simple password-protected Web application could be created to allow teachers to insert or remove those rules as needed, allowing them to remove the distraction of Internet access if it is unnecessary for the classwork at hand. I believe this use is a good example of Linux's flexibility in routing and firewalling applications, allowing a level of functionality that is offered by no other solution that I am aware of.

Linux's flexibility also shines through as a platform for Web services. Using the classic LAMP stack, small Web applications were created to meet a variety of school needs. These included systems to track student assessment progress, report and reward exceptional behavior, distribute contact information to staff, schedule labs, and more. Linux also served as a platform for many other Web-based Open Source tools that aided in the work of the district. These included IRM for help desk and IT inventory, Nagios for system monitoring, MRTG for traffic monitoring, and Webgui for management of the district Web site. The reliability of Linux as a Web platform, the ease of development of Web applications for it, and the wide availability of quality Web applications that run on it brought incredible value to the district.

Linux Affecting Attitudes

Another value that Linux has brought to educators with whom I work is that for many people it helps bring the fun back into computing. After introducing Linux to people, it is not uncommon for them to show a great interest in it, usually becoming inspired by the number of things that they can do with it "out of the box". When the wealth of software available to Linux is shown to them, people come to life with ideas. The desire to make great things available for children is strong in educators, but that desire is often stymied by the lack of quality tools. By providing affordable professional-quality tools, Linux has inspired a number of programs to be developed in educational institutions.

Programming, Web development, and digital art classes often spring up with the introduction of Linux and other open source software. A previously unknown interest in programming comes to life with the open and accessible nature of Linux. The transparent and collaborative attitudes found among Linux communities often mirror the attitudes found in educational communities. That like-mindedness inspires educators to take on projects and challenges that they likely would not otherwise. A teacher who needs more computers in her classroom might install K12LTSP on her desktop and rescue a few "junk" machines for terminals. The can-do attitude is infectious.

A great exercise to demonstrate this is to walk a group of educators through the installation of a quality desktop-oriented distribution. They need not be particularly proficient with computers as long as a distribution with a simple installation procedure is chosen. Ubuntu 6.06 LTS with its live graphical installer makes an excellent choice (provided the machines it is being done on have 192 MB of RAM or more). It makes a great demonstration because the installation is quick and simple, and while the teachers are waiting they can get a feel for what the installed system can do. Other good choices would be Fedora Core or SUSE, though those installations are usually quite lengthy and don't provide any sort of playpen while the installation is running.

Once the installation is complete and the group has a chance to look around a bit, they invariably start asking if there is software available to do some of their favorite things. This is where a good package manager like Synaptic or even the simplified "Add/Remove Applications" interface found in Ubuntu can really shine. People who are used to Windows and Mac OS are accustomed to having to search long and hard on the Internet for a tool to meet their needs. Often those searches end in frustration, a hefty price tag, or uncertainty about the safety of downloading and installing what they have found.

Quality package managers and repositories in Linux alleviate these problems by making is possible to meet most software needs with trustworthy "one-stop shopping". I have seen teachers spend hours browsing through the available software and installing and testing huge numbers of titles. In many cases they discover the large number of entertaining casual games that are available, and that seals the deal. By appealing to their need for safety, simplicity, and fun, Linux turns a curious bystander into an active explorer. A lot of people don't actively pursue Linux once the workshop is complete, but they have at least become aware of it and had a positive experience. Sometimes a spark of interest is set that carries over into their teaching or their personal use of computers.

IT classes in high schools are often looking for projects for students to work on. One valuable and rewarding program is refurbishing computers to give away to underprivileged families. If a school can partner with an ISP to provide low- or no-cost Internet access to qualified families, such a program can open great opportunities to people who would not otherwise have them. Linux allows such programs to install a wide variety of quality software on these machines without worrying about licensing restrictions. Overcoming this one hurdle can often mean the difference between success and failure for such community outreach programs. These programs are often underfunded, if funded at all, and license fees for software can easily overwhelm them. Additionally, Linux's resistance to common Internet annoyances reduces the support burden on the program by heading off problems before they occur.

Again, it is important that programs like this be carefully planned, particularly if they use Linux as their software foundation. Appropriate hardware must be chosen and the participants must understand that the computer they are getting is different from what they may be used to. Making the strengths and weaknesses clear is very important so that their expectations are aligned with what will be delivered. In most cases this is a non-issue as the users never get beyond Web surfing and word processing, but it is an important base to cover none the less.

Education and Linux Go Together

Linux can help inexpensively meet the IT needs of educational institutions. It has proven stability, a wide array of quality applications available, and the learning curve for using it gets shallower every day. If correctly positioned and planned for, it can help stretch the IT dollars of a school and deliver all the tools that the staff and students need.

Promoting Linux use in schools also has a long-term positive impact for the larger Linux using community. "Get them while they're young" has been used as a strategy to promote many things, and this is sound advice for the furthering the acceptance of Linux as well. Linux in schools will go a long way to ensuring that we have a healthy crop of smart Linux administrators and developers in the future to help keep the community rolling in the decades to come. It really is a win-win proposition for everyone involved, except perhaps for the software vendors who aren't yet embracing Linux.

Quentin Hartman lives in Eugene, Oregon, where he has spent several years managing technology in public schools. He recently left education, however, to see what life is like in the private sector. When he's not working on computers, he tries to spend as much time as possible outside with his lovely wife.