About Marko Gargenta Developer of Android Bootcamp for Marakana.Instructor for 1,000s of developers on Android atQualcomm, Cisco, Motorola, DoD and other great orgs.Author of Learning Android published by O’Reilly.Speaker at OSCON (3x), ACM, IEEE, SDC, AnDevCon.Co-Founder of SFAndroid.orgCo-Chair of Android Open conference: AndroidOpen.com
Agenda • Android Then & Now • Android Stack • The Meaning of Open • Open Source • Open Standards • Community Leadership • What Does This Mean to You? • Summary
History and Possible Future 2005 Google buys Android, Inc. Work on Dalvik starts 2007 Open Handset Alliance announced Early SoRware Development Kit 2008-‐2010 Android becomes the dominant mobile plaWorm 2011 Games, Tablets, TVs Future? Beyond phones
Vision for Android Our goal is not just a single device. Our vision is a mobile platform that runs on many many different devices. – Eric Schmidt
The Stack Applications Home Contacts Phone Browser Other Application FrameworkActivity Window Content ViewManager Manager Providers SystemPackage Telephony Resource Location NotiicationManager Manager Manager Manager Manager LibrariesSurface Media SQLite Android RuntimeManager Framework Core LibsOpenGL FreeType WebKit Dalvik VM SGL SSL libc Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver Keypad WiFi Audio Power Driver Driver Driver Mgmt
Linux Kernel Android™ StackAndroid runs on top of Linux. Applications Home Contacts Phone Browser OtherLinux provides: Hardware abstraction layer Memory management Application Framework Process management Activity Manager Window Manager Content Providers View System Networking Package Telephony Resource Location Notiication Manager Manager Manager Manager ManagerKey reasons for Linux: Libraries It’s secure Surface Media Android Runtime SQLite It’s portable Manager Framework Core Libs It’s open source OpenGL FreeType WebKit Dalvik VM SGL SSL libc Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver Keypad WiFi Audio Power Driver Driver Driver Mgmt
NaZve Libraries Pieces borrowed from other Applicationsopen source projects: Home Contacts Phone Browser OtherBionic, a super fast and small Application Frameworklicense-friendly libc library optimized Activity Window Content View Manager Manager Providers Systemfor Android Package Telephony Resource Location Notiication Manager Manager Manager Manager ManagerHAL in userspace Libraries Surface Media SQLite Android Runtime Manager FrameworkWebKit library for fast HTML Core Libsrendering OpenGL FreeType WebKit Dalvik VM SGL SSL libcMedia codecs offer support formajor audio/video codecs Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver Keypad WiFi Audio PowerSQLite database Driver Driver Driver MgmtMuch more…
Dalvik Dalvik VM is Android implementation ofJava VMDalvik is optimized for mobile devices: • Battery consumption • CPU capabilitiesKey Dalvik differences: • Register-based versus stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries than JDK
ApplicaZon Framework The rich set of system serviceswrapped in an intuitive Java API.Location, web, telephony, WiFi,Bluetooth, notifications, media,camera, just to name a few.Application Framework makes iteasy to develop for Android.
Open Source IniZaZve • Free redistribuZon • Source code • Derived works • Integrity of author’s source code • No discriminaZon against person or groups • No discriminaZon against ﬁeld of endeavor • DistribuZon of license • License not speciﬁc to product • License must not restrict other soRware • License must be technology neutral
Meaning of Open, Jonathan Rosenberg • Open Technology – Open standards – Open source • Open InformaZon – Valuable to users – Transparent about informaZon – Control: user is in control • Open systems win http://googleblog.blogspot.com/2009/12/meaning-of-open.html
Open Android, according to Marko Open means:! ⸰ Open Source! ⸰ Open Standards! ⸰ Community Leadership!
Open Source Licenses http://opensource.org/licenses/
Openness of The Stack Open, Apache 2 Open, Apache 2 Open, various licenses Dalvik is open, Apache 2 Mostly proprietary or (L)GPL
What about Honeycomb? No source for Honeycomb. But this seems to be an exception.“Our approach remains unchanged: there are no lock-downs orrestrictions against customizing UIs. There are not, and neverhave been, any efforts to standardize the platform on any singlechipset architecture.…As soon as this work is completed, we’ll publish the code. Thistemporary delay does not represent a change in strategy. Weremain firmly committed to providing Android as an open sourceplatform across many device types.”- Andy Rubin
Android and Linux Androids kernel is separate fork of LinuxLinux community rejected Googles changes Linux changes still point of contention
Android and Open Standards • Use open standards where possible • Leave slots where proprietary is beaer • Create new standards where needed
Example: Media Support Audio AAC LC/LTP, HE-‐AACv1 (AAC+), HE-‐ AACv2, AMR-‐NB, AMR-‐WB, MP3, MIDI, RTTTL/RTX, Ogg, PCM/WAVE Video H.263, H.264, MPEG-‐4, VP8 Image JPEG, GIF, PNG, BMP Missing many codecs and native support. Expansion available via Khronos OpenMax IL
Example: VPN Support Support for VPN built-in: PPTP,L2TP, L2TP/IPSec PSK VPN,L2TP/IPsec CRT VPNBut missing key enterpriseVPNs, such as Cisco andJuniper.Solution via Raccoon“expansion slot”.
Open Handset Alliance From 34 to 80+ membersIncludes OEMs, chip vendors,operators, software companies.Still learning to work together.
Private Roadmap Not a public roadmap.Community input is observed,but no promises are made.This represents a problem forOEMs planning future devicereleases.
Bear Hugging Favorite OEM for each release.For G1/Dev1, Nexus One: HTCFor Nexus S: SamsungFor Xoom: MotorolaDifferent terms for different OEMs?“We’re more like Apple thanMicrosoft” – Andy Rubin
CompaZbility Test Suite Android Compatibility Test Suite:Defines “Android Compatible”Prevents incompatible releasesProvides self testingGood for users. Good for developers.For Google, a leverage over OEMs.But also a crystal ball into Android’s roadmap.
Google’s MoZvaZon Google makes money in advertising and wants a level playingfield for the mobile market. “Android money comes from mobile ads” - GoogleAdditional revenue (or leverage) from Market, Maps, Phone,Music, Backup, and other services.
Castles and Moats “In business, I look for economic castles protected by unbreachable ‘moats’” - Warren Buffet
As User I can extensively customize the device.!I can make it “all about me”.!I can even change the flavor of Android.!
As Developer My app will run on any Android device,regardless of manufacturer.!I can see ins and outs of the platform sourcecode and learn from studying the default apps.!My market is huge.!
As Manufacturer I may not get theI get a fully featured latest code. Nor knowOS for free and can what’s coming outinnovate at a higher next. I may belevel. months behind competitors. Ugh!
As Carrier Users love Android!! Who exactly is toIt’s an alternative to support it?!iPhone.! Can’t lock down theGot many OEMs device – and myand devices to choose enterprise customersfrom. what that!
As Enterprise Many productivity How do we lock itapps.! down?!Users have their own How do I create customphones already. ROM?! Personals phones inside the company??
Overall • Open Source: ★★★ • Most of code is open sourced, but not all • OEMs sZll keep drivers and extensions private • Open Standards: ★★★★ • Whenever license permits, open standards are used • Community Leadership: ★★ • Lack of public roadmap • No early access to code for all
References & AaribuZons • The meaning of open by Jonathan Rosenberg, Senior VP, Product Management, Google hap://googleblog.blogspot.com/2009/12/meaning-‐of-‐open.html • Android May Be The Greatest Legal DestrucZon Of Wealth In History by Bill Gurley, Benchmark Capital hap://www.cadabrapress.com/?p=3904 • Warren Buﬀea on castles and moats hap://37signals.com/svn/posts/333-‐warren-‐buﬀea-‐on-‐castles-‐and-‐moats • The Freight Train That Is Android by Bill Gurley, Benchmark Capital hap://abovethecrowd.com/2011/03/24/freight-‐train-‐that-‐is-‐android/ • Less Than Free by Bill Gurley, Benchmark Capital hap://bit.ly/pgyubk • Is Android Open? by Scoa Gilbertson, Wired hap://www.wired.com/epicenter/2010/10/is-‐android-‐open/ • The Open Source DeﬁniZon hap://www.opensource.org/docs/osd • How "Open" is Android Really? hap://www.tequilabomb.com/shotglass/2010/05/07/how-‐open-‐is-‐android-‐really/ • Open Source Licenses hap://digiZzor.com/2011/05/04/free-‐soRware-‐licenses/ • Android (operaZng system) at Wikipedia hap://en.wikipedia.org/wiki/Android_(operaZng_system) • How Google controls Android: digging deep into the Skyhook ﬁlings hap://thisismynext.com/2011/05/12/google-‐android-‐skyhook-‐lawsuit-‐motorola-‐samsung/
Summary Big parts of Android stack are open, but not everything is for a developer wanting to release new version of Android OS an an actual device. Android is not a typical open source project due to lack of community leadership.Slides/video/etc: Marko Gargenta, Marakana.comhttp://mrkn.co/f/375 @MarkoGargenta firstname.lastname@example.org +1-415-647-7000