Loading…
September 27-30, 2021
Seattle, Washington, USA + Virtual
View More Details & Registration

The Sched app allows you to build your schedule but is not a substitute for your event registration. You must be registered for Open Source Summit + Embedded Linux Conference + OSPOCon 2021 to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to purchase a registration.

This schedule is automatically displayed in Pacific Daylight Time (UTC -7). To see the schedule in your preferred timezone, please select from the drop-down menu to the right, above "Filter by Date." The schedule is subject to change.

IMPORTANT NOTE: Timing of sessions and room locations are subject to change.

Linux Systems [clear filter]
Wednesday, September 29
 

10:30am PDT

(VIRTUAL) "Plan to Throw One Away" - Pitfalls of API Design for Low-level User-space Libraries and Kernel Interfaces - Bartosz Golaszewski, BayLibre
Ever wondered why so many of the popular plumbing-layer user-space libraries are usually called libfoobar2, gstreamer1.0 etc.? Why we have cgroup and crgroup2? Why a lot of kernel uAPI headers define SOMETHING_SOMETHING_IOCTL_V2? Unlike the in-kernel interfaces, user-space libraries usually promise a certain level of stability of the API and ABI - especially across a single major release. The kernel is even more strict on that - user-space programs must not be broken with incompatible changes to the kernel uAPI and it's extremely rare to see any kernel interface modified or removed. This presentation will try to answer the question: why is it so difficult to design new programming interfaces correctly the first time? Why are minor, backward-compatible changes often not enough to address design issues and why do we need to always "plan to throw one away"? The author has hands-on experience with this problem - having helped design the GPIO uAPI and developed the user-space part of the kernel interface, only to see the kernel interface redesigned and ending up working on version 2 of the userland library. This presentation hopes to shed light on the aspects of good API design and help programmers avoid having to release multiple major versions of their open-source projects.

Speakers
BG

Bartosz Golaszewski

Embedded systems developer, UXLITE SOLUTIONS SARL
Bartosz Golaszewski has over 13 years of engineering experience in the embedded systems domain ranging from low-level, real-time operating systems, through the linux kernel to user-space programs, libraries and build systems. He has worked on international projects in a broad range... Read More →



Wednesday September 29, 2021 10:30am - 11:20am PDT
MeetingPlay Platform + Virtual Learning Lab
 

Twitter Feed

Filter sessions
Apply filters to sessions.
  • 101 Essentials - Cloud Administration
  • 101 Essentials - Embedded Linux
  • 101 Essentials - Linux Administration
  • AI & Data
  • Case Studies
  • Cloud Infrastructure
  • Cloud Native Development
  • Community Management & Leadership
  • Diversity Summit hosted by Google
  • Embedded Linux Conference (ELC)
  • Internet of Things
  • Keynote Sessions
  • Linux Systems
  • OS Databases
  • OS Dependability
  • OSPOCon
  • Project Highlights
  • Project Mini-Summits
  • Special Events / Exhibits / Breaks
  • Wildcard