Draft:Difference between Mainline and Downstream

In Computing, especially Linux, Android or AOSP mobile devices, AOSP or Android runs on a Linux kernel basis.

Manufacturers or phones, tablets or others android-based electronics devices, such as Samsung, Huawei, Lenovo, Xiaomi, Oneplus, Oppo, etc, gathers Android from AOSP project..[1]. Then they add both Google applications and tools, plus them, as manufacturer, additional software and applications[2]. This final result is called the Stock image, as a package of the basis system, plus manufacturer and Google's software layer in addition[3]

In this functioning, Google's role is limited to provide the software, not to adapt it to devices. That's the role of manufacturers. But some of them doesn't follow the newer updates of Linux kernel[4]. This last one is the core of Android and AOSP. But only the manufacturer can update it, and mostly after few years, manufacturers stops supporting to update old devices[5]

Thus, the sold Android or AOSP system on devices, each year, is called downstream : it's the Linux kernel and the AOSP/Android system, provided by manufacturer's work, instead of directly Google or Linux's kernel project.

The one from Linux project or AOSP/Android is updated regularly, each year. It's the difference between downstream : where the Android/AOSP and it's Linux kernel depends of the manufacturer and is lately updated, if it is. And with mainline, where the Linux kernel and AOSP/Android are directly grab from Google's Android/AOSP Project or the Linux Kernel project, updated very regularly, and fixed in bugs and cyberattacks.[6]

References

edit
  1. ^ "Mainlining - postmarketOS". wiki.postmarketos.org. Retrieved 2024-05-17.
  2. ^ "Mainline_Linux_on_recent_Qualcomm_SoCs_Fairphone_4.pdf" (PDF).
  3. ^ "msr24_linux.pdf" (PDF).
  4. ^ "Mainline Linux on Fairphone? Yes, please! Capitole du Libre 2023". cfp.capitoledulibre.org (in French). 19 November 2023. Retrieved 2024-05-17.
  5. ^ "FOSDEM24_-_Mainline_Linux_on_Qualcomm_SoCs_are_cW72KOo.pdf" (PDF).
  6. ^ "Noyaux communs Android". Android Open Source Project. Retrieved 2024-05-17.