  Bacterial genomes and large-scale computer software projects both consist of
a large number of components (genes or software packages) connected via a
network of mutual dependencies. Components can be easily added or removed from
individual systems and their usage frequencies vary over many orders of
magnitude. We study this frequency distribution in genomes of ~500 bacterial
species and in over 2 million of Linux computers and find that in both cases it
is described by the same scale-free power law distribution with an additional
peak near the tail of the distribution corresponding to nearly universal
components. We argue that this is a general property of any modular system with
a multi-layered dependency network. We demonstrate that the frequency of a
component is positively correlated with its dependency degree given by the
total number of upstream components whose operation directly or indirectly
depends on the selected component. The observed frequency/dependency degree
distributions are reproduced in a simple mathematically tractable model
introduced and analyzed in this study.
