For buyers contracting authority
Pick 72212213 when the deliverable modifies or extends an operating system, not when it runs on one. The cleanest test: if the accepted output is a kernel module, a driver, OS-level security hardening, or a capability added to the platform itself, this is the code. If the output is an application, a portal, or a service that merely happens to target a given OS, it belongs elsewhere.
The boundary that trips contracting authorities is the sibling 72212214, Network operating system software development services. That code is for developing the network OS as a product; 72212213 is for enhancing an operating system that already exists. Where networking is the dominant theme rather than the OS layer, the broader sibling 72212210 (Networking software development services) is often the better fit.
This is a thinly used code: 46 awards across the full window (TED 2009-2026). When in doubt between this leaf and the generic development parent, tag by whichever describes the primary deliverable, and accept that many authorities default upward to the broader networking-software code.