3
16.1. Business plan template
5
The following may be used as a guideline when drawing up a
6
business plan for your tuXlab. You need to submit a business
7
plan in order to apply for a tuXlab from the Shuttleworth
8
Foundation. Please feel free to add any other information you
9
feel is applicable to the application or business plan.
10
_________________________________________________________
12
16.1.1. Section 1: School information
14
Please supply some general information about your school.
20
_________________________________________________________
22
16.1.2. Section 2: Goals and objectives for a computer lab (tuXlab
25
* What are your plans to promote open source software?
26
* How will lab use be integrated into the school timetable?
27
* What are your plans to involve the community? Please
28
address issues such as benefits and development
29
opportunities for the community.
30
* What are your plans regarding staff development using the
32
_________________________________________________________
34
16.1.3. Section 3: State of readiness
36
* Please provide a statement of needs, including your
37
current computer equipment, if any.
38
* Physical infrastructure --- current infrastructure as well
39
as outstanding requirements (see Section 16.2).
40
* Plan of lab --- i.e. size and layout of room, including
41
measurements (please supply a diagram).
42
* Do you have a Computer Committee already established?
43
* Who is the Facilitator?
44
* Please detail your roll-out strategy: financial plans and
45
actual work in measurable terms
46
_________________________________________________________
48
16.1.4. Section 4: Opportunities and Risks
50
* What are the risks involved for you with establishing a
51
lab? Address e.g. financial considerations, burglary as
53
* How will you be addressing possible risks?
54
* What specific opportunities will be created for you if you
56
_________________________________________________________
58
16.1.5. Section 5: General
60
* How do you plan to sustain the tuXlab? For example, do you
61
have a network of volunteers, will you be establishing an
62
internet cafe or service bureau, etc.
63
* What types of skills transfer do you envisage?
65
Should you require any further assistance please contact:
67
Casey-Lea Olson Open Source Project Administrator
70
<casey@shuttleworthfoundation.org>
71
_________________________________________________________
73
16.2. tuXlab School Criteria
75
Schools are selected, and the project implementation
76
initiated, based on fulfilment of the following minimum
77
criteria and expectations.
79
The School will be required to:
81
* Complete an initial survey activities;
82
* Submit a business plan including its initial plans to
83
introduce the tuXlab into school;
84
* Establish a computer committee;
85
* Ensure that a representative participates in the
86
establishment of two tuXlabs prior to selection, as well
87
as participation in at least two labs post installation;
88
* Identify a room to house the tuXlab;
89
* Secure the room with mesh window bars, safety gates and an
91
* Ensure that the electrical system is suitable and
92
sufficient electrical points are available;
93
* Install trunking for networking cable;
94
* Provide a cabinet to securely protect server and
96
* Install a telephone line for telephonic support and e-mail
98
* Ensure that desk space and seating is available;
99
* Ensure participation from the educators and learners
100
during the installation process;
101
* Appoint or employ a facilitator for training and on-site
102
support for a one-year period;
103
* Actively play a role in the successful operation of the
105
* Attend a monthly tuXlab meeting; and
106
* Open the tuXlab at least one Saturday of each month for an
109
Additional criteria may be set for each school.
111
Based on successful selection, the exact terms of this project
112
will be outlined in a Memorandum of Understanding.
114
Should you have any further queries with regards to the above
115
requirements, please do not hesitate to contact us.
116
_________________________________________________________
120
This book is a real open source project, and in writing it I
121
have incorporated work from a number of other people. Here is
122
a short list in alphabetical order. I'm sure I've missed some
123
people, so please let me know.
125
* Jonathan Carter, for his excellent Troubleshooting Guide.
126
* Jason Hudson, for the outline that started off this book.
127
* Alistair Otter (XXX?) for his tuXlabs book
128
* Andy Rabagliati, for various documents on the
129
http://wizzy.org/ site.
130
* Hilton Theunissen and Casey-Lea Olson, for various policy
131
and operating procedures documents on the
132
http://www.shuttleworthfoundation.org site.
133
_________________________________________________________
137
Asymmetric Digital Subscriber Line ( ADSL)
138
ADSL is a technology for transmitting digital data
139
across normal copper phone lines at high speeds. It is
140
a short-range technology, requiring subscribers to be
141
within a few kilometres of the exchange providing the
142
service. It is called Asymmetric because download
143
speeds are configured to be far higher than upload
144
speeds (you can receive more quickly than you can
147
Application Programming Interface (API)
148
Just as a program has a range of menus, icons and
149
buttons with which a user can control it, it can have a
150
set of method calls and data structures that can be
151
used by other programs to control it. This is the API.
153
Basic In/Out System ( BIOS)
154
A small program in non-volatile storage that is
155
executed immediately after a computer is powered up.
156
Normally, it passes control to the boot loader of the
157
selected boot media as soon as possible. However, it
158
also displays some diagnostic information while
159
executing, including a prompt to enter configuration
160
mode. While in configuration mode, you may set various
161
basic properties of the computer, such as the time of
162
the system clock and the selected boot media (e.g.
163
CD-ROM, hard disk, or network).
166
When a computer is powered up, control immediately
167
passes to the BIOS. The BIOS finds the program code
168
that should be executed to continue the startup
169
process, until the operating system is up and running.
170
The whole procedure is called booting up, from the
171
expression "pulling yourself up by your bootlaces".
172
Picture a cartoon figure on flat land, grabbing hold of
173
his bootlaces and pulling himself up into the air until
174
he's flying. A computer manages something similar, when
175
it changes from an inert lump of plastic to a running
178
Central Processing Unit ( CPU)
179
The CPU is the core of the computer. It's one of the
180
smaller pieces, consisting of a flat square of silicon,
181
but it contains most of the computer's complexity, in
182
the form of millions of transistors. When the computer
183
is executing programs, all of the instructions as well
184
as the data are fetched from RAM and processed by the
187
Common Gateway Interface (CGI)
188
This is a specification for calling scripts that are
189
triggered through the web. The CGI standard specifies
190
what data must be passed to the script.
193
A program that runs on a server, waiting for requests
194
and servicing them. The program runs permanently, as
195
long as the service should be offered.
197
Document Object Model ( DOM)
198
When a web browser parses an HTML page, it doesn't just
199
write out text to the screen and have done with it. It
200
needs to hold on to the entire structure in order to be
201
able to rewrite it using Javascript, changing parts of
202
the page in-place and reflowing the resulting document
203
immediately. This internal structure is called the
204
Document Object Model. You can read all about it at the
205
World Wide Web Consortium's Document Object Model page.
207
Domain Name System ( DNS)
208
The Domain Name System is part of the core
209
infrastructure of the internet. It consists of a
210
massive globally distributed database that matches IP
211
addresses (e.g. 216.239.57.99) to domain names that
212
humans like to remember (e.g. google.com). As long as
213
they keep to the rules, anyone can run a DNS server to
214
resolve local address and to cache global addresses. No
215
DNS server needs to store all the domain names on
216
earth: the job is distributed among ISPs who each take
217
responsibility for different sections of the namespace.
218
If your local nameserver doesn't know an IP address, it
219
knows who to ask to get an answer.
221
If DNS is unavailable, all the services that depend on
222
it (such as web browsing and email) don't work.
224
Dynamic Host Configuration Protocol ( DHCP)
228
See PXE in Section 16.4.
230
Internet Service Provider ( ISP)
231
A business which provides internet access to its
232
customers. The nature of this service may vary widely,
233
from dialup access and email for home users to wireless
234
broadband and website hosting for big media companies
235
and everything in between.
237
platform independence
238
A platform is a short name for the entire software
239
environment which a specific program requires in order
240
to run. Programs may target an operating system (the
241
Windows, Linux or Macintosh platforms), or a virtual
242
machine (the Java platform, which is available across
243
operating systems). Increasingly, web applications such
244
as Google's Gmail email service target the web browser
247
When a program is capable of being run on many
248
different platforms, it is called cross-platform. In
249
this case, it either needs to be rather self-contained,
250
not making use of any special capabilities of any
251
specific platform, or it needs to contain alternative
252
implementations for all the platforms it caters for.
254
Power On Self Test ( POST)
255
The POST is a series of hardcoded self-tests that a
256
computer's BIOS performs to see whether basic resources
257
such as its CPU, memory, and keyboard are present and
260
Pre-boot eXecution Environment ( PXE)
261
A small program on the network card that allows a
262
computer to boot from the network. The PXE takes care
263
of finding a server from which to boot, and
264
transferring the boot loader from the server to the
265
client across the network.
267
Programmable ROM ( PROM)
268
This is a kind of memory that can be written exactly
269
once. After it's been written, its contents is fixed.
270
It's generally used for things like network cards with
271
the facility to boot from the network. Such cards can
272
be used in many different environments, requiring
273
different software. However, once deployed in some
274
environment, it normally stays there. Therefor the
275
required software can be written to a PROM on the card,
276
effectively locking down the card to the deployed
279
Media Access Control address ( MAC address)
280
In computer networking, a MAC address is a code on most
281
forms of networking equipment that allows for that
282
device to be uniquely identified.
284
Network File System ( NFS)
285
A local filesystem reads data from a hard disk. NFS is
286
a protocol that allows a remote filesystem to be
287
mounted on a path of the local filesystem, so that data
288
read from files on that path is not read from a local
289
disk, but from a server on the network.
292
In Section 8.4 networking, the netmask specifies all
293
the IP addresses that belong to a particular network.
296
A physical hard disk stores data on magnetic platters.
297
A RAM disk emulates a hard disk using the computer's
298
memory. Whereas a hard disk stores data permanently
299
until it is rewritten, a RAM disk only exists as a
300
running program, and goes away when the program stops
301
or the computer is powered down.
303
Random Access Memory ( RAM)
304
Memory that stores code and data only as long as the
305
computer is powered up. At the first hint of a power
306
interruption, RAM becomes as blank as a beach washed
307
clean by the tide. RAM can be written to, and during
308
execution, programs are continuously rewriting its
311
Read Only Memory ( ROM)
312
Memory that stores code and data permanently, whether
313
or not the workstation is powered up. It cannot be
314
written to: every time it's read, it's exactly the
317
Read the FINE Manual ( RTFM)
318
Linux is a self-documenting system. All Linux programs
319
come with technical documentation, and most commands
320
accept a --help option that will start you off. The
321
information is sometimes cryptic, or just very dense,
322
but if you don't read it two, three, four or five
323
times, you'll find yourself asking the same questions
324
again and again, and never progressing beyond the
327
You'll also find that people answer your questions with
328
a terse " RTFM!", meaning that the answer is right
329
there in the manual. Don't take offence, look it up.
332
Linux systems loosely use a tree metaphor to explain
333
some aspects of their structure. So, for example, the
334
user who is the system administrator, with all
335
privileges to make or break the system, is the root
336
user. The root user can create other users and groups
337
with more limited privileges, like the branches of a
338
tree that are separate and thinner than the trunk.
341
The filesystem is an hierarchical tree structure. The
342
directory which contains all the others is called the
343
root, and is written like this: /. This is a
344
subdirectory of the root directory: /etc. This is a
345
file in that subdirectory: /etc/hosts.
348
Another metaphor used to express the structure of a
349
Linux system is that of a nut containing a kernel. The
350
kernel is hidden inside, it is surrounded by a shell.
351
As user you can't interact with the kernel directly,
352
you interact with a shell program. This is a program
353
which accepts commands and gives feedback, all via a
354
textual command line interface. The shell has a number
355
of builtin commands, but it also does job control,
356
starting and stopping programs that run under its
359
The shell has a full complement of flow control
360
structures, so that it can be used to write programs.
361
These are called shell scripts. Shell scripts are most
362
often used to coordinate the execution of other
365
Simple Mail Transfer Protocol ( SMTP)
366
When you send an email, your mail server looks at the
367
headers of the mail to see where it should be
368
delivered. It then uses DNS to look up the IP address
369
of the mail server on the receiving end. When it knows
370
whom to contact, it starts an SMTP conversation with
371
the remote mailserver. It asks the server what version
372
of the protocol it supports (so that it knows how to
373
encode the mail, if necessary) and whether the server
374
is accepting mail for the user you want to reach. When
375
the two servers have gotten to know one another, the
376
mail is transferred and queued for the remote user to
380
A file can only be stored in one place on a disk. If
381
you want it to appear to be in other places as well,
382
you can make a symbolic link from there to the real
383
location of the file. By most commands, the link will
384
be transparent: it will be treated exactly as though
385
the file really exists in that location.
394
This consensus is reflected in standards, such as the Portable
395
Operating System Interface ( POSIX).
398
Source for the following paragraphs:
399
http://www.fsf.org/philosophy/schools.html
402
This paragraph is from
403
http://wizzy.org.za/article/articleview/4/1/3.
406
See tuXlab room layout from the Shuttleworth Foundation's
410
See Infrastructure and Security
413
See Chapter 8 for an explanation of what switches do.
416
http://wizzy.org.za/article/articlestatic/5/1/2/
419
http://wizzy.org.za/article/articlestatic/5/1/2/
422
See http://wizzy.org.za/article/articleview/18/1/3
425
See http://wizzy.org.za/article/articleview/4/1/3
428
See http://wizzy.org.za/article/articleview/18/1/3
431
See http://wizzy.org.za/article/articlestatic/19/1/2/
434
See http://wizzy.com/wizzy/mail.html
437
See http://wizzy.com/wizzy/batch.html
440
For more information, see http://www.k12ltsp.org/install.html
443
See http://wizzy.org.za/article/articlestatic/19/1/2/
446
See http://wizzy.org.za/article/articlestatic/23/1/2/
449
Incidentally, this emphasises the importance of a public
450
domain. Current legislation in the United States effectively
451
allows work to be kept out of the public domain indefinitely.
452
This is bad news for future generations.
455
The following overview comes from the first edition of
459
Of course, it's always possible to trick someone into running
460
a script that will damage their data. This is how many viruses
461
work. Rather than trying to manage this through technology, in
462
the classroom situation it's probably better to teach learners
463
that it's better to help one another (and keep backups in case
467
This section incorporates the tuXlab Troubleshooting Guide by
468
Jonathan Carter (version 1.0, December 2004).
471
GRUB is the Grand Unified Bootloader, so called because
472
various alternatives existed with different strengths and
473
weaknesses. GRUB was written to try and take the best from
474
them and make the choice of a bootloader less of an issue.
476
Briefly, the bootloader is the first software program that
477
runs when a computer starts. It is responsible for loading and
478
transferring control to the operating system kernel (see
479
Section 3.1.2). You can read more about GRUB in the FSF
481
_________________________________________________________