- "Linux" is bad because Android is Linux.
- "GNU/Linux" doesn't quite work because 1. ChromeOS is GNU/Linux and 2. Alpine isn't.
- "mainline Linux" is a thing we want, but still separate - I'd take Droidian with a hacked-up vendor kernel over a Pixel running an official Android image on mainline Linux any day.
The best I've been able to come up with is something like "user-controlled Linux" or "community OS" or even just "not Android", but I'd really prefer a better term.
https://developer.android.com/ndk/guides/stable_apis
Applications deployed via Play Store might crash and burn by ignoring this fact, which is a reason why termux nowadays must be sideloaded.
If you are being precise, Android is not Linux (and neither is Debian for that matter). It is an operating system that uses the Linux kernel.
> The best I've been able to come up with is something like "user-controlled Linux" or "community OS" or even just "not Android", but I'd really prefer a better term.
Here is my proposal, we continue to call operating systems like those "Linux" and call operating systems like Android and ChromeOS "Operating systems that use the Linux kernel".
No reason to give the common and useful definition an awkward name like "Community OS" just to allow the abberant cases to continue to reside within the "Linux" definition.
>They are much more blackbox and user hostile than even laptops and desktops today.
They are much more user friendly than most Linux distros for desktop/pc. Most users and developers will never understand how their phone's OS works and that is okay. Abstractions are a very powerful concept in software engineering.
If you think there are user hostile features in Android, it will be much easier to make an Android fork that removes them instead of trying to recreate a whole entire mobile OS and software stack.
A computer is a computer is a computer. If there weren't artificially constructed restrictions (and boy do they work hard to create these restrictions: millions of lines of code, developing encryption algorithms, etc) anything could run on anything (if the hardware exists, and in this light phones and laptops have all the required hardware).
Because the OS typically has device specific drivers that are not included in the OS for another phone.
>Even something as basic as a root shell is hard/impossible to have on so many models
What it may seem basic to you is poor design and poor security. The android way is for the OS to expose APIs that to apps to do privileged operations. There is also typically a permission required to use such an API. There shouldn't be a need for the user to use a root shell.
>Why phone model and os are so tightly tied together?
Because the OS is one of the distinguishing features of a phone. It's one of the ways Android phones compete against each other.
If I don't have root shell then I don't own the device. Simply. Its a useless brick and toy.
As I said, its not Android the piece of software rather the manufacturers who hate users. They don't provide drivers generically either as blobs or sources. Why is it again, when you have two computers and you can generally install and update anything on one and can't do shit on the other? Not providing drivers is one thing, that falls under passive acts, another thing is active malice where even rooting or providing you the bootloader is often cryptographically locked down.
Purism does this, though not to a specific device. For the products they sell they have their own custom fork of Debian.
>if people can upgrade and install any software they want, that reduces incentive for them to buy a new phone every 3 years
You are going to be limited by the support of the BSP even if you can install any software you want. You will end up stuck on old software which may not be properly maintained especially if the OEM has moved on to supporting newer products.
>If phones were like laptops or desktops, you'd just install the Android 13 on your phone when Android 12 was outdated etc.
Google has been making efforts to make it easier to upgrades parts of Android without involving the OEM. Later versions of Android may not me compatible with older hardware as minimum specs change and architectures are dropped. For phones with unlocked bootloaders you can flash Android 13 on your phone if someone creates a compatible version of it.
>If I don't have root shell then I don't own the device. Simply. Its a useless brick and toy.
UNIX is not the only way operating systems can be designed. Considering everything that isn't UNIX as being useless is an ignorant mindset.
>As I said, its not Android the piece of software rather the manufacturers who hate users
Then what's the point of this argument if you agree AOSP is a fine way to have an OS with Linux on a phone.
>They don't provide drivers generically either as blobs or sources.
This same issue would exist if you wanted to use Linux with a different userspace.
>Why is it again, when you have two computers and you can generally install and update anything on one and can't do shit on the other?
I don't understand what you are getting at.
>is active malice where even rooting or providing you the bootloader is often cryptographically locked down.
The bootloader being locked down isn't malicious considering it lets the system prove that malware hasn't compromised the boot process. In computing if malware is running first there isn't much the system can do the detect it's existence. It will have the upper hand in the cat and mouse game. If a normal person buys a ACME brand phone, but a malicious actor unlocked the bootloader and installed malware into the OS, that user will never realize they were pwned until they encounter software that is a step ahead in the cat and mouse game and the malware isn't able to hide its existence. A user having root is also problematic because it compromises Androids security model. If a banking app saves an access taken to your phone it is relying on the security of Android that no one is able to steal this taken. If the a user is able to get root they could bypass this and steal the token and commit fraud.
People are able to use asymmetric key encryption on non-locked down devices alright, so thats total bs. The exact mechanism and os design does not matter the end question is do you control your phone? Can you wipe it and install software of your choice? And since Android is based on a linux kernel, root access is one aspect of having the "master key" to your phone. Its not enough, the full step is not only a root shell but having enough information available to reinstall anything you want on it.
>You are going to be limited by the support of the BSP even if you can install any software you want. You will end up stuck on old software which may not be properly maintained especially if the OEM has moved on to supporting newer products.
If I am able to install current Debian on a laptop it does not matter if its a 20 year old laptop, I have the newest apps from the repositories and I can build/obtain via other repos newer versions if I want. Its not the OEMs responsibility its the software and distro community's responsibility under the sane system where users control their machine. And being able to install a current OS on that hardware is a matter of having the drivers available either by someone reverse engineering it in case of hostile/dead manufacturer or the manufacturer making it available in a form Linux kernel devs can mainline it or otherwise make it work with their distro for the phone.
>>As I said, its not Android the piece of software rather the manufacturers who hate users
>Then what's the point of this argument if you agree AOSP is a fine way to have an OS with Linux on a phone.
Again I repeat the reason why people want Linux on the phone is so they can own and control the phone. So it does not matter if their choice is Debian or AOSP or anything else, and the practical reality is that this need is 99% unfulfifled in current market.
>I don't understand what you are getting at.
Manufacturers at this stage haven't yet been able to strangle general laptops and desktops to the stage of mobile phones yet. So people are still thankfully able to wipe and reflash them, install and upgrade oses as they wish etc.
It's actually the opposite - it lets the system prove that the unwanted spyware by Google has compromised it.
> If a normal person buys a ACME brand phone, but a malicious actor unlocked the bootloader and installed malware into the OS, that user will never realize they were pwned until they encounter software that is a step ahead in the cat and mouse game and the malware isn't able to hide its existence.
Well this just shows how far has Google gone with its bundled spyware. People use unlocked devices because even being less secure is better than not being in control and having spyware installed on your phone...
> A user having root is also problematic because it compromises Androids security model. > If a banking app saves an access taken to your phone it is relying on the security of Android that no one is able to steal this taken. If the a user is able to get root they could bypass this and steal the token and commit fraud.
Oh what a beautiful example. Since my bank allows me to use the website and me being able to see all their cookies is not a problem for me, I think this example is kinda impractical.
But worry not - I have a different example:
If an adware vendor called Google bundles its spyware into your phone they rely on the security of Android that the user is not able to uninstall this crap. If the a user is able to get root they could uninstall this and then Google would be unhappy.
An os is just a piece of software. There is nothing magical about general oses running on general purpose computers where an OS specifically magically depends on one model of computer. Desktop and server linux distros also compete among each other, I never heard a thing like Debian 12 being tied to one specific model of laptop etc
Because lets be honest, if people can upgrade and install any software they want, that reduces incentive for them to buy a new phone every 3 years. And thats the real reason, the crux of the matter. Well obviously not just profit, the power and control over peoples computers also counts for much more than mere profit.
iOS is more “user friendly” than android but it’s absolutely hostile to anyone who wants control of their phone. Android is the same with only slight improvements.
When people use the word Linux they have a specific definition in mind which may or may not match the definition you have in mind. Some (you included I assume) think that the definition should include Android and some (like myself) think that it shouldn't include Android.
People will continue to use the definition they find to be the most useful, and the less useful definitions will eventually become niche. For me, defining Android (or ChromeOS) as Linux is not useful since it does not live up to any of the properties that make Linux useful to me. For me, calling Android "Linux" is like calling a table a stool. It may technically be appropriate (I can technically sit on it, it has no back support, etc.) but not useful (for example, it would be awkward to place a table in front of a dining table for use as a stool).
For another such example you can look at how the game genre Roguelike transformed from meaning "Similar to the game Rogue" to "Having procedural content generation" and how RPG means "You can level up" (though it feels like in recent years the term is starting to morph into "Has a story we think is worth following").
Mainline Linux has a very specific meaning. It refers to Linus Torvald's repository of the Linux kernel. Android using mainline Linux on a mobile phone is in scope for the talk.