How to Audit a Device for GPL Compliance: A Practical, Evidence-Driven Guide

My Blog
What GPL Compliance Actually Means in the Embedded World The GNU General Public License isn't a polite request. When a vendor ships a Linux-based device—a router, a smart camera, an industrial controller—they're legally on the hook to provide the source code for the GPL-licensed components they distribute. Yet in the embedded space, compliance is often an afterthought, buried under marketing deadlines and a deep-seated fear of opening up proprietary bits. This guide is for the engineers, tinkerers, and legally curious hackers who want to move past a company's word and verify what's really running inside a sealed box. We'll walk through a concrete, repeatable audit process that starts with a shrink-wrapped product and ends with a documented compliance report. The GPL's core demand is straightforward: distribute a binary, and you…
Read More

How to Audit a Device for GPL Compliance: A Concrete, Evidence-Driven Guide

My Blog
What Is a GPL Compliance Audit and Why Does It Matter? A GPL compliance audit is a methodical dissection of a device’s software distribution to see if it actually honors the GNU General Public License. The GPL is a copyleft license—it gives users the freedom to run, study, share, and modify the software. In return, anyone shipping GPL-licensed code inside a product must hand over the corresponding source, build scripts, and installation info. This isn’t a polite request. It’s a legal condition baked into the license itself. For embedded Linux engineers and open-hardware people, auditing a device is a direct challenge to proprietary lock-in. It reveals whether a manufacturer respects user freedom or hides behind binary blobs and half-baked source drops. This article lays out a practical, evidence-driven audit process.…
Read More

How I Reconstructed a Vendor’s Incomplete GPL Source Release Using Binary-to-Source Forensic Mapping

My Blog
How I Reconstructed a Vendor's Incomplete GPL Source Release Using Binary-to-Source Forensic Mapping By Arjun Mehta · GPL Devices Six weeks after my formal request, the tarball arrived. It was labeled linux-source-5.10-rk3568-v1.2.tar.gz, weighed 1.4 GB, and looked plausible at first glance. The vendor—a Shenzhen-based ODM selling a white-label industrial gateway under at least three different brand names—had technically fulfilled their GPLv2 obligation. They sent me source code. But when I extracted the archive and attempted a build, the story fell apart. No build.sh. No Yocto layer. No Buildroot defconfig. The device tree sources were absent—only a compiled .dtb blob sitting in a prebuilt/ directory. The U-Boot SPL was missing entirely. A README file contained two lines: Build with make. Contact support for questions. I had a kernel source tree that…
Read More

How to Audit a Device for GPL Compliance: A Practical Field Guide

My Blog
What a GPL Compliance Audit Actually Means Let’s cut through the noise. A GPL compliance audit isn’t some abstract legal exercise—it’s a hands-on forensic dig into the software a device ships with. You’re checking whether the manufacturer respected the GNU General Public License. For embedded Linux engineers, this means pulling apart firmware, examining bootloaders, and sifting through whatever source code the vendor bothered to release. The GPL gives users the right to run, study, share, and modify the software on their own hardware. When a company slaps GPL code—like the Linux kernel, BusyBox, or U-Boot—into a product and then locks it down, they’re breaking that agreement. That’s not just a legal misstep; it’s a direct attack on the open hardware ecosystem. This guide is about gathering hard evidence, not just…
Read More

How to Audit a Device for GPL Compliance: A Technical Guide

My Blog
Understanding the GPL and Why Audits Matter The GNU General Public License is the legal backbone that keeps the open-source world standing. It guarantees that software stays free—free to study, modify, and share. For embedded devices like routers, smart appliances, and industrial controllers, the GPL draws a hard line: ship a product with GPL code inside, and you must provide the corresponding source. This isn't a polite request. It's a copyright-backed obligation. I've spent years tearing apart firmware and sitting across the table from manufacturers during compliance negotiations, and I can tell you that most slip-ups come from sloppy internal tracking, not deliberate evasion. Still, the result is the same—users get locked out of the code they should rightfully have. A thorough audit is the only way to confirm a…
Read More

