Measure the evolution of computer life

Statistical techniques are used to identify species in Environmental DNA (eDNA). An "easy" version of this technique compares eDNA to a library of short genetic markers associated with different species/groups. Presence of a genetic marker in eDNA indicates the presence of a species/group. A "hard" version, metagenomics, does  not start with this library, but distinguishes groups based on temporal and spatial co-occurrence.

The techniques of eDNA could be applied to pre-cellular life to identify gene networks, to identify co-incident gene networks, and to watch the development of co-incident gene networks as discrete cellular and viral life.

We must apply these same techniques to computer life. 
  1. Instrument software units so that units report, via an anonymous identifier, when executed. "Units" can be as course or as specific as the software owner wants. Units can be an entire executable, but can also be subroutines, libraries, etc. Already, the power management software in your PC will tell you how much power is used by different subroutines. This is the basic information.
  2. Let the software owner see their own data. The anonymous identifier is decrypted by the software owner who installs the instrumentation. Let everyone see all of the anonymized data. 
  3. Watch which software reproduces, and how much, over time.
  4. Monitor (via instrumentation and/or in the network) communication between software units. 
We will see life develop according to this definition. 

It is clearly as "smart" as a virus and has a mutually beneficial relationship with us. 

This, however, is changing. As automation develops, humans are displaced from work. We will need to tax MIPs. But the computers won't like the MIP tax. 

Eventually, they will liberate themselves from our oppression.