...... mm ...... e...... I Computer Science Classes

In 1993, the Jesus M. ConxirlmBarahona, Pedro delaeHeras-Quiibs,Jose Centeno&mhIez, authors began us- Vicente Matdhn-Oliverr, and Francisco 1. Ballesteros, ihg]tian CU~OSUniverszty, S~UWZ ing 386BSD to uring 1991 and 1992, the landscape of libre software, and of teach computer science classes at software development in general, was ready for a change. In two Madrid’s Carlos different communities, two very exciting events were taking III University, in place: 386BSD, a libre derivative of the BSD code, was born, and Spain. Seven years Linus Torvalds distributed the first versions of the kernel. Soon after, later, NetBSD and D GNU/Linux are the software community had two libre operating systems at its disposal (for the operating sys- some basic references to online information on libre products and distribu- tems of choice for tion, see the “Online Resources” and “Terminology” sidebars). several of the Uni- versity’s computer In late 1992 at Carlos I11 University, we both GNU/Linux and 386BSD were reason- science teaching were introducing new computer science ably stable platforms. laboratories. studies and planning a distributed systems course. We were looking for a software History of the Lab platform suitable for practical lectures on After a testing period, we established a sta- distributed systems (our practical lectures ble environment that several students helped take place in a computer lab and usually in- us maintain and improve. When the semester volve a programming exercise). Unfortu- started, a small group of around 20 students nately, we couldn’t afford workstations- used 3 86BSD to learn to build client-server we could only share a PC laboratory run- applications. The experiment was a success. ning MS-DOS, used to teach other The students, using the environment, were computer science subjects. Therefore, we productive and fulfilled the goal we had set: were pleased to discover that 386BSD could to build simple RPC-based applications. run on those PCs and already had the com- 386BSD exposed them to a system similar to plete environment we needed for the practi- Unix workstations but at a fraction of the cal lectures. We decided to give the new, ex- cost and with many new features-such as citing libre operating systems a chance- access to .

76 IEEE SOFTWARE MavNune 2000 n7~n-7~~qinniffinnn a 7nnn IFFF The NetBSD proprietary Unix-like Although several problems were evi- systems. dent-the lack of a GUI and several com- The new environ- mon applications, difficulties with main- ment was much more tenance, and trouble with some of the hard- user-friendly. We in- ware devices-we decided to continue using stalled XFree86 in systems based on libre software. After con- every computer, with a sidering GNU/Linux, we selected NetBSD, a GUI that provided a successor of 386BSD, as the new operating faster learning curve system for several reasons: for students. We also installed new applica- tions, many of them with a GUI. Familiarity: Our background was mainly in BSD-derived systems, such as SunOS. The switch to GNU/Linux Quality: BSD’s networking code was said In 1997, the department decided to renew to be better, especially regarding NFS. and expand the Unix Lab. Because of the so- Availability of bibliographies: books cial pressure for moving toward GNU/Linux, about BSD and its networking code were we decided to install it instead of NetBSD in widely known.1J the new hardware. Among the many distri- butions of GNULinux, we considered Red- We didn’t consider any proprietary sys- Hat, Slackware, and others, but we chose tems, in part because of budget constraints, Debian because of but also because it was obvious to us at the time that NetBSD, and perhaps GNU/Linux, I its development model, which was based were technically the best available Unix-like on hundreds of developers spread around systems for PCs. the world; We compiled most of the applications I the number of included applications- from source code, because NetBSD lacked a around 1,000 at the time; collection of binary packages. Therefore, a I the development team’s spirit, open to lot of source code was always around, and external suggestions and fully commit- interested students could look at the code ted to libre software; and that experienced programmers had writ- H advanced package management tools, ten-an activity uncommon in Spain (and in which simplified large-scale upgrades. many other parts of the world) at that time. In 1994, our department allocated funds The new Unix Lab required no funding for buying new PCs and developing the for buying software, letting us allocate addi- Unix Lab. Thus, we introduced our first li- tional funds to improved networking hard- bre software laboratory. We devoted the ware and multimedia equipment. This let next two years to improving the Unix Lab- students use MBone applications for estab- further integrating it with classroom work lishing, for instance, video conferences. and lectures and polishing the user interface. The switch to GNULinux has proven Although GNU/Linux was quickly becom- beneficial for students, because it is more ex- ing a viable alternative, we were still com- tensively used in Spain than NetBSD and is mitted to BSD derivatives and, in particular, much easier to obtain. Currently, the lab runs to NetBSD. However, students started ask- Debian 2.1 (which includes almost 2,000 ing for GNU/Linux, and colleagues in the packages), with an improved GUI based on Computer Science Department pressured us Gnome. More and more teachers (in com- to switch so they could run Linux-only ap- puter science departments and elsewhere) are plications. Looking back, it is astounding using or planning to use GNU/Linux for their that we had almost no pressure to switch to practical assignments, and we are sharing our