How to Audit a Device for GPL Compliance: A Technical Guide

My Blog
If you’ve just bought a router, smart camera, or any gadget that hums with Linux inside, you’re holding more than hardware. You’re holding a bundle of rights under the GNU General Public License. The GPL says you’re entitled to the complete, buildable source code that makes the device tick. Yet plenty of manufacturers still ship products without it—sometimes because they’re sloppy, sometimes because they’re hoping nobody asks. A careful audit cuts through the fog. Here’s how to go from blinking lights to a clear picture of whether your device respects your software freedom. Understanding the GPL Compliance Obligations Both GPLv2 and GPLv3 demand that anyone distributing binary software hand over the “complete corresponding source” when asked. For an embedded box, that’s not just a tarball of the Linux kernel. It…
Read More

How to Audit a Device for GPL Compliance: A Technical Guide

My Blog
Why GPL Audits Matter for Embedded Devices Every Linux-based router, smart camera, or IoT widget that ships with GPL-licensed code comes with strings attached. The GNU General Public License isn't just a block of legalese you click through—it's a technical contract. If a manufacturer distributes a device with, say, the Linux kernel or BusyBox inside, they're on the hook to provide the complete corresponding source code. When they don't, an audit is how you prove it. I've spent years tearing apart firmware images and going back and forth with vendors who'd rather pretend the GPL doesn't exist. The pattern is almost always the same: they slap together some open-source components, toss in proprietary drivers, and ship the product without a word about source availability. A proper audit doesn't just spot…
Read More

How to Audit a Device for GPL Compliance: A Technical Guide

My Blog
Understanding the GPL and Why Audits Matter The GNU General Public License is the legal and philosophical backbone of open source. It guarantees that anyone who gets the software can study it, change it, and pass it on. For embedded gear—routers, smart TVs, IoT sensors, industrial controllers—the GPL draws a hard line: ship a device with GPL code inside, and you must offer the corresponding source. That’s not a polite request. It’s a condition grounded in copyright law. I’ve spent years cracking open firmware images and chasing compliance gaps, and I can tell you that plenty of vendors either don’t understand the rules or quietly hope nobody checks. A proper audit is the only way to know whether a device actually respects the freedoms the license was built to protect.…
Read More

How to Audit a Device for GPL Compliance: A Practical Field Guide

My Blog
When you buy a gadget that runs Linux—a router, a smart TV, maybe a car infotainment system—you’re not just getting hardware. You’re getting a whole software stack, and a big chunk of it is licensed under the GNU General Public License. The GPL gives you the right to run, study, share, and modify that code. But those rights are hollow if you can’t actually get the source. I’ve spent years cracking open consumer electronics to see if the manufacturers are playing by the rules. This guide walks you through a real, hands-on audit, from first glance to final report. Understanding the Scope of Your Audit Before you even plug the thing in, know what you’re hunting for. The GPL—especially versions 2 and 3—requires distributors to provide the “Corresponding Source.” That’s…
Read More

How to Audit a Device for GPL Compliance: A Technical Guide

My Blog
Why GPL Audits Matter for Embedded Hardware When a manufacturer ships a router, camera, or IoT gadget running Linux or BusyBox, the GPL says they have to hand over the source code. But in practice, that obligation gets ignored more often than not. I’ve spent years cracking open consumer electronics, and the pattern is always the same: a sticker with a URL that leads nowhere, or a tarball that’s missing half the build scripts. A proper audit isn’t just about checking a box—it’s about holding companies accountable when they treat open-source like a free lunch. This guide lays out the technical steps to inspect firmware, spot GPL-covered binaries, and push back with a request that actually sticks. Embedded devices often run GPL-licensed software without clear disclosure. Pre-Audit Preparation: Tools and…
Read More