linux, android and open source in the mobile environment

25
Linux, Android and Open Source in the Mobile Environment Alison Chaiken [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

Upload: peterbuck

Post on 13-May-2015

952 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Linux, Android and Open Source in the Mobile Environment

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

Page 2: Linux, Android and Open Source in the Mobile Environment

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.

Page 3: Linux, Android and Open Source in the Mobile Environment

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

Page 4: Linux, Android and Open Source in the Mobile Environment

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

Page 5: Linux, Android and Open Source in the Mobile Environment

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

Page 6: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 6

MeeGo Architecture Diagram

Hmm, doesn't say “Linux”!

Page 7: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 7

Intel's Moorestown SOC Built for Linux

LG GW990 running Moblin on Moorestown

Page 8: Linux, Android and Open Source in the Mobile Environment

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

Page 9: Linux, Android and Open Source in the Mobile Environment

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

Page 11: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 11

The most valuable piece of I.P. in the world is . . .

the GPL'ed Linux kernel.

Page 12: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 12

WebOS (and Chrome?) Software Stack

FaiB, even to OEMs, but not FaiF.

Page 13: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 13

Android Software Stack

Page 14: Linux, Android and Open Source in the Mobile Environment

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.

Page 15: Linux, Android and Open Source in the Mobile Environment

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

Page 16: Linux, Android and Open Source in the Mobile Environment

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

Page 17: Linux, Android and Open Source in the Mobile Environment

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.

Page 18: Linux, Android and Open Source in the Mobile Environment

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.

Page 19: Linux, Android and Open Source in the Mobile Environment

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?

Page 20: Linux, Android and Open Source in the Mobile Environment

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

Page 21: Linux, Android and Open Source in the Mobile Environment

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!

Page 22: Linux, Android and Open Source in the Mobile Environment

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

Page 23: Linux, Android and Open Source in the Mobile Environment

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

Page 24: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 24

Traditional OS stack

Page 25: Linux, Android and Open Source in the Mobile Environment

02/25/10 Alison Chaiken 25

Chrome OS Stack

The ‘Browser’ engine is the system execution engine.