License Zero

gainful open software development

December 27, 2017

“De Minimis” how not to disappear completely

Professionals that count use the fancy Latin phrase de minimis.

For example, in the Tax Code:

The term “de minimis fringe” means any property or service the value of which is … so small as to make accounting for it unreasonable or administratively impracticable.

Compare Merriam-Webster:

de minimis : lacking significance or importance : so minor as to merit disregard

The Tax Code’s definition is a professional definition, if there ever was one. It’s practical, focusing on cost, benefit, and what to do next, not truth, correctness, or merit. It assumes the cost of a professional service, accounting, is invariant and proper. It asks what other things are worth.

We could write a different definition, just as practical, a tad more cynical:

de minimis: having value dwarfed by the cost and impracticable complexity of accounting, so as to make accounting for it unreasonable

Tax accountants disregard some items as de minimis because they aren’t worth much. But de minimis treatment can have as much to do with the cost of accounting as value. The benefit is a proper account. The cost is the cost of accounting. When the cost of accounting exceeds the benefit of a proper account, accountants stop accounting.

The same is true of other professionals. For example, lawyers:

De minimis non curat lex.

The law is not concerned with trivial matters.

Lawyers pass on claims for which the legal award would be small. But lawyers also pass on claims for meaningful awards, when they’d get eaten up by the cost of pressing the claim.

That’s what de minimis means, in practice. Things worth less than counting costs don’t get counted.


Good programmers control complexity. One school of programming breaks programmed processes down into the smallest meaningful pieces possible. Small, self-sufficient modules of computer code help programmers focus, organize, and reuse work across projects.

Factoring also facilitates open source development. As long as developers can easily integrate small contributions in large numbers, the smaller contributions can be, the more beneficial contributions an open source module is likely to receive. The more projects a module can help to build, the more attention from potential contributors it attracts.

Decomposition drives the average value of a single open source contribution down. As a result, the average open source contribution is more likely to receive de minimis treatment, to be written off. Nobody keeps count of small contributions, even though all involved know that small contributions add up to a wealth of valuable software.


What about the counters? All professionals face efficiency and time pressure, through competition. Over time, technology, process improvements, experience, and training make similar professional services cost less.

But there’s a hitch. When what you owe depends on how you count, the higher the cost of accounting, the more items get treated as de minimis, and the less you have to pay. Make it easy to track small expenses, and they add up. Raise the cost of accounting, and more of them become de minimis instead.

If what you receive from others depends on how you count, you and only you have the incentive to lower the cost of accounting. If your cost of accounting stays high, you treat more expenses you incur as de minimis. The more expenses you treat as de minimis, the more expenses stay with you.

The same logic applies to legal services. Make it too easy to sign terms with independent contractors, and you end up paying more independent contractors. Make it harder, and you might just get the work for free, as open source.

Coder, Count Thyself

Some of the most generous open source contributors make mostly de minimis contributions. Contributions that don’t add up to highly visible, lead-maintainer roles in well known projects conducive to corporate sponsorship or foundation support. Contributions to small modules that other contributors depend on in droves, but the average end-user developer never hears of.

Nobody except these contributors has any incentive to give account for their contributions, or to make accounting for them easier. If you’re contributing to open source, and want more recognition for your labors—as reputation, appreciation, or pay—provide your own account of contribution. Invest in ways to make counting easier. If you need others to help you sustain the work you do, it’s on you to give account of what your benefactors will sustain.