I've written this article to try to illustrate how we've adopted Linux here for undergraduate use in our department, and how Linux fits in with some of the other goals we're trying to achieve.
As a large department in a university educational environment we look to provide a variety of computing platforms for our students to use. Over recent years this has meant buying kit from the likes of Sun, HP and SG, and though very good these machines are quite expensive and in our position on a limited budget value for money is very important.
The PC platform, especially with the Pentium processor, provides good value in terms of processing power per penny when compared to the more expensive conventional Unix machines. The exciting thing from our point of view about the recent emergence of Linux is that there is now a free Unix operating system available for the PC.
Of course it takes more than being free to make an operating system worth using. With Linux you certainly get more than you pay for. Having been developed over the last four years, Linux is now a relatively stable and reliable OS. It is open, in the sense that you can fetch the source code for it, and it is well supported with a lot of the common public domain packages compiling 'straight out of the box'. You can get prebuilt flavours of Linux that take the hard work out of installing it; the one we used was Slackware 2.1 which is available either by FTP if you're on the internet or on CD (or on a big pile of floppies if you're the patient type).
While reliability, compatibility and availability are important factors in choosing equipment for undergrad use, it's also important that the students like what we provide and are keen to use it. We know from experience that a large colour X11 desktop goes down well, and thus we decided that 17" colour monitors would be a priority. To allow students to work effectively on screens with a decent font size requires them to be able to spread their windows around their desktop and not to feel too cramped. We felt that 15" doesn't quite meet that need, and we'd trade off a little processor power to get the larger screen. Feedback from our Mac Centris cluster with 14" monitors reinforced this view.
Yet even if the physical environment is good, the student still has to be happy using Linux and, as a teaching institution, we have to know we can provide the tools needed for the students' education. One part of this is to be able to provide software programming, development and debugging tools. Linux Slackware comes with the GNU ANSI C/C++ compiler built in, which is great as gcc is a compiler that we can provide and support on all our hardware. Gcc is free and well tested; the GNU packages have all been adopted by the Linux developers, increasing the overall power and appeal of Linux itself. Many public domain compilers run fine under Linux. We make heavy use of SML and Scheme (LISP) but there are also Fortran-to-C and Pascal-to-C converters and soon the GNU Fortran compiler (g77) should be out for those who may want it.
Another important part of the students' education is provided through the Internet. Being connected to SuperJANET we have excellent Internet access, and so it's good that you can run a wide variety of net packages under Linux, including Netscape (the World Wide Web browser), Elm or Pine (for e-mail) and nn or tin (for Usenet News access; we consider a full and open news feed to be very important for our students). We have a local WWW server (a Pentium 90 running Linux and the CERN http daemon) on which we make course notes available to our students; if well written these provide an excellent additional resource for both learning and revision. Course lecturers make use of e-mail to advertise courseworks, deadlines and to make other important announcements, and each course has it's own local Usenet news group for both information dissemination by the lecturer and discussion by the students.
But perhaps the biggest advantage of Linux is not what it can do, but where it can do it. An informal survey of our new first year intake indicated that 90% of them have some sort of computer with them at university and that the overwhelming majority of these machines are PC's. This means that the students can run Linux at home, and thus potentially have a similar environment in their digs as in our department's labs. We know already that dozens of our students have taken the plunge and are running Linux on their own PC's. The more astute students are also using our remote modem dial-in facilities to connect to their departmental accounts, using SLIP to get Internet access to their own PC's.
To help encourage the students we have CD copies of the Linux Slackware software which the students can borrow to install Linux at home; with a good double-speed CD drive sliding in under the #100 barrier it seems a lot of students now have CD drives on their machines. They can also read copies of the Linux Journal to which we subscribe (through a company called Lasermoon in Fareham, Hants). If they want Linux on floppies we keep a mirror of the latest Slackware online for them to copy (as Slackware changes quite frequently we found it not worth making our own 'official' copies to lend out).
As a side note we have just acquired a quad-speed CD writer; with a Pentium to host it and a 4Gb SCSI disk this cost us around £8000 inc VAT, but we now have the ability to write our own CDs and give them to students. Thus we can give out the latest Linux easily, but more interestingly as a CD holds up to 650Mb we have taken the opportunity to also put course notes and other academic material onto the CD. Our current experiment is to dump the on-line WWW course notes onto CD in a way that allows the students to browse and revise those notes at home with a local Web viewer. So far this looks very promising. In addition we put course software on the CD. The blank CDs cost about £8, and we put a small duplication charge on top of that when selling the CDs to the undergrads. However, the writer will also be used by, amongst others, our research groups (to distribute software) and our admissions staff (to put our prospectus onto CD to send to schools).
Yet another bonus with running Linux as a Unix workstation is that underneath Linux there is a PC with DOS and Windows ready to be used. You can easily set up your PC to be dual bootable to DOS/Linux, and if need be password protect either mode. We thus have the option to install course software on the machines for bookable classes, or to let the machines be used for workshops, or just by final year project students. We don't use this option much at the moment, but it's there, and it means we can be flexible if we need to.
On one of our Linux PCs we have put a HP Scanjet IIcx colour scanner and an HP560C colour inkjet printer; for a combined outlay of under £1000 we have a very nice (Windows) workstation which is currently used a lot by students who are setting up their own WWW pages, and by a few who need the facility for project work and for including colour diagrams in project reports. The scanner includes OCR software; with this you can get an A4 printed page into an online document in under a minute - very handy if you lost the original disk copy, for example. For a relatively small cost, this has done wonders for 'student morale' (not that our students are unhappy, but good facilities encourage them to work well).
I haven't yet said what specification we chose for our Linux machines. A smallish room had just come free after some old 386 PCs had been removed, and we took the opportunity to christen this the 'Linux Lab'. With room for about eight machines and a budget of around £15k we set about choosing a specification. This involved a lot of testing of Linux on different PC configurations. It was vital to us that X11 ran smoothly, that we had the larger monitors, and that we supplied enough processor power to make them attractive to use.
After running the tests we found that for acceptable X11 performance (ie. a minimal amount of swapping) that 8Mb of RAM wasn't enough and that we needed 16Mb. Our benchmarks indicated that a 486 DX/66 would match if not outperform some of our existing HP and Sun Sparc machines (though it's not quite in the same league as a Sparc V). At the time of purchase the Pentium 90 was relatively expensive; now of course the situation is different, but we felt happy to trade off the Pentium option against the 17" monitor and the extra 8Mb of RAM (ie. the step up to a P90 cost about £500, the same as a 14" to 17" upgrade and 8Mb RAM). For the other components we went for a standard 540Mb IDE drive, an accelerated graphics card (Orchid Kelvin) and a 3-button Logitech Pilot mouse (remember X11 makes use of three buttons).
Installing Linux itself was relatively simple; we keep a Linux Slackware distribution on-line, and if we need to rebuild a machine then we can just reinstall Linux via NFS (which is an option on the Slackware setup) and then run a small script to do the few local alterations which we have on each machine (mail, news, NFS mounts, links to Linux software on a common server, etc). We chose to keep all the standard Linux software on the local disk on each machine as this improves performance. We have considered installing boot proms in the PCs, but since setting up the Linux Lab some eight months ago (September 1994) we have not had one of our machines fail (touch wood!). And if you do get problems with Linux, the Usenet linux newsgroups provide a fast and friendly helpline, as well as information on all the new developments with Linux worldwide. There are a lot of people out there joining the Linux revolution.
So the Lab, after the initial setup effort, has not been a problem to maintain. The only tricky part in the setup itself is configuring the Xconfig file for X11 (XFree86), but that is now a well documented task; you need the correct settings for both your graphics card and your monitor. In the version of Linux we run, there is a slight problem with NIS (in particular the lack of netgroup support) but there are workarounds. Other than that there are very few problems with the Linux software as supplied with Slackware (with version 2.2 being current at the time of writing). From a security view there may be some holes, but we run (for example) the TCP wrappers package to help keep unwelcome external 'visitors' at bay.
The lab overall has proved to be an overwhelming success. We have just bought a Pentium 90 Linux server with a large SCSI disk to hold some of the common extra software that currently sits on a disk on a Sun. We'll also allow our 'CSlib' group to use most of the new disk; CSlib is a group of a dozen or so undergrads who download, compile, install and maintain a number of applications for our Unix systems which are above and beyond the core tools supported by the system staff. We've been running CSlib for three years now, and it works well; the group are very enthusiastic about having a Linux P90 with significant disk space. Linux runs the nice Wuarchive FTP daemon and the NCSA/CERN Web servers, so CSlib will have their own WWW/FTP service. The URL is http://cslib.ecs.soton.ac.uk.
It looks quite likely that next year's budget will see us buy a similar number of Linux machines, but this time P90's rather than DX2/66 machines, such is the rate at which technology is improving and prices falling. The benchmarks for a Linux P90 put a lot of much more expensive Unix boxes (like Sparc V's) to shame, and I'm confident the students will be just as happy with them as they are with the current Linux machines. Our only problem is finding a bigger room for the Linux Lab!
If you haven't considered providing Linux for your undergraduates, perhaps it's time you did. It may not be perfect, but it's cheap, relatively reliable, and (perhaps most important) fun!