Android
A mobile operating system
Details
The Android project is large with multiple elements. There’s a core “Android Open Source Project” (AOSP) which provides many modules which can be used to build an operating system. Many of these parts are provided under the Apache 2 license where possible, or the GPLv2 license for kernel code since this is based upon Linux which itself is provided under the GPLv2.
While “AOSP” is provided under FOSS licensing, the actual common use & distribution of “Android” is not typically provided under FOSS terms.
The project is maintained and controlled by Google.
The “Android” name itself is strongly controlled by Google, and can’t be used without permission and without resulting software meeting a large set of non-FOSS requirements.
Most devices are distributed with Google Mobile Services (GMS), a set of Google’s own applications such as chrome and the Play Store, which many end users would rely upon and consider to be part of Android. GMS applications are not FOSS, and require Google approval for use & distribution. GMS applications have been found to be a tool of monopolisation and anti-trust, since Google has gone to lengths to ensure these applications are exclusively provided on devices, preventing potential competition.
Most end-user “Android” devices also make heavy use of Google Play Services, a non-FOSS set of APIs which are intended to be used by applications on the Android platform. The use & distribution of Google Play Services is controlled by Google. Many apps have become reliant upon Google Play Services APIs, resulting in them being incompatible with non-Google-approved variations of Android which do not provide the same APIs, thus further locking down the Android ecosystem. There are some projects which attempt FOSS re-implementation of such APIs, such as MicroG.
Over time Google has appeared to be limiting the scope of AOSP, and instead moving parts out to their non-FOSS proprietary services.
Google have primary control of application distribution on the Android platform through the Play store, the most popular means of distribution, which is part of GMS as mentioned above and therefore not FOSS. Other methods of installation are allowed, and some FOSS alternative distribution channels/platforms exist, like F-droid for example, but Google have shown their intent to further limit & control via developer verification where applications would need to be signed by developers who have been verified by Google (to Google’s requirements and terms) for any simple end-user means of install for any “certified” Android devices (which account for the vast majority used by end-users), with the only alternative means of application install for these devices being via developer debugging methods.
There have been some popular uses of AOSP outside of Google’s control, like Amazon Kindle Fire devices, and there’s a large community of FOSS distributions like Graphene and Lineage.
On the main Android website, the vast majority of the applications, features and devices being advertised are not FOSS. On one page they have stated “facts” which could potentially be misleading in regard to FOSS principles, especially as they generally refer to “Android” instead of directly referencing the AOSP when talking about open source:
By being an open-source platform, Android’s source code is available for anyone to view, download, modify, enhance, and redistribute without requiring any sort of fees, royalties, or other costs. […]
Each new update to the Android operating system is a free of charge, fully-functional, open-source mobile operating system that manufacturers can use to build devices.
Found mistakes or outdated information? Let us know by opening an issue on Codeberg.