SKSI/LifelongLearningLab Tech Recommendations

Based on discussions within the weekly SKSI meetings ( specifically) we are drafting an OER Foundation recommendation for the technology composition of the new Lifelong Learning Lab's computing infrastructure. This recommendation will be improved iteratively through discussion with representatives from Samoa (from MESC, UNESCO, and, hopefully, the Samoa Technology Association) to clarify expectations and functional requirements. The role of the OERF will be to recommend, where possible, Free and Open Source Software options to help preserve the Lab's control (i.e. avoid lock-in), create equitable technology education opportunities within Samoa, for Samoans, and to save on running costs.

The recommendations will cover both a set of workstations (laptops) and the server or servers (physical and/or virtual) with whose services they interact.

Workstation recommendations
This is what the OER Foundation recommends installing on the Lab workstations. We recommend installing Linux alongside Windows (assuming they come with Windows 10 or 11 pre-installed?) on all the workstations allowing for dual booting.

Running Linux on Workstations
The laptops/workstations are, as we understand it, pre-installed with Microsoft Windows (version 10? 11? Home or Professional?), but could also run Linux in one of two ways.

Dual Boot Linux
The more conceptually straightforward approach, which involves installing Linux alongside Microsoft Windows on each workstation's internal hard disk. This has the advantage of allowing the workstation to be used outside of the lab (e.g. if it is 'checked out' by a user, should the lab offer 'library' services for technology). Data stored on each system will be "locked" to that system, meaning that a user will need to use that specific workstation to have access to her/his data. Alternatively, data can be stored on the server based on the user's network login, making workstations interchangeable, however they will not be usable outside of the Lab network.

This approach does, however, add a substantial maintenance overhead, similar to that of the Windows installations, requiring that each system's Linux installation is upgraded individually on a regular basis to ensure that software is as secure as possible and providing the latest functional improvements.

Network Boot Linux
The other option is for the lab to make "netbooting" of Linux available via its server. This has the advantage that no Linux software or data of any sort needs to be installed on the workstations. All software and user data is held on the server. When a workstation is turned on while on the Lab's network, the user has the option of "boot from Network" to Linux. This will give them the up-to-date Linux system, a template of which is installed on the server, and when they log in, they will see the same desktop environment and settings (which are stored on the server) regardless of which workstation they are using.

The main advantage of this approach is that there is only one installation of Linux on the network (it also provides the option of making multiple Linux distributions available for users to choose at boot-time if they want), minimising maintenance requirements. This single Linux installation includes not only the Linux operating system, but all the desktop application software that the user will need. None of these have separate license costs or maintenance requirements. All user-specific (personal) data and the user directory (used for authentication) is centrally run on the server.

This is a somewhat more complex approach to set up, but is far more straightforward from an ongoing maintenance perspective.

Server recommendations
This is what the OER Foundation recommends be installed on the Lab server(s). Unless MESC makes the decision to install VMWare on the server hardware, we would recommend installing Ubuntu Linux 20.04 (or 22.04, if this doesn't happen until this April) and then, if virtual Microsoft Windows servers are required, installing them on Virtual Box (note, this can be installed directly from Ubuntu's package servers, which is more maintainable than downloading from the Oracle site). Additional virtual Linux servers can be implemented either via Docker (more efficient) or via Virtual Box under some unusual circumstances.

Hosting Netboot
The server component of the Netbooting functionality described above for the workstations will require a Linux Docker Container to run on the server, which is straightforward if the server itself runs Linux as its main (host) operating system, as we've recommended. We will have the opportunity to trial existing "Netbooting" containers created by members of the FOSS community, and, if we desire, we can modify those to suit the Lab's requirements and to increase opportunities for Lab participants' development and technology education (e.g. including additional software applications, alternative Linux distributions or versions).

Some existing Netboot (also known as "PXE boot") containers include


 * Dockerized PXE - more implementation documentation.
 * Linuxserver Netbootxyz - some more information and the container docs.