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.
|