Open Android What It Means to Be Open and Why You Would Care

Open Android What It Means to Be Open and Why You Would Care

Open Android What it means to be open and why you would care Marko Gargenta marakana.com Slides, Video, etc. http://mrkn.co/f/375 About Marko Gargenta Developer of Android Bootcamp for Marakana. Instructor for 1,000s of developers on Android at Qualcomm, 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.org Co-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 ANDROID THEN & NOW 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 plaorm 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 ANDROID STACK The Stack Applications Home Contacts Phone Browser Other Application Framework Activity Window Content View Manager Manager Providers System Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager Libraries Surface Media SQLite Android Runtime Manager Framework Core Libs 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 Linux Kernel Android™ Stack Android runs on top of Linux. Applications Home Contacts Phone Browser Other Linux provides: Hardware abstraction layer Memory management Application Framework Process management Activity Window Content View Manager Manager Providers System Networking Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager Key reasons for Linux: It’s secure Libraries Surface Media SQLite Android Runtime 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 Nave Libraries Pieces borrowed from other Applications open source projects: Home Contacts Phone Browser Other Bionic, a super fast and small Application Framework license-friendly libc library optimized Activity Window Content View Manager Manager Providers System for Android Package Telephony Resource Location Notiication Manager Manager Manager Manager Manager HAL in userspace Libraries Surface Media SQLite Android Runtime Manager Framework WebKit library for fast HTML Core Libs rendering OpenGL FreeType WebKit Dalvik VM SGL SSL libc Media codecs offer support for major audio/video codecs Display Camera Linux Kernel Flash Binder Driver Driver Driver Driver Keypad WiFi Audio Power SQLite database Driver Driver Driver Mgmt Much more… Dalvik Dalvik VM is Android implementation of Java VM Dalvik is optimized for mobile devices: • Battery consumption • CPU capabilities Key Dalvik differences: • Register-based versus stack-based VM • Dalvik runs .dex files • More efficient and compact implementation • Different set of Java libraries than JDK Applicaon Framework The rich set of system services wrapped in an intuitive Java API. Location, web, telephony, WiFi, Bluetooth, notifications, media, camera, just to name a few. Application Framework makes it easy to develop for Android. Applicaons Many apps… … as well as markets. Android and Java Based on Apache Harmony Java and Dalvik VM, Android’s Java is as open as it gets. Although Oracle disagrees. THE MEANING OF OPEN Open Source IniZave • Free redistribuZon • Source code • Derived works • Integrity of author’s source code • No discriminaon against person or groups • No discriminaon against field of endeavor • DistribuZon of license • License not specific to product • License must not restrict other soRware • License must be technology neutral Andy Rubin: DefiniZon of Open Meaning of Open, Jonathan Rosenberg • Open Technology – Open standards – Open source • Open Informaon – Valuable to users – Transparent about informaon – 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 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 or restrictions against customizing UIs. There are not, and never have been, any efforts to standardize the platform on any single chipset architecture. … As soon as this work is completed, we’ll publish the code. This temporary delay does not represent a change in strategy. We remain firmly committed to providing Android as an open source platform across many device types.” - Andy Rubin Android and Linux Android's kernel is separate fork of Linux Linux community rejected Google's changes Linux changes still point of contention OPEN STANDARDS 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 VPN But missing key enterprise VPNs, such as Cisco and Juniper. Solution via Raccoon “expansion slot”. COMMUNITY LEADERSHIP Open Handset Alliance From 34 to 80+ members Includes 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 for OEMs planning future device releases. Bear Hugging Favorite OEM for each release. For G1/Dev1, Nexus One: HTC For Nexus S: Samsung For Xoom: Motorola Different terms for different OEMs? “We’re more like Apple than Microsoft” – Andy Rubin Compability Test Suite Android Compatibility Test Suite: Defines “Android Compatible” Prevents incompatible releases Provides self testing Good for users. Good for developers. For Google, a leverage over OEMs. But also a crystal ball into Android’s roadmap. Google’s MoZvaon Google makes money in advertising and wants a level playing field for the mobile market. “Android money comes from mobile ads” - Google Additional 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 WHAT DOES THIS MEAN TO YOU? 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 source code and learn from studying the default apps.! My market is huge.! As Manufacturer I may not get the I get a fully featured latest code. Nor know OS for free and can what’s coming out innovate at a higher next. I may be level. months behind competitors. Ugh! As Carrier Users love Android!! Who exactly is to It’s an alternative to support it?! iPhone.! Can’t lock down the Got many OEMs device – and my and devices to choose enterprise customers from. what that! As Enterprise Many productivity How do we lock it apps.! down?! Users have their own How do I create custom phones 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 Buffea on castles and moats hap://37signals.com/svn/posts/333-warren-buffea-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 Definion hp://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 (operang system) at Wikipedia hap://en.wikipedia.org/wiki/Android_(operang_system) • How Google controls Android: digging deep into the Skyhook filings 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.com http://mrkn.co/f/375 @MarkoGargenta [email protected] +1-415-647-7000 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    45 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us