3
<title>Software components</title>
7
<h1>Software components</h1>
10
<p>an Edubuntu lab includes both Chapter 11 as well as office tools and
11
web browsers (see Section 7.3). At its core, however, it
12
consists of the server software that runs the classroom server
13
and the Wizzy internet proxy server.
14
_________________________________________________________
17
<p>7.1. K12LTSP classroom server
20
<p>7.1.1. About the K12LTSP distribution
23
<p>an Edubuntu lab classroom server is based on the K12LTSP
24
distribution, with some configuration changes and additional
28
<p>K12LTSP is based on RedHat Fedora Linux and the work of the
29
LTSP. It's easy to install and configure. It's distributed
30
under the GNU General Public License. That means it's free and
31
it's based on Open Source software.
34
<p>This is quite a mouthful, so I'll unpack the terms one by one.
37
<p>* The LTSP is the Linux Terminal Server Project. This
38
project assembles all the software components that are
39
necessary for a computer to act as a fat server for a
40
network of thin clients, and provides the configuration
41
necessary for the server to function as such.
42
* RedHat Fedora Linux is the free distribution packaged by
43
RedHat, Inc. The K12LTSP team has added an option to the
44
RedHat installation menu, so that installing a classroom
45
server is as simple as choosing the first installation
46
option and answering some questions.
49
<p>The K12LTSP distribution tries to make it as easy as possible
50
for you. It is a regular Fedora distro with an option to
51
install LTSP right there in the setup screen. When installing,
52
the LTSP option is the first item on the menu, added above the
53
default Workstation, Server and Custom options. This means
54
that you don't have to mess around with the configuration
55
files until you've had a chance to see what it is they do, and
56
by then you'll probably only need to tweak them a little.
59
<p>The LTSP server defaults to an IP gateway and firewall when
60
two Ethernet cards are present. This will only be the case in
61
Edubuntu labs that are permanently online, which will usually not be
62
the case. Normally, the Wizzy server will be the gateway, as
63
all Edubuntu labs with internet access use a Wizzy server.
64
_________________________________________________________
70
<p>A Wizzy server can be used to provide a managed internet
71
access solution for an Edubuntu lab. Currently, a Wizzy server is an
72
extra to an Edubuntu lab install. The Shuttleworth Foundation may
73
award a Wizzy server to a school with an Edubuntu lab if the school
74
demonstrates that it is making good use of the lab. Wizzy is a
75
project of Andy Rabagliati, a techno-philanthropist who has
76
been wiring rural schools for cheap internet connectivity for
80
<p>The software (like K12LTSP) is based on RedHat Linux,
81
currently version 8.0. Whereas K12LTSP is based on RedHat
82
Fedora, Wizzy is an adapted version of Whitebox Linux, itself
83
a straight recompile from source RPMs of RedHat Enterprise
84
Linux. Many extra packages have been added, all under the GPL
88
<p>It performs the duties of dialup manager, firewall, mailserver
89
(IMAP mailserver XXX), web cache, and authentication server
90
(LDAP authentication server XXX). The Wizzy server does normal
91
dialup via a telephone line, but it can also do ADSL and
92
wireless. It would be possible to do all these things on the
93
classroom LTSP server as well, but a custom mail arrangement
94
would still be necessary: while the Edubuntu lab is not connected to
95
the internet, mail needs to be delivered to an remote server.
96
Another reason to separate the internet gateway from the
97
classroom server, is that it might not be such a good idea for
98
the classroom server to have a public-facing IP address. All
99
machines exposed to the internet are vulnerable to compromise,
100
and the classroom server contains all the user data.
103
<p>The way in which the Wizzy server sends and receives email is
104
customised to work with an intermittent internet connection.
105
It utilises a protocol that was more commonly used in the days
106
before permanent internet connections became common, namely
107
UUCP (the Unix-to-Unix Copy Protocol). UUCP is suited to
108
queueing data to be copied to remote hosts for delivery when a
109
network connection is established.
112
<p>Wizzy has the goal of providing all its services via UUCP, in
113
order to accommodate high latency connections where there may
114
be long disconnected periods. This type of connection includes
115
situations where a connection is established by dialling up at
116
night when phone rates are low, as well as situations without
117
any dialup access at all.
120
<p>In cases without dialup access, the connection is made by
121
carrying the data across by hand! [10] The transfer medium may
122
be, for example, a USB memory stick, a mobile wireless-enabled
123
laptop, or a USB hard drive. The transfer medium will contain
124
newly fetched data and the queued requests for new web pages,
125
as well as mail waiting to be sent. This is not a stated goal
126
of the Edubuntu labs project, so if your school wishes to pursue
127
this route, you may have to contact Wizzy to work out the
131
<p><img src="illustrations/usbenabling.png">
132
A wireless antenna that plugs into a USB plug on a laptop or a
136
<p>If you do have access to a telephone line for the Edubuntu lab, the
137
internet is dialled up only at night when the rates are low
138
(Telkom South Africa provides a particular phone account that
139
allows a single 12 hour phone call for R7). In this period,
140
approximately 250MB of email and web material can be
141
downloaded onto the Wizzy server in the classroom. In the
142
morning, after the phone has been hung up, the learners can
143
access the downloaded material as though they had a direct web
144
connection. Their experience of email and web during the
145
school day is almost identical to a very fast online web
146
experience, with the exception that newly requested pages will
147
only be available by the next morning. [11]
150
<p>Normally, if you want to connect to the internet, you need a
151
telephone line and a modem, a satellite uplink, or some other
152
means of tapping into 'the Net'. Unfortunately, in South
153
Africa, the necessary telecommunications infrastructure is not
154
always there to tap into. Around a third of South Africans
155
don't have a phone line, and roughly 88% of schools in the
156
Northern Province lack an internet connection. [12]
157
_________________________________________________________
160
<p>7.2.1. Benefits of a Wizzy server
163
<p>Every student can have email and web access without the cost
164
of being online. This is true even for schools that don't have
168
<p>While the delay in retrieving web pages is a necessary
169
consequence of the Wizzy solution, it has a desirable side
170
effect in that it helps educators to manage web access. Since
171
anybody with an internet connection can publish on the Web,
172
there is an absolute ocean of complete trash that threatens to
173
engulf the unwary browser. Groping through this mess just
174
wastes school resources. Automated solutions to this issue
175
have been proposed, often by companies that market filtering
176
products. Apart from the fact that these products suffer from
177
both false positives and negatives, blocking material
178
unnecessarily and letting undesirable material through, it
179
shifts responsibility from the teacher to a software product.
182
<p>The Wizzy solution believes that it's better to let the
183
teacher decide what is appropriate. This also allows the
184
teacher to stay in touch with the material accessed by the
185
learners he or she is teaching. Teachers can explicitly choose
186
the web material that learners can access and definitively
187
reject web material that is not appropriate. They can also set
188
the Wizzy server to monitor websites, retrieving new versions
189
as they become available.
192
<p>Because the school is never in direct connection with the
193
internet, but rather has its web content delivered upon
194
request, students cannot "surf" the internet. However, since
195
all the web sites that have been requested by the IT
196
administrator of the school are delivered and stored on the
197
school's server, the students can "surf" this local web cache
198
as though it were a miniature internet.
201
<p>These specially chosen web sites can easily number in the
202
hundreds. They can be updated daily; and should a new site be
203
desired on a regular basis, the school would have to wait only
204
one day for the delivery to begin. The "surfing" of this
205
miniature internet within the Edubuntu lab costs nothing, and is
206
fast enough to give you whiplash, since all communication
207
takes place within the Edubuntu lab, between the server and the
208
client computers. [13]
211
<p>Edubuntu labs aims to give educators the tools to help learners
212
explore computers and the Wizzy server allows them to put
213
reasonable limits on learners' access, guiding them towards
214
independent use of the computer as they mature. Edubuntu labs does
215
not make any judgement regarding what content is regarded as
216
appropriate, but is there to help provide the tools and
217
documentation to help educators with these decisions. The
218
focus is more on the "guidance" aspect, rather than
219
restriction, as the former is a positive activity while the
223
<p>The Wizzy solution integrates seamlessly with existing labs.
224
Normally, no additional equipment is required to have this
225
kind of internet lab.
226
_________________________________________________________
229
<p>7.2.2. Batch mail delivery solutions
232
<p>First, a recap of the basics. [14] How does mail from far away
233
get to your account, say: somebody@myschool.wizzy.org.za?
236
<p>* The remote mail client probably punts the mail to a
237
smarter host --- the SMTP (Simple Mail Transfer Protocol)
238
server of their ISP (Internet Service Provider). This will
239
have been configured by the sender when first setting up
241
* Their ISP mail server will ask a local nameserver (i.e.
242
DNS server) for the MX (Mail Exchange) records of
243
myschool.wizzy.org.za. These are the IP addresses of
244
machines listed as handling mail for this domain. The ISP
245
will try to deliver directly to the lowest-numbered MX
246
record in the list, via SMTP. If it cannot connect, it
247
will try other MX hosts, usually in ascending order.
248
The DNS service for the Edubuntu lab and Wizzy networks is
249
provided by SchoolNet
250
* With this step, or via intermediate MX hosts, the mail
251
will eventually land on the target host --- the
252
lowest-numbered MX, often your local ISP. Most of the
253
time, your ISP will deliver all the mail for that domain
254
into a single mailbox, and leave you to figure out the
256
* The reason why the ISP can't easily do more, is due to the
257
fact that SMTP is not authenticated to specific users, and
258
therefore relies on name services --- fixed IP addresses
259
--- to route messages to their destination. This makes it
260
impractical for intermittently connected machines, that
261
dial up nightly and are dynamically assigned an IP address
262
by the ISP, to function as mail exchangers.
263
One way to preserve the SMTP protocol across dynamic IP
264
addresses is to batch SMTP commands in a file, and pass
265
the file over a separate transport. [15] Batched SMTP is
266
similar to normal SMTP, but, because it is being written
267
to a file, all responses are ignored. (Normally, an SMTP
268
connection is a conversation of commands and responses
269
between the sending and the receiving servers, so that the
270
sender may probe for the capabilities of the receiver,
271
confirm successful delivery, etc.) Fortunately, this is
272
not critical: as long as all the responses are known to be
273
OK, everything works.
274
The Wizzy solution is to write messages to a file, use
275
UUCP over TCP/IP as an authenticated transport from the
276
SMTP server of the ISP (in this situation, Andy's Cape
277
Town Wizzy server will be the SMTP), and unpack the batch
278
at the final destination (the Edubuntu lab). The batched SMTP
279
format is described in RFC 2442 --- The Batch SMTP Media
281
Wizzy uses exim as the SMTP agent at both ends, and Taylor
282
(GNU) UUCP as the middle transport.
283
_________________________________________________________
289
<p>7.3.1. OpenOffice.org
292
<p>OpenOffice is a full office suite, intended to measure up to
293
and surpass Microsoft Office. This is what its original
294
author, Marco Börries, intended when he started StarDivision
295
to create the software that would eventually become OpenOffice
296
in 1984, when he was just sixteen. He called it StarOffice. By
297
the time Sun Microsystems bought Marco's company in 1999, over
298
25 million copies of Star Office had been sold to customers
299
who needed platform independence (see Section 16.4) and an
300
alternative to Microsoft.
303
<p>In July 2000, Sun released most of the Star Office source code
304
(about 7.5 million lines of C++) to the stewardship of the
305
open source community, under the Free Software Foundation's
306
LGPL license. The community project has as its goal: "To
307
create, as a community, the leading international office suite
308
that will run on all major platforms and provide access to all
309
functionality and data through open-component based APIs and
310
an XML-based file format." The open APIs (see Section 16.4)
311
and file formats are turning OpenOffice into a platform in its
312
own right, supporting projects such as OpenGroupware, which
313
aims to provide an open alternative to Microsoft's Exchange
314
and SharePoint products.
317
<p>This is in direct contrast to Microsoft's approach, who have
318
always used the fact that only their own software could easily
319
use their document formats to keep customers locked in, in
320
effect reserving the Office platform to Windows applications.
323
<p>OpenOffice includes a word processor, spreadsheet, interfaces
324
to many databases, a presentation builder, and a diagramming
325
tool. It is now able to decode most variants of Microsoft
326
Office document formats, but although its StarBasic macro
327
language is syntactically identical to Visual Basic,
328
OpenOffice cannot execute Visual Basic scripts. Although these
329
are preserved upon conversion, the scripts need to be adjusted
330
to use the OpenOffice API before they can be used.
333
<p>OpenOffice can be used to teach all the basic computer skills
334
required to enter the job market, and as the design paradigms
335
of the software is very close to Microsoft Office, the skills
336
learnt are readily transferable.
337
_________________________________________________________
343
<p>In 1998, Netscape Communications released the source code of
344
its Navigator web browser software as open source, and the
345
Mozilla project was born. Netscape released their software as
346
open source in order to compete with Microsoft, who were
347
bundling Internet Explorer with every copy of Windows sold.
348
Netscape hoped that the cooperation of thousands of developers
349
around the world would create a better product than Internet
350
Explorer. It did, but it took years, and Netscape fell by the
351
wayside. The code lived on, though.
354
<p>In 2004, six years after the start of the project, the
355
non-profit Mozilla Foundation that was created to coordinate
356
the project finally released version 1.0 of the Firefox
357
browser. Earlier versions of the software had been in use for
358
years, but at last it was deemed ready for a high-profile
359
release to the general public.
362
<p>The full Mozilla suite includes far more than the web browser.
363
It includes Thunderbird, a mail client with address books and
364
calendaring support, and Composer, a web page editor. For
365
developers, it includes Venkman, a Javascript debugger, and
366
the DOM Inspector, a wonderful tool for interactively
367
exploring the enormous, intricate internal structure of
368
complicated web pages.
371
<p>The code base has been painstakingly restructured to get as
372
much use out of it as possible. So, for instance, all the
373
Mozilla applications use the same rendering engine, called
374
Gecko, to layout and display HTML pages on screen. This is
375
critical, since it is extremely hard work to implement the
376
standards that govern web page structure and display
377
correctly. Mozilla has the best support for the HTML and CSS
378
standards of any browser out there. In the past, Microsoft has
379
used Internet Explorer's idiosyncratic and incomplete
380
implementation of web standards to coerce people to craft
381
their web pages to look good in Internet Explorer at the
382
expense of other browsers. For the web to become a dependable
383
platform, however, developers have to be able to build on
384
solid public standards that don't leave them at the mercy of
385
any company's prosperity.
388
<p>As with OpenOffice, the Mozilla project is becoming a platform
389
for extensions from the community.
390
_________________________________________________________
396
<p>As the internet has become more popular, viruses, spam,
397
spyware and trojans have grown to be an enormous problem.
398
These are all caused by programs that are received and
399
executed on computers without the knowledge or consent of
400
their users. How can this happen?
403
<p>In general, there are two ways for this to happen:
406
<p>* You may have given implicit permission without intending
408
* The unwanted program may be exploiting errors or bugs in
409
some program in order to insinuate themselves into it, so
410
that it can execute with the permissions of the original
414
<p>Firefox and Thunderbird try to protect you as far as possible
415
by setting up reasonable defaults. Nothing in an email message
416
is executed unless you explicitly run it yourself. And
417
execution of Javascript in web pages can be switched off at
418
any point. Firefox also allows you to grant or revoke specific
419
permissions (e.g. opening popups, hiding the status bar, or
420
changing images) to Javascript.
423
<p>The Mozilla suite also affords you a measure of protection
424
from the second case. While Internet Explorer has access to
425
practically the entire running system of a Windows PC via a
426
powerful integration technology called ActiveX, Firefox and
427
Thunderbird are far more restricted. It also helps to be
428
running on Linux, where the user of the web browser will
429
generally not be able to damage the operating system, and the
430
system administration account is never used to run user
432
_________________________________________________________