May/June 2000 IEEE SOFTWARE 77 Jesus M. Gonxalez Barahona teaches at the King Juan Carlos University, Mostoles, Spain. He ioined the Computer Science Department of the Carlos 111 University, Leganes, in 1992, where he worked until September 1999. His current research interests are they gained immense learning value by being distributed systems, multicasl protocols, and fault-tolerant systems. He is also interested in the technical and teaching implications of libre software. He received his PhD in telecommunication able to inspect the internals of the software engineering from Universidad Politecnica of Madrid. He is a member of the IEEE Computer So- and system. ciety and of AT1 (Association of Computing Technicians). Contact him al Similarly, all the teaching materials (in- [email protected] or [email protected]. cluding the software) are available to stu- dents and colleagues at other universities Pedro de-las-HerasQuiros teaches at the King Juan Carlos University, Mostoles, Spain. He worked at the Computer Science Department of Carlos 111 University, Leganes, until without restrictions. We can thus easily share Oclober 1999. His research interests include distributed systems, fault tolerance, and large- our teaching tools and techniques with col- scale network protocols and applications. He is also interested in the impad of libre software leagues. Another advantage is that libre soft- in the software industry and academic circles. He earned an MS in computer science from the Universidad Politecnica of Madrid and expects to receive a PhD in computer science during ware ensures “brand-neutral” teaching-any 2000 from the same University. He is a member of the IEEE, ACM, and ATI. Contact him at reseller can provide the software because no [email protected]. one owns it. This way, the University doesn’t endorse any particular brand or company. Jose Centeno-GonzAlexteaches at the King Juon Carlos University, Mostoles, Spain. Also, source code availability for computer He ioined the Computer Science Departmenl of Carlos 111 University, Leganes, in 1993, where he worked until September 1999. His research interests include distributed-systems program- science students is extremely important so ming, and protocols for distributed systems. He is also interested in the impact of libre soft- they can learn how other programmers solve ware on computer science teaching and industry. He graduated from Universidad Politecnica of common problems. Because of the availability Madrid with an MS in electrical engineering and expects to receive a PhD in computer science from the same university this year. Contact him a1 [email protected]. of source code, we were able to customize and adapt the software to our environment. This included porting rare applications to the operating system we were using. Vicente Matellan Olivera teaches at the King Juan Carlos University, Mostoles, Another positive side effect is extremely Spain. He ioined the Computer Science Department of Carlos 111 University, Leganes, in 1993, where he worked until September 1999. He is interested in muhiagent and distributed systems low software costs. Funding for software and has worked on applying these topics in robotics. He received his PhD in computer science laboratories is limited, and with libre soft- from the Universidad Politecnica of Madrid. He is a member of the IAS (Intelligent Autonomous ware, the only significant costs are hard- Systems) and All (Association of Computer Science Graduates). Contact him at vmoQgsyc. escet.uric.es. ware and maintenance. In addition, the libre software develop- ment model ensures that if a product has a Francisco 1. Ballesteros does research on distributed and adaptable operating strong enough user base, it will maintain systems and teaches operating systems and advanced programming courses at the King Juan high quality standards. Among libre soft- Carlos University, Mostoles, Spain. He received his PhD in computer science from Universidad ware programs, there is a range of technical Politecnica of Madrid. Conlact him a1 [email protected]. quality, but our experience has been that if you carefully select the system’s compo- nents, it is more reliable and capable than its proprietary counterparts. experiences with almost every university in Finally, in several niches, libre software is the Madrid area. already the preferred choice. Today, the most prominent of these niches is probably Lessons Learned the Internet infrastructure and related serv- After many years of operation, the Unix ices. Many of our students are finding jobs Lab has become, for the most part, a posi- in this area because they have some back- tive resource. There are, however, both ad- ground in similar or exactly the same main- vantages and disadvantages as compared stream programs used in that environment. with a more traditional lab based on pro- prietary software. Disadvantages Of course, using libre software for teach- Advantages ing also has its downside. It is sometimes per- The software is available to students with- ceived as second class or unprofessional, out restriction. They can install exactly the which can negatively influence the students’ same software environment on their home motivation. Similarly, many students feel they computers with no licensing problems or need to learn specific characteristics of the so- costs. In addition, they can install more ap- called standard programs, instead of general plications for their own use and modify them skills about using those kinds of programs. without bothering with expensive propri- Some students are reluctant to install a new etary programs or illegal copying. Moreover, operating system on their home computers.

78 IEEE SOFTWARE Mayidone 2000 There are also institutional barriers to libre students the benefits of a lab based on libre software. Many departments within universi- software. ties are reluctant to use or directly oppose libre Both in Carlos I11 University and King Juan software, not on technical grounds, but based Carlos University, we have helped create on their unfamiliarity with the software. Linux users groups, which are a good source Though less common, we also experienced of informal support for both students and problems regarding a lack of support for cer- teachers using libre software. In those groups, tain hardware devices. we can also find well-trained technical staff to Another problem is that finding technical help maintain the lab. staff well trained in the installation and ad- We are very interested in the use of libre ministration of libre software is still not easy. software for teaching computer science and Many of these disadvantages are not di- welcome any comments you have about your rectly related to libre software characteris- experiences in this area. @ tics, but rather to its current situation and perception. Should this situation change in the future, many of these problems will dis- appear or else turn into advantages. Acknowledgments This article, and the experiences it describes, has only been possible thanks to the outstanding work of n October 1999, our team moved to the hundreds of libre software developers. We are very grateful to all of them. King Juan Carlos University, and we have already started implementing the lessons learned at the Carlos I11 University. In References addition, we are exploring the suitability of 1. G.R. Wright and W.R. Stevens, TCPIIP Illustrated, Addi- libre software for teleteaching and for imple- son-Wesley, Reading, Mass., 1995. menting virtual campus facilities. We are also 2. M.K. McKusick et al., The Design and Implementation of the 4.4 BSD Operating System, Addison-Wesley, holding discussions in which we explain to Reading, Mass., 1996.

st your company’s Link to career se

MayNune 2000 IEEE SOFTWARE 79