linux, android and open source in the mobile environment
TRANSCRIPT
Linux, Android and Open Source in the Mobile Environment
Alison [email protected]
February 25, 2010
Survey of Linux on mobile
Kernel-only open source in mobile world
Curious status of Android and why we care
Why do we care?
Linux is well-established on servers and in embedded, but mobile is wide open.
Mobile outcomes for Linux will have significant consequences for other platforms.
Smartphones = most important battleground.
02/25/10 Alison Chaiken 3
What do we mean by “Linux”?
"anyone can call any kernel-derived operating system Linux" -- Jim Zemlin
"Linux is the kernel . . . . Linux is normally used in combination with the GNU operating system: the whole
system is basically GNU with Linux added, or GNU/Linux. All the so-called'Linux' distributions are really distributions
of GNU/Linux." -- RMS
02/25/10 Alison Chaiken 4
kernel.org's definition
Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a
loosely-knit team of hackers . . . It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write
executables, proper memory management, and multistack networking
02/25/10 Alison Chaiken 5
Full “Gnu Linux” implementationsName Supported by Hardware Based on
MeeGo = Moblin + Maemo
Intel, Nokia, Linux Foundation
N900, LG GW990; ARM and x86 (Atom)
Fedora or Debian + Qt
Mer ? Fully open Maemo
N900 Ubuntu
LiMo + LIPS = ELIPS
LiMo Foundation, Wind River
NEC, Samsung, Panasonic, Vodafone, NTT
custom
Angstrom Archos Archos 5 Tablet OpenEmbedded
AccessLinux, OpenMoko, MobiLinux
Orange, Access, MontaVista, OpenMoko
FreeRunner various
02/25/10 Alison Chaiken 6
MeeGo Architecture Diagram
Hmm, doesn't say “Linux”!
02/25/10 Alison Chaiken 7
Intel's Moorestown SOC Built for Linux
LG GW990 running Moblin on Moorestown
02/25/10 Alison Chaiken 8
What we know about MeeGo
● Motivation is earlier market failures● Aimed at netbooks and “slates” like Atom? ● Intel and Nokia continue separate app stores?!● Committed fast-boot patches back to main tree● GTK and Clutter not much supported
02/25/10 Alison Chaiken 9
Linux Kernel Plus
Name Support Hardware Platform Language
Bada Samsung Wave Own SDK C++
webOS Palm Pre, Pixi Browser/Mojo Javascript
Chrome OS Google Samsung netbook
Browser Javascript
Android Open Handset Alliance, Replicant
myriad JVM Java
02/25/10 Alison Chaiken 10
Smartphone Sales by OS
02/25/10 Alison Chaiken 11
The most valuable piece of I.P. in the world is . . .
the GPL'ed Linux kernel.
02/25/10 Alison Chaiken 12
WebOS (and Chrome?) Software Stack
FaiB, even to OEMs, but not FaiF.
02/25/10 Alison Chaiken 13
Android Software Stack
02/25/10 Alison Chaiken 14
Android has some familiar features
● Can adb into unlocked phones, type “ls” and “ps” and peek into /etc, /proc
● Developers can cross-compile C code for ARM using NDK
● Kernel supports insmod, ioctl, dmesg, etc.
02/25/10 Alison Chaiken 15
But “Android/Linux” is not standard(based on material by Matt Porter and Harald Welte)
● System calls are handled by Goog's own Bionic, based on BSD's libc
● Bionic is half the size of glibc
● Avoided LGPL by rolling their own instead of using uClibc
● Chock-a-block with hard-coded constants and policies
02/25/10 Alison Chaiken 16
Will the Android fork damage the kernel?
● drivers/staging/android removed from kernel.org
● Drivers don't build against main kernel
● OEMs cannot contribute drivers back to the kernel
● More threatening to the main effort than, say, an Arduino fork
02/25/10 Alison Chaiken 17
Licenses and Mobile Phones
● Maemo had plenty of closed components.closed components.
● WebOS and Bada have no licenses at all.
● Android is Apache-licensed but drivers are closed.
● Installation of “Google Experience” apps not permitted.
02/25/10 Alison Chaiken 18
Community Android remixes?
●Android ported to Tegra, Snapdragon, etc.
●Runs on phones, eBook readers (Nook), netbooks (Acer), MIDs.
●“Remixes” of Android likely: Frog Design.
●“Less than free” even to handset manufacturers.
02/25/10 Alison Chaiken 19
Android-based open source
● FLOSS Dispenser: a free market for Android
● CyanogenMod Project, alt build of Android
● Open Android Alliance dead as of 2/20
● Replicant Project aims to replace closed components
● Debian can be installed on top of Android?
02/25/10 Alison Chaiken 20
● LiMo, ELIPS, Bada, others will ship on millions of featurephones
● MeeGo is desktop Linux rejiggered for mobile
● webOS and Chrome OS are browser-based OS's founded on the Linux kernel
● 800-lb gorilla is “less than free” but may be unstoppable
Mobile Linux Take-aways
02/25/10 Alison Chaiken 21
Summary
● Linux-based mobile OS's differ at the architecture and library levels, not at the package level
● If you thought desktop distros were confusing, steel yourself!
02/25/10 Alison Chaiken 22
Symbian: completely irrelevant?
● As of 2010, fully open under Eclipse license – except for drivers
● Based on ancient Psion real-time microkernel
● Runs on many handsets, but they have closed bootloaders
● Only open hardware is TI's Beagleboard
● Free, but not “less than free” like Android
● Apps must be signed by Symbian Foundation
02/25/10 Alison Chaiken 23
References and Sources
Software Freedom Law Center blog and podcasts by Bradley M. Kuhn on Android/Linux's Future and Advancement of Mobile Software Freedom
and Software Freedom on Mobile Devices
Palm, Nokia, Moblin, Google, Engadget websites
Linux Weekly News http://lwn.net/Articles/374612/
“Android Mythbusters” by Matt Porter
02/25/10 Alison Chaiken 24
Traditional OS stack
02/25/10 Alison Chaiken 25
Chrome OS Stack
The ‘Browser’ engine is the system execution engine.