We probably all vaguely assume that computers will overthrow us someday, which may be why it's so unsettling to learn that computer code is evolving much like genetic code. By comparing bacterial genomes to Linux, researchers have found "survival of the fittest" acting in computer programming.
Sergei Maslov of Brookhaven National Laboratory and Stony Brook University grad student Tin Yau Pang looked at how different components in genomes and computer code survive. They noted that in both examples of complex systems, prevalent constituent parts become widespread by being so integral that they can't be removed. And they do this by contributing to reproduction, either directly or through expansions that make reproduction possible.
It makes sense that the more a gene or a specific program is used, the more future developments will depend on it as a given, but the surprising part is the similarity in frequency of use between important genes and computer programs. Maslov and Pang looked at 500 bacterial species and 2 million individual computers. They found that the frequency of certain genetic code being used in life-sustaining bacterial processes was extremely close to the frequency of installation of 200,000 Linux packages. Maslov explains:
We found that we can determine the number of crucial components — those without which other components couldn't function — by a simple calculation that holds true both in biological systems and computer systems...Bacteria are the ultimate BitTorrents of biology.
You find the number of key parts by taking the square root of the dependent components. But Maslov points out that this only holds for open source code, where evolution happens "naturally". OK, definitely thinking our universe is a computer simulation now. [Brookhaven National Lab via PhysOrg]