Seriously? If I build my Gentoo differently it won't be Linux, because I used a different userland? Take a look at the link, there is the store running native.
> Seriously? If I build my Gentoo differently it won't be Linux, because I used a different userland?
You're misunderstanding. It's not criticism, but a statement of facts that the only thing Android has in common with most desktop Linux-distros is the kernel. Apart from that they share literally nothing.
Tweaking your Gentoo installation still makes is a Gentoo-installation, and thus a normal GNU/Linux environment.
But if you change the init-system, remove all userspace tools, lock it down so users can't have root, ditch X for something else and only run apps designed for your non-X graphical environment, with each user-facing app running as their own Linux user-account...
Would you call that a "normal" Linux desktop? Probably not. And that's the point. Android isn't conventional Linux. (Which is probably why it's so successful, but that's flamebait for another discussion)
It is also sold off the shelf in big stores where Joe Averages congregate. Get a desktop distro preinstalled on hardware with all the drivers in place and working, and lets see how well it does over the long term (5+ years).
If you replace glibc, coreutils, bash, Xorg, and just about any other part that you as either a developer or user interact with, then no, it's not recognizably linux, any more than the BSDs are Linux. In fact, as far as I know, the BSDs will be easier to port to, because Bionic libc is really a stub, with lots of Posix bits left out.
>>If you replace glibc, coreutils, bash, Xorg, and just about any other part that you as either a developer or user interact with, then no, it's not recognizably linux, any more than the BSDs are Linux
I had to add a driver for a USB device and it was Linux to me. I could not have done the same for BSD (never used it) or Windows using code from Kernel.org . I have personally used an Android kernel to boot one of those arm `mini-netbooks` into xfce.
Indeed you would find that glibc has iterated through different ABIs but we don't call these different operating systems, and we can fix them by simply installing the appropriate binaries.
If I go and get a book on "Linux Programming", it'll tell me a whole lot about file descriptors, mmap, signals, forking processes, threading and so on. Pretty much none of that is available to someone writing applications for Android.
There is hardly anything from a traditional GNU/Linux on Android.
You have a 100% Java based userland, and only a very limited set of C and C++ libraries available to native applications. There isn't even a full POSIX support.
Google could change Linux kernel with e.g. QNX, and hardly anyone would notice.
No, it really isn't. One of the stated goals of the GNU project is to develop an entirely free (as in libre) operating system. Calling Linux "GNU/Linux" allows them to say they've completed that goal, despite little details like their continual failure to deliver a finished Hurd kernel. Linux's userland isn't even primarily GNU software, and I think GNU may not even be the single-largest contributor to the core userland anymore.
AIUI the primary reason why the HURD kernel is not finished is that when GNU/Linux became generally usable, it was de-prioritized and essentially turned into a research project.