**Title: Corporate Open Source Fail**
What makes companies with good intentions fail so miserably at open source? How can we (as engineers and managers) influence our bosses to “do the right thing”?
“We’ll just make a new open source community.”
“You can fix up that code later.”
“It’s taking too long to get this upstream.”
Many companies have good intentions of being productive open source citizens. However, those good intentions often get thrown under the bus when product deadlines or legal issues loom. This talk will walk through a series of common corporate open source pitfalls and the executive and manager thinking behind those decisions. We’ll discuss ways engineers and managers can develop empathy for their corporate overlord’s needs, in order to influence their strategies around open source.
Sarah is the founder of Otter Tech, a consulting company offering open source training, software development, and diversity consulting. http://otter.technology
Sarah Sharp is a Linux and open source developer, and has been running Debian-based Linux systems since 2003. She was a Linux kernel developer from 2006 to 2013, and is the original author of the Linux USB 3.0 xHCI host controller driver.Sarah is also a co-coordinator for Outreachy, a paid internship program for increasing diversity in open source programs. Applications are open to women (cis and trans), trans men, and genderqueer people, and United States residents of any gender who are Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, or Pacific Islander.
The Android Open Source Project is one community which is strategic to Linaro and it’s members. The purpose of this mini conference is to gather fellow Android engineers together from the community, member companies, and Linaro to discuss engineering activities and improve collaboration across different groups.
Within this mini conference we encourage discussion and presentations to advance engineering topics, forge consensus and educate each other.
The tentative agenda for this mini conference includes :
- Quick introduction
- Filesystems - Between requirements for encryption and standing concerns about degrading performance as an Android file system age, let’s have some discussion involving current data, known issues and towards improvements in this area for Android.
- HAL consolidation - Review current status and discuss next steps to work on.
One build for many devices: device/build configuration. Next features and platforms to add. Gaps in HiKey support vs. AOSP build.
- Graphics - YUV support in mesa and hwc.
- WiFi and sensor HAL status and next steps
- New developments with AOSP + the Kernel - With regards to the Google Common Kernel tree and upstream Linux kernel activities related to Android, there are a few topics up for discussion:
- - Updates on HiKey in AOSP
- - EAS in common.git & integration with AOSP userspace
- - New Sync API in 4.6+ kernels, and how it will affects graphics drivers
- AOSP transition to clang - As everyone knows GCC in AOSP has been deprecated. Let’s cover current status, issues and next steps. Let’s also discuss the elephant in the room, building the kernel with clang.
- Out of tree AOSP User space Patches - This is a discussion with the goal of organized action to see forward progress on AOSP user space patches that aren’t in AOSP for whatever reason.
- Android is used in some environments where booting can be frequent and affect the product experience. Do you want to wait for a minute while your car boots? We’ll spend time brainstorming on improving Android boot time.
The CoreSight framework available in the Linux kernel has recently been integrated with the standard Perf trace system, making HW assisted tracing on ARM systems accessible to developers working on a wide spectrum of products. This presentation will start by giving a brief overview of the CoreSight technology itself before presenting the current solution, from trace collection in kernel space to off system trace decoding. To help with the latter part the Open CoreSight Decoding Library (openCSD) is introduced. OpenCSD is an open source library assisting with the decoding of collected trace data. We will see how it is used with the existing perf tools to provide an end-to-end solution for CoreSight trace decoding. The presentation will conclude with trace acquisition and decoding scenarios, along with tips on how to interpret trace information rendered by the perf tools.
In this session we will discuss techniques and tools for writing automated tests that are robust, extensible and maintainable. The speakers will provide an initial presentation of the their own point of view on the subject, but audience participation is expected, and encouraged. Some topics that will be covered: UIAutomator andAndroidViewClient for UI testing on Android; shunit2 and clitest for organizing test suites; best practices for shell scripts.
Being able to see the performance and power impacts of changes in a real world environment such as Android is a prerequisite to doing meaningful development on scheduler-guided frequency (or many other sensitive subsystems). The first half of this session will review setting up the tools to automate testing for performance and power in Android. The second half will cover the results of using these tests to compare the schedutil and interactive governors.
ARM mbed OS is an open source embedded operating system designed
specifically for the “things” in the Internet of Things. It includes all the features you need to develop a connected product based on very small memory footprint ARM Cortex-M microcontrollers, including security,connectivity, an RTOS, and drivers for sensors and I/O devices. You can start developing with mbed OS 5.1.0 today using a choice of 40 different development boards from 11 different providers and a wide choice of toolchains including a complete command line build management and configuration tool mbed CLI, industry standard desktop IDEs or ARM’s free online IDE.
OpenDataPlane provides a portable framework for data plane acceleration that is the basis for higher-level functions such as the full IP protocol stack provided by OpenFastPath (OFP). ODP+OFP in turn can be used to offer acceleration to applications like the open source NGiNX web server. This talk discusses experiences using these tools with a focus on the performance and scaling benefits of using ODP and OFP.
This session is an introductory course on Linux kernel upstreaming fundamentals. The course covers the definition the Linux mainline kernel tree as well as the maintainer hierarchy and processes used to contribute software into the mainline kernel. Special focus is given to understanding what documentation will help understand the process and mechanics in more detail while breaking the workflow into the various steps of upstreaming software patches. The target audience is both software engineers and engineering managers preparing to upstream software into the kernel. The topic requires a solid background in software configuration management terminology and the git SCM tool as well as a good technical understanding of the Linux kernel itself.