
Android isn't based on Linux. It's based on DangerOS - vishnuharidas
https://www.quora.com/Why-is-Android-based-on-Linux/answer/Marty-Fouts-2?share=1
======
yjftsjthsd-h
It kinda depends on how you mean "based on"; the general design on Android may
be based on DangerOS (or, it sounds like, any of the Java-based embedded
appliances that were so popular back then), rather than GNU/Linux (because in
this sense, it _couldn 't_ be based on "Linux"), but in the sense of
implementation Android/Linux is absolutely based on a Linux kernel and even a
quasi-unixy base userland before you get up to the not-really-a-JVM
application layer.

~~~
mmastrac
Yeah, this is answer is kinda overly focused on semantics. Linux syscalls are
_officially_ part of the Android API layer, so much that the Fuschia team has
to add compatibility for them.

~~~
dafoex
I would disagree, I think this answer is not focussed enough on the semantics.

For better or for worse, the "Linux" name has become synonymous with the whole
OS and not just the kernel, and the person answering seems to take the
assumption that this is what the person asking the question believes. While
its interesting to know there's heritage from DangerOS in Android, the answer
could have quite easily just been the last bit: "because the Android founders
didn't want to spend time writing a new kernel from the ground up".

As a tangent, why do people say "GNU/Linux" anyway? We don't say "Windows/NT"
or "macOS/Unix", and I think saying "GNU" when we mean GNU and "Linux" when we
mean Linux would solve a lot of the problems with translation of assumptions
when novices and experts interact.

~~~
kleiba
[https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy](https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy)

------
sxp
The easiest way to settle this argument is to just run ARM Linux apps on
Android via Termux + Proot: [https://github.com/adi1090x/termux-
desktop](https://github.com/adi1090x/termux-desktop)

While one can quibble over whether Android "is" Linux, it's inaccurate to say
that it "isn’t based on Linux" given how close their underlying systems are.

~~~
rbanffy
You could run Android apps on Blackberry's ill-fated Blackberry 10 OS. A lot
of the apps in the BB app store were repackaged Android applications (while
developing BB10-native was easy, in terms of market it was a no-brainer to do
an Android version and repackage it for the BB10). QNX was (and is) a rock-
solid OS.

------
danans
The integration with Linux goes even beyond system calls as others have noted.
The entire app sandbox is based on Linux UIDs:

"The Android platform takes advantage of the Linux user-based protection to
identify and isolate app resources. This isolates apps from each other and
protects apps and the system from malicious apps. To do this, Android assigns
a unique user ID (UID) to each Android application and runs it in its own
process."

So each app sandbox on Android maps to the traditional "user" accounts on
Linux/Unix systems.

[https://source.android.com/security/app-
sandbox](https://source.android.com/security/app-sandbox)

------
lmilcin
While you can discuss what is proper definition of "based" it is definitely
incorrect to say that Android _is not_ based on Linux for it uses Linux kernel
which is the most important part of the Operating System.

If we were so nitpicky we would have to say there is in fact no Linux, as most
"Linux" distributions are GNU OS.

As nobody will question that Debian or Red Hat are Linux distributions there
is no grounds to proclaim that Android isn't one.

~~~
yjftsjthsd-h
Yeah, especially as the Linux fork that Android uses converges back to
mainline, Android/Linux is just another system sitting next to GNU/Linux
distros and the odd outlier like Alpine/Linux (busybox/Linux? musl/Linux?).

------
ogre_codes
This is such a weird comment.

Android isn't based on Linux, it just runs on top of it.

This feels like serious hair-splitting here. It definitely treads the fine
line of "What is an OS".

It's worth mentioning that the author of the Quora answer is a retired member
of the NetBSD foundation which may play into his perception of the situation.

~~~
joezydeco
I worked for an OHA company in 2007. The earliest architecture diagrams showed
Linux as a HAL and that’s all. This wasn’t some big secret.

------
simonebrunozzi
> DangerOS, which was a custom Java virtual machine living above a custom
> Danger written RTOS

RTOS means Real Time Operating System. The same Quora author explains what
DangerOS was a bit better in another Quora answer [0]:

It was originally a very customized Java Virtual Machine (JVM) that ran on top
of a scratch built RTOS kernel and provided support for Danger’s user
interface and programming libraries.

Still unclear to me if this is true, and what the implications are. I see no
mention of DangerOS elsewhere.

[0]: [https://www.quora.com/What-is-RTOS-and-why-have-no-one-
menti...](https://www.quora.com/What-is-RTOS-and-why-have-no-one-mentioned-
DangerOS-before)

~~~
hota_mazi
Yeah, DangerOS doesn't exist. This person's answer is nonsense, not sure why
it's being highlighted here.

The other answers are equally absurd.

~~~
dchest
[https://en.wikipedia.org/wiki/Danger_Hiptop#Software](https://en.wikipedia.org/wiki/Danger_Hiptop#Software)

What operating system and Java Virtual Machine (JVM) are you using? Danger has
written its own operating system and JVM for the hiptop. The Operating system
has preemptive multitasking and a soft real-time scheduler, and it has been
tuned specifically for running our JVM. All end-user applications are written
in Java, as is the overwhelming majority of the high-level operating system.
Arguably, Danger has the premiere "Java Operating System" on the market today.

[https://web.archive.org/web/20100405231610/http://developer....](https://web.archive.org/web/20100405231610/http://developer.danger.com/site/faq#q3)

------
zdw
Android is really a mishmash of parts - a large chunk of the functionality in
it's "Bionic" libc is pulled from OpenBSD's libc:
[https://en.wikipedia.org/wiki/Bionic_%28software%29#Componen...](https://en.wikipedia.org/wiki/Bionic_%28software%29#Components)

------
rbanffy
That implies Android is not an OS, but an API and a set of services running on
top of a Linux-based OS that's embedded on each and every Android device ever
sold.

That's what Windows was, from 1 to 3.11.

------
beatrobot
I remember the SDK did not support all of the Java standard library, a lot of
functionality were in danger.* packages.

When I first saw android, it seemed to me somewhat familiar. The vm that runs
custom bytecode, etc.

Sadly, it looks like all the forums and mailing lists are now gone. I found a
site with the source code of some apps, [https://hipme.com](https://hipme.com)

------
trasz
I think it’s an interesting answer... to a different question: “What operating
system Android conceptually descends from”.

------
xbeta
On a side note, I used to work very closely with Marty at Samsung before his
retirement. He is an inspiration for me and I really loved working with him at
that time. At that time, lots of ex-Danger folks joined Samsung and later
joined Google to work on Android OS.

------
bifrost
This Quora answer seems really weird and the Wikipedia article doesn't clarify
much. I recall people talking about the hiptop using NetBSD pretty early on...
I kindof get them calling DangerOS an OS though after reading through the
answer, its kinda a meta-OS...

~~~
dpmdpm
The hiptop did not use NetBSD until the very last model. It was a bare-metal
RTOS prior to that.

------
bitwize
"Please enable JavaScript and refresh the page to continue" = No, fuck you.

------
epx
And Maemo was not based on Linux, was based on Debian!!!111

------
Meph504
BSD Unix :-(

------
cpach
Upvoted, not for the article itself but for the interesting discussion.

