LineageOS
LineageOS is an operating system for smartphones, tablet computers, and set-top boxes, based on Android with mostly free and open-source software. 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 both GitHub and GitLab. As with all versions of Android, operating system releases are specific to a single device model. Since its launch, LineageOS development builds are available for 109 phone models with over 2.8 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.

In 2013, the founder, Stefanie Kondik, obtained venture funding under the name Cyanogen Inc. to allow commercialization of the project. In her view, the company did not capitalize on the project's success and in 2016 she 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, 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 and performance enhancements. Many of the features from CyanogenMod were later integrated into the official Android code base. CyanogenMod's developers said that it did not contain spyware or bloatware. CyanogenMod was also said to perform better and be more reliable than official firmware releases.

Development 

Like CyanogenMod, the LineageOS project is developed by many device-specific maintainers and uses Gerrit for its code review process. It also retained the old versioning format (for example, Android 7.1 is LineageOS 14.1).

Prior to the official launch of LineageOS, many developers from XDA had already developed unofficial versions of LineageOS from the source code.

 On 22 January 2017, the first 14.1 and 13.0 official builds started to be made available, following the official announcement in a blog post.
 On 11 February 2018, the 13.0 builds were stopped, while the source code remains available and security fixes are still accepted on Gerrit.
 On 26 February 2018, the first 15.1 official builds started to be available on certain devices, following official announcement in a blog post. The 14.1 versions of Lineage OS were to remain in active development, but without feature advancements.
 On 24 February 2019, the 14.1 builds were stopped and 15.1 builds moved to a weekly cadence
 On 1 March 2019, the first 16.0 official builds started to be available, following official announcement. The 15.1 branch remained in active development, but without feature advancements.
 On 28 February 2020, the 15.1 builds were stopped in preparation for the 17.1 release.
 On 1 April 2020, the first 17.1 builds were made available, following official announcement. The 16.0 builds are moved to a weekly cadence while the branch remains in active development, but without feature advancements.
On 1 April 2021, the first 18.1 builds were made available, following official announcement. The 17.1 branch remains in active development, but without feature advancements.

All the released builds are signed with LineageOS' private keys.

Builds were released on a weekly basis until 12 November 2018, when the release cycle for devices has changed: the latest LineageOS branch is built daily, with devices receiving a "nightly" OTA update, while devices on the older branch were moved to a weekly release cycle.

Community 

LineageOS allows the community to get involved with development in various ways. Gerrit is used for the code review process for 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 who opt in to report this statistic. There is also an IRC channel hosted on Libera.chat (#lineageos) and subreddit (r/lineageos).

The XDA Developers forums have been used by members of the Lineage community since the software's inception. Many devices are left unsupported by official releases so community members develop their own unofficial ROMs allowing older phones to use Lineage. These unofficial releases are often bundled with software intended to aid the user's experience that would otherwise be unseen in an official release. They also come with known bugs and security issues that may not be seen in official releases.

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. A 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.

Version history

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 – Resembles a four-function calculator and offers some more advanced functions.
 Calendar – Calendar functionality with Day, Week, Month, Year or Agenda views. A modified version of Etar starting with version 17.1.
 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 (removed in version 18.1).
 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 – An MMS/SMS messaging app.
 Music – A simple music player, also known as Eleven.
 Phone – Includes speed dial, phone number lookups and call blocking.
 Recorder – A sound recorder. In versions prior to 18.1 it could also record the screen.
 Terminal – A simple and standard terminal app. Hidden unless enabled in the developer settings.
 Trebuchet – A customizable launcher.

Former

 CLock – A weather widget.
 Gello – A browser based on Chromium and developed by CyanogenMod. This app is now replaced by Jelly. 
 Yahoo Weather Provider – A weather provider.
 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 Lineage OS. A side effect of using LineageOS and other custom roms is the impact on SafetyNet API. App developers can choose to enable a toggle in the app developer console to hide their app on the Play Store if a device doesn't pass SafetyNet tests, or can choose to check the SafetyNet status of a device to disable certain functionality. Notable examples would be Netflix, which is hidden on the Play Store, and Android Pay, which checks SafetyNet each time the app is used. Devices running Lineage may have a smaller selection of usable apps in the Play Store as a result of these checks.

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.
 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.
 Custom pattern sizes – In addition to Android's 3x3 pattern size, a 4x4, 5x5 or 6x6 size can be used.

Security & privacy features 

 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. This feature was removed in the 17.1 branch in favor of an equivalent "permission controller" based on a hidden AOSP feature.
 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. The phone application also includes a list of helpline numbers for the users to be able to easily reach them.
 Trust - helps to keep the device secure and protects privacy.

Developers & power user features 

 LineageSDK – a set of APIs for app developers to integrate their apps with LineageOS specific features such as System Profiles, Styles and Weather.
Lineage Recovery - an AOSP-based recovery.
 (Optional) Root – Permit apps to function with root access to perform advanced tasks. This requires flashing from Recovery either LineageOS's root add-on (supported until version 16.0) or a third-party implementation such as Magisk or SuperSU.
 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 has increased over time, with 157 for 17.1 and 18.1 . Official builds on currently supported development branches are labeled as "nightly". 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.

Criticism and reception

2018 April Fools' prank 

LineageOS was criticized for a deceptive April Fool's prank included with some April 2018 builds.

During the first week of April 2018 LineageOS released new builds with the "LOSGenuine" prank that informed unaware users of the software possibly being counterfeit via a persistent notification (which could not be disabled unless the user ran the following command in a root shell):

setprop persist.lineage.nofool true 

When the notification was tapped, the software claimed that the device was "uncertified" and needed to mine "LOSCoins", which were a virtual currency and could not actually be spent. Affected builds also had a preinstalled "Wallet" app that showed the current balance of LOSCoins.

Many users mistook the prank for actual malware, and others reportedly found it to be in "poor taste". It was especially criticized for being too "late" for an April Fool's joke, since many users didn't receive the update until days later, making the jest less obvious. On 10 April 2018, LineageOS team director ciwrl issued an official apology for the deceptive prank.

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 fourteen 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.

See also 

 Android rooting
 Comparison of mobile operating systems
 List of custom Android distributions
 postmarketOS
 List of free and open-source Android applications

References

External links 

 

2016 software
Android forks
Custom Android firmware
CyanogenMod
Embedded Linux distributions
Free mobile software
Linux distributions
Linux distributions without systemd
Software forks