iOS isn't Linux, and Android isn't GNU/Linux either regardless how much people keep patting themselves on the back for having the Linux kernel.
Android userspace is Java and Kotlin based, and the NDK officially only allows for Android specific APIs, C and C++ standard library as per ISO, and that is about it.
Nothing else from Linux kernel is considered part of Android's public API.
Google could move to Fucshia on a whim and only OEMs, and people that root their devices would notice, Java/Kotlin apps would work as usual without recompilation from source, while NDK code would suffice a recompile.
> Nothing else from Linux kernel is considered part of Android's public API.
Just a bunch of syscalls for apps, that yes, could be reimplemented (the number of re-implementations in the wild actually says how much Linux is becoming a lingua franca of OSes) or virtualized; the whole security model (users/selinux/seccomp) and the toolset.
A POSIX replacement for CLI and daemons, without any support for other kinds of workloads.
And for what, on cloud deployments, what matters are language runtimes and type 1 hypervisors, while GL and Vulkan are completely unrelated to Linux kernel.
Android uses the Linux kernel, which is anyway invisible to app developers, that is about it.
My Sony blue ray player and LG smarttv also run the Linux kernel, so what, doesn't change anything for the movies I watch on them, and I doubt they have contributed anything to upstream
It isn’t a Pyrrhic victory, the open source community isn’t harmed if Sony takes the code and doesn’t contribute back. Is it selfish of Sony? Sure. But it doesn’t harm the project, it just fails to help.
The open source community is in the end just a bunch of developers who share their solutions to help each other out. If other parties copy their stiff, it doesn’t make the open source community’s problems un-solved.
The year of Linux on the desktop would be a total nightmare, can you imagine a bunch of non-technical bug reports and feature requests hitting all these mostly volunteer projects? What a mess.
This seems like a total non-sequitur, unless there’s a link I don’t see?
The people try really hard to get working the systems they are interested in, and then share their results. I mean there are various wikis out there with big lists of printers and wifi dongles (thankfully less of a thing nowadays) that are listed in states of:
* I actually could try this on my side and it works
* This brand usually has drivers, good luck!
* Totally unusable.
Imagine if a company with a customer service relationship, like Microsoft, went around dropping support for reasonably recent hardware! It would be seen as a sure sign that they’d betrayed their customers and dropped all pretense of competence. But the expectations for a community project are happily different.
I have no idea what victory you are talking about. Linux dominates roughly everything, except desktop. You can go argue about your own things somewhere else.
It is not a phyrric victory for Linux itself, since this is exactly the one victory they wanted to achieve, evidenced by e.g. the reluctance to accept GPLv3.
This is not entirely true; as I argue on another thread, ChromeOS is much closer to desktop Linux than Android is. Anyway, this is orthogonal to the above point.
So. A Minecraft is an OS? It runs userspace stuff (mods).
What you are missing is that Linux on Android doesn't do what a normal OS is supposed to do:
- multiplex hardware resources
- abstract hardware
- protect software running on it from each other
Last time Android tried to control user resources it led to a gross vulnerability, because it wasn't aware another piece of software was actually managing it.
It's essentially locked in the attic of Android, while everyone else is roleplaying that Linux is still the operating system.
If you want to be this pedantic then GNU/Linux also isn't an OS. Debian is an OS, Arch is an OS. NixOS is an OS. Such statement muddy the water to the point of no longer matching at all what people mean. Because when people talk they don't use the 100% correct technical term.
So what's your point? When people say linux. You take it to mean GNU/Linux. And that honestly comes out of nowhere. At my work we use a ton of embedded devices that don't use GNU but instead use things like busybox. Everyone refers to them as Linux systems.
Android is Linux system in every single way. It's not however a GNU/Linux system. But the comment you originally replied didn't claim that.
You'd have a better argument saying Google Container Engine isn't Linux.
(Because it ain't; the "kernel" of a container running on Google Cloud is a userspace application called gVisor. It's just compatible with Linux syscalls. gVisor happens to run on Linux currently, but I don't see why they couldn't port it, you pretty much just need a KVM- or ptrace-like API, and Go platform support.)
Android userspace is Java and Kotlin based, and the NDK officially only allows for Android specific APIs, C and C++ standard library as per ISO, and that is about it.
Nothing else from Linux kernel is considered part of Android's public API.
Google could move to Fucshia on a whim and only OEMs, and people that root their devices would notice, Java/Kotlin apps would work as usual without recompilation from source, while NDK code would suffice a recompile.