NIH Is Cheaper Than the Wrong Dependency

This article challenges the common assumption that software dependencies are always beneficial. The author argues that dependencies incur significant costs, including learning curves, maintenance overhead, security risks, and deployment complexity. Using the TigerBeetle database as an example, the article highlights the advantages of a 'zero-dependency' policy. A framework for evaluating dependencies is proposed, encompassing ubiquity, stability, depth, ergonomics, and watertightness. POSIX system calls, ECMA-48 terminal control codes, and the web platform are used to illustrate the framework's application. The article concludes by urging developers to critically assess the costs and benefits of dependencies before making choices.