Open source

Open-source code I've written and maintained.

The biggest pieces are below, each linked to its public source on GitHub, where my work lives under opdenkamp. It spans well over a decade — from a library packaged in virtually every Linux distribution to code that's still part of mainline Kodi today.

libCEC — HDMI-CEC userspace library

Author + lead maintainer · 2011 – present

The de-facto open-source HDMI-CEC library across Linux, Windows, macOS, BSD and Android. Used by Kodi, LibreELEC, OSMC, RetroPie and a long tail of integrator tooling. C++ library with C, C#, Python and other bindings.

Packaged in virtually every Linux distribution: Debian/Ubuntu (apt install libcec-dev), Fedora (dnf install libcec-devel), Arch (pacman -S libcec), Alpine, openSUSE, Gentoo, NixOS, and others. Available out-of-the-box for any Linux user without building from source.

Vendor-quirk handling is the practical value libCEC adds beyond the spec: HDMI-CEC in the wild is full of SHALL-vs-SHOULD ambiguity that some manufacturers take advantage of. libCEC handles those incompatibilities invisibly to the end user.

Multi-adapter by design. The library drives not just the USB-CEC bridge but also the Raspberry Pi VC HDMI-CEC interface, the in-kernel Linux CEC subsystem, and other backends. The Raspberry Pi adapter port is mine; every Pi running Kodi with CEC over HDMI talks through it.

Pulse-Eight/libcec on GitHub →

Kodi peripherals subsystem

2011 · Mainline XBMC/Kodi · Foundation for remote / gamepad / CEC handling project-wide

Introduced the xbmc/peripherals/ subsystem to mainline XBMC/Kodi, with Pulse-Eight CEC adapter support as the first peripheral built on top. The subsystem has been the foundation for the project's peripheral handling ever since, including the gamepad / RetroPlayer integration built on it years later.

xbmc/peripherals in mainline Kodi →

XBMC / Kodi PVR + EPG subsystems — out-of-tree → mainline core

2011 – 2013 out-of-tree fork → mainline merge · Core live-TV / DVR / EPG / timeline in Kodi

Years of out-of-tree work that became the core PVR (live TV, recording, scheduling) and EPG (electronic program guide, timeline) subsystems in mainline Kodi. The fork at opdenkamp/xbmc ran for several years with active community uptake before landing in mainline. The PVR and EPG subsystems still ship as part of every Kodi release today; see the history of xbmc/pvr/ and xbmc/epg/ in mainline.

The addon ecosystem at opdenkamp/xbmc-pvr-addons, which connects Kodi to backends like tvheadend, VDR/VNSI, MediaPortal, DVBLink and NextPVR, was later reorganised into the dedicated kodi-pvr GitHub org.

xbmc/pvr in mainline Kodi →

External references

Independent third-party attribution of the open-source work above: the official Kodi project covered the libCEC work in The USB-CEC Adapter is a look into the Future (October 2011), and Dutch tech-press Tweakers covered the PVR mainline merge in XBMC Frodo (September 2012).

My GitHub footprint reaches well into six figures of commits across public and partner repos. If you're digging through the older history, some of it predates that account: XBMC/Kodi community discussions from the early years reference the handle dushmaniac, and a number of older commits are authored as Lars Op den Kamp under different email aliases. Day-to-day private work happens in Pulse-Eight and other client repositories.