# LineageOS

This is a learning resource about LineageOS, an open source mobile operating system. The learning resource compares normal Android, which usually supports Commercial Data Harvesting and LineageOS. Commercial Data Harvesting in general is used to create income for the companies that created the hardware or software. On the other hand the operating system itself is free of charge for the user. This learning resource is based on the Open Community Approach and provides options to use Open Source software and Open Educational Resources on mobile devices.

## Using Smartphones in Learning Environment

Mobile devices are regarded as IT devices used in Learning Environments in schools and educational settings (see also Real World Labs. Privacy protection is relevant if learning environments create data for learning analytics that can be used for adaptation of the learning environment to the requirements of the learner - e.g. selection of (easier or more difficult) tasks or additional help for the tasks (see Intelligent Tutoring System - ITS).

## Learning Tasks

* (Boot Manager) Is it possible for smartphone users to select the preferred operating system during the first boot of the device after buying (e.g. select Android or Lineage on first boot)? The Raspberry Pi, which uses e.g. ARM processor that is used on smartphones as well, lets users choose which operating system they want to install. E.g. for a learning environment in which the institution wants to have full control over the operating system for privacy of data of students and teachers. Furthermore the operating system of the mobile devices could be booted with a tailored operating system for the IT-infrastructure of educational system. Identify possible workflows to define a tailored operating system for an educational institution. Compare the integration of
** external Open Educational Resources and Open Source applications e.g. on F-Droid provided outside the institution,
** internal access to software and Open Educational Resources that are tailored to the scope and content of learning environments,
** locally available software and Open Educational Resources that created and modified by the learner and that are shared with other students or the teacher directly between devices.
* (Root/Administrator Access) What does it mean to have root access on a mobile device? Why are you not able to remove software from a standard Android which you are able to remove from a Lineage Operating system?
    On a desktop computer the user is allowed to install a Linux operating system and also on your Mac and or Windows PC the user has the administrator/root rights. Do users of a smartphone have the root/administrator rights by default? Discuss the importance of root/administrator rights for mobile devices used in learning environments. Discuss privacy in learning environments on different levels
   * Applications: is it possible to run the learning environment as application offline without submitting the results of the interaction with learning environment to a server backend.
   * Operating System: can the operating system be tailored and adapted to the requirements and constraints of IT infrastructure in the educational unit, institution, school, college, so that the source code can be checked and adapted to e.g. assessment infrastructure, offline groupware sharing and interaction between students, ...
   * discuss that also the context of the benefits and drawbacks of server/backend based solutions where data exchange between clients and servers are required to use a specific learning environment (e.g. iMathAS or [OpenOlat]). What are the requirements for the operating system to facilitating the interaction with other students and the teacher directly between the actors in the classroom without remote server backends? What are the benefits and drawbacks of such an approach?
* (Digital Analogue World Equivalence) Assume that students work alone on tailored learning task designed for their skills and knowledge or work in group of 4 students on a collaborative learning task . Digital Analogue World Equivalence means is this context, that students that work alone on a specific task with mobile device or PC are able to work disconnected from an IT infrastructure, or the group set up
* (Real World Labs) Explore the concept of Real World Labs and the interaction with the real world environment with additional digital information. Explain how learning modules in Wikiversity can be tailored to a specific geographical location as Open Educational Resources.
* (Servers in LAN) Assume you set up a local server to provide an IT infrastructure in a local area network. What kind of software infrastructure is necessary that teachers can start a specific server for a learning task within the Local Area Network of the classroom and stop that immediately when the learning task is over.
** (Local Offline Data Collection) Assume you want collect data in an offline collaborating team and you want to protect the data due to privacy issues. In the collaboratively working team you want to share the collected data between the team members but the data should not leave the local area network. You start the server for 15min on the LineageOS with a WiFi hotspot and then you stop the service after the team member collected the joint data. Keep in mind, that you start the service with an expiring time span e.g. 15min so that the service is not running anymore if the mobile device connects to the internet again.
** (Online Music Rehearsal Room) Assume you have a Open Source Jamulus Server as an Online Rehearsal Room in LAN, which is normally used for jamming with band mates online. Locally the infrastructure can be used to have an ad-hoc jam session with mobile devices added and use the mobile devices as recording clients. Use headsets with mobile devices to listen to Jamulus Server infrastructure. Recording of session needs just mobile devices and a one participant that provides a hotspot for the other singers. Analyse the hardware infrastructure and identify bottlenecks of bandwidth and analyse different hardware to improve quality of recorded sound. Explain how you could connect a guitar to the Jamulus Server on the LAN. How can you connect good quality mircophones to the mixer infrastructure on Jamulus and compare cable connections with bluetooth connection for mircophone. How can you use Open Source drum apps on the LineageOS system like OpenSource Hydrogen.
* (Remaster LineageOS Images) Linux operating system can be configure and adapted to specific purpose (add specific apps, create specific API that create less vulnerability for the IT infrastructure the mobile devices should be used in (e.g. educational setting, schools, universities, ...). Analyse the concept of Open Source Tool RemasterSys and explain how an infratructure must be designed to transfer that concept to Android! What are the requirements and constraints of such an approach.
* (Open Source Learning Apps) F-Droid is an repository for Open Source repository. Explore PhyPhox as physical mobile phone experiments. Is LineageOS required for the application of Open Source apps in general. What are reasons for using LineageOS instead of the pre-installed Android operating system.
* (Security & privacy features) Analyze the following additional security features on LineageOS and explain why and how they add more security or privacy to your mobile device usage:
** Root access provides control which software is installed on the operating system. Root access is standard on desktop computers, that you own. You will not use the root account for default usage of the phone. You will only login, if you want e.g. remove unwanted software on the device. This is especially relevant for tailored phones used by educational institutes. The provide root access to the IT administration only on the phone and remove the unwanted software and install the required company infrastructure, to work in a protected way in the IT infrastructure of the educational unit or research and development unit-
** PIN scramble – For users securing their device with a PIN, the layout can be scrambled each time the device locks to make it difficult for people to figure out your lock by looking over your shoulder.
** Privacy guard – Allow the user to fine-tune what permissions are granted to each application. For some permissions, it's possible to set a manual approval each time the permission is requested. It's also possible to find out how often apps use a specific permission.
** Protected Apps – Hide specific apps behind a secure lock. This works hand-in-hand with Trebuchet; the app's icon is removed from the launcher, and "secure folders" can be created to easily access these applications. A pattern is used to lock these apps.
** Some "sensitive numbers", such as abuse support numbers, are not included in the call log for privacy.
** If own IT staff of the organization or IT unit is allowed to checks open source code base of used mobile devices without exception, could help to improve the trust in the secutiry and privacy protection pf the used mobile devices.
** Create a tailored company OS based on Open Source and deliver all mobile devices of the company or educational unit with an OpenSource infrastructure.
** OpenSource and root access to mobile devices allows the analysis of the code and the removal of OS components that are not acceptable for a company or educational units. Compare LineageOS with other OpenSource operating systems for mobile devices according to security and privacy improvements! What is necessary workflow to share security updated and privacy improvements within a community Open Source operating systems?
* (Digital Learning Environment) Design a Digital Learning Environment in school that uses LineageOS as Operating System in a classroom. That are the minimal installed applications, network connections that you would allow on the mobile device within your selected digital learning environment. Would you change the requirements and constraints for assessments and test?
* (Tailored Open Source Operating System) What are the requirements and constraints if educational systems want to install LineageOS with a tailored set of applications for learning environments and a student and teacher support infrastructure, that is used in schools, universities or tailored capacity building programms? Look at the tool
* (PRO - CON) Finally compare the default operating system shipped with the device with the operating system LineageOS. What are the PROs and CONs for using LineageOS for mobile devices on a smartphone.

## Introduction

LineageOS is a free and open-source operating system for set-top boxes, smartphones and tablet computers, based on the Android mobile platform. It is the successor to the custom ROM CyanogenMod, from which it was forked in December 2016 when Cyanogen Inc. announced it was discontinuing development and shut down the infrastructure behind the project. Since Cyanogen Inc. retained the rights to the Cyanogen name, the project rebranded its fork as LineageOS.
LineageOS was officially launched on 24 December 2016, with the source code available on GitHub. As with all versions of Android, operating system releases are specific to a single model. Since its launch, LineageOS development builds are available for more than 185 phone models with over 1.7 million active installs, having doubled its user base in the months February–March 2017.

## Background

CyanogenMod (often abbreviated "CM") was a popular open-source operating system for smartphones and tablet computers, based on the Android mobile platform. Although only a subset of total CyanogenMod users elected to report their use of the firmware, as of 23 March 2015, some reports indicated over 50 million people running CyanogenMod on their phones. It was also frequently used as a starting point by developers of other ROMs.[citation needed]
In 2013, the founder, Steve Kondik, obtained venture funding under the name Cyanogen Inc. to allow commercialization of the project. In his view, the company did not capitalize on the project's success and in 2016 he either left or was forced out as part of a corporate restructure which involved a change of CEO, closure of offices and projects, and cessation of services. The code itself, being both open source and popular, was quickly forked under the new name LineageOS and efforts began to resume development as a community project.
CyanogenMod offered a number of features and options not available in the official firmware distributed by most mobile device vendors. Features supported by CyanogenMod included native theme support, FLAC audio codec support, a large Access Point Name list, Privacy Guard (per-application permission management application), support for tethering over common interfaces, CPU overclocking and other performance enhancements, root access, soft buttons and other "tablet tweaks," toggles in the notification pull-down (such as Wi-Fi, Bluetooth and satellite navigation), and other interface enhancements. Many of the features from CyanogenMod were later integrated into the official Android code base. Its developers said that CyanogenMod did not contain spyware or bloatware. CyanogenMod was also said to perform better and be more reliable than official firmware releases.

## Community

LineageOS allows the community to get involved with the development in various ways. Gerrit is used for the code review process of both the operating system and the infrastructure.
The wiki, containing information regarding installation, support, and development of LineageOS, is also open to contributions through Gerrit. Other Lineage platforms include Crowdin for managing translations, Gitlab Issues for bug tracking, and a stats page, which displays the number of active installations from users which opt-in to report this statistic. There is also an official subreddit, r/lineageos, and two IRC channels hosted on Libera Chat (#lineageos and #lineageos-dev).
During August 2017 the LineageOS team held a Summer Survey in which they asked users for feedback to improve the development of the operating system. The results were published in October and, according to the team, they used the gathered data to improve the upcoming LineageOS 15 release. The second Summer Survey was conducted in August 2018.
As a response to one of the main suggestions received during their first public survey, LineageOS launched a section on their blog titled "LineageOS Engineering Blog" where Lineage maintainers and developers can contribute articles discussing advanced technical information pertaining to Android development.
LineageOS is also known for posting a "regularly irregular review" on its blog in which the active development of the work is discussed.

## Preinstalled apps

LineageOS includes many essential and useful apps, but like its predecessor, CyanogenMod, it is free from unnecessary software often pre-installed by a phone's manufacturer or carrier that is considered to be bloatware.
Current
* AudioFX – Audio optimizer with presets to alter the listening experience.
* Browser – A lightweight browser that relies on the System Webview, for low-end devices, also known as Jelly.
* Calculator – which resembles a four-function calculator and offers some more advanced functions.
* Calendar – Calendar functionality with Day, Week, Month, Year or Agenda views.
* Camera – Dependent on device specification will take video or photos, including panoramic. It can also be used to read QR codes. This app is also known as Snap.
* Clock – World clock, countdown timer, stopwatch and alarms.
* Contacts – Phonebook for numbers and email addresses.
* Email – Email client that handles POP3, IMAP and Exchange.
* Files – A simple file manager to move, copy and rename files on internal storage or SD card.
* FlipFlap – An app for smart flip covers, only included on select devices.
* FM Radio - An app for listening to FM radio broadcasts, included on devices with an FM tuner.
* Gallery – Organize photos and videos into a timeline or albums for easy viewing.
* Messaging – SMS messaging.
* Music – A simple music player, also known as Eleven.
* Phone – for making calls: includes speed dial, phone number lookups and call blocking.
* Recorder – A screen and/or sound recorder.
* Trebuchet – A customizable launcher.
* Terminal - A simple and standard terminal app.
Former
* Gello - A browser based on Chromium and developed by CyanogenMod. This app is now replaced by Jelly.
* Yahoo Weather Provider- A weather provider.
* cLock - A weather widget.
* WeatherUnderground Weather Provider- A weather provider.
* Themes - Originally an app by itself, now integrated into the settings app.
Although they are not included in LineageOS as such due to legal issues, users can flash the normal Google apps, including the Google Play Store and Play Apps, with a Zip package, usually referred to as gapps, while installing LineageOS.

## Unique features

LineageOS offers several features that Android Open Source Project (AOSP) does not include. Some of these features are:

#### Customization features

* Button customization – Set custom location for buttons on the navigation bar, or enable on-screen buttons for devices with hardware buttons.
* Custom Quick-Setting tiles – Quick Setting Tiles such as "Caffeine" preventing the device from sleeping, enabling/disabling Heads Up notifications, "Ambient Display" and "ADB over network" are present to easily toggle frequently accessed settings.
* Expanded Desktop – Force "immersive mode" in apps that do not enable it initially.
* LiveDisplay – Adjust color temperature for the time of day.
* Lock screen customization – The lock screen allows all sorts of customizations, including media cover art, a music visualizer, and double-tap to sleep.
* Styles – Set a global dark or light theme mode and customize accent colors. This functionality can also be managed automatically by the system based on wallpaper or time of day (in line with LiveDisplay).
* System Profiles – Enable or disable common settings based on the selected profile (For example, a "Home" profile and a "Work" profile). The profile can be selected either manually or through the use of a "trigger", such as upon connecting to a specific WiFi access point, connecting to a Bluetooth device, or tapping an NFC tag.

#### Developers & power user features

* Lineage platform SDK – a set of APIs for app developers to integrate their apps with LineageOS specific features such as System Profiles, Styles and Weather.
* (Optional) Root – Permit apps to function with root access to perform advanced tasks. This requires flashing from Recovery either LineageOS's root add-on or a third-party implementation such as Magisk.
* Telephone call recorder, not available in all countries, due to legal restrictions.
* Weather providers – Display the weather in widgets or apps using a weather provider. This functionality is not included by default; a weather provider must be downloaded from the LineageOS Downloads website. App developers can create both providers and consumers of weather data.

## Trust interface

As LineageOS evolved through development, the Trust interface was introduced for all the LineageOS 15.1 builds released since 12 June 2018. The interface can be found on supported devices under Security and Privacy tab under the Settings option, and enables the user to "get an overview of the status of core security features and explanations on how to act to make sure the device is secure and the data is private".
Additionally, while carrying out any action on the device, the trust icon is displayed, notifying the user that the action is safe.

## Supported devices

The number of devices supported by LineageOS increases with time, being 105 for v15.1 and v16 as of August 25, 2019 . Official builds on currently supported development branches are labeled as either "nightly", "weekly", or "monthly". For the first two months of the project, parallel experimental builds were also produced, allowing in-place upgrades from previous CyanogenMod installations and easing migration to LineageOS.

## Forks

Replicant is a completely free software variant of LineageOS, with all kernel blobs and non-free drivers removed.
As a response to the refusal for several reasons of support for signature spoofing in official builds, a LineageOS fork with microG services included, known as "LineageOS for microG", was created. The project ships custom builds of LineageOS with the required patch and native F-Droid support, bundled with the MicroG project's free re-implementation of proprietary Gapps. In other respects it follows upstream, shipping OTA updates every seven days.
/e/ is a fork of LineageOS created by Gaël Duval that is intended to be "free from Google". It replaces Google Play Services with MicroG, a free and open-source implementation of Google APIs.