Monday, October 18, 2010

Innovation vs Evolution

ENIAC
As we're reading Darwin's Origin of the Species this week, I thought it would be worthwhile to distinguish between evolution in the natural world an innovation in the digital world.

Evolution occurs when the traits of a genetic population change over successive generations, generally a very long period of time relative to the life of an individual in the species.  Changes are introduced through mutation and then inherited through reproduction.  Natural selection chooses traits that aid the survivability and reproduction of the species.

Are changes in the computing world a result of evolution?

At first glance, we observe some of the qualities of evolution in both hardware software.  Moore's Law describes a long-term trend in computing that the number of transistors that can be placed on a computer chip doubles about every two years.



The consequence of this trend is that the speed, capacity, size, or resolution of our electronic devices doubles or halves every two years.  We speak of a new "generation" of processors, with better models succeeding the older ones.  However, this is pretty clearly not an example of evolution, but of innovation -- electrical engineers work very hard to overcome the limitations of technology and provide improvements with each new version of a processor.

The comparison gets a little fuzzier with software.  Consider the open-source SourceForge web site.  This is a place where people can collaborate to build new software, with free hosting for their project.  There are currently 240,000 projects on SourceForge, such as Audacity and BitTorrent, and 2.6 million registered users.  If you glance through a page, such as the one for the Communications category, sorted by the number of downloads, you'll see that there is some element of survival of the fittest -- the best programs get downloaded more, some reaching a million times per week.  One project on this list, PortableApps.com, is even a mutation of sorts -- it creates a system that allows you to run your favorite applications off a USB drive that you can take with you.  (A great way to use Skype on a library computer, perhaps?)  These programs even have successive generations -- Skype Portable is now on version
5.0.

The analogy is somewhat strained, however.  Mutations in computer programs are not random, but are the result of design, and traits can be changed very rapidly. Competing programs do not breed with each other to produce offspring, and winners are not chosen by how well they survive but by a myriad of factors -- popularity, the willingness of developers to write code for the project, and sometimes even commercial funding.

While the open source world certainly has a great deal of competition, innovation rather than evolution is the driving force for change.  Economic models are perhaps more useful for understanding trends in computing that biology. 

Comments (3)

Loading... Logging you in...
  • Logged in as
I would like to comment on the mutations part of this analogy. In Charles Darwin's Origin on Man, he says "Man does not actually produce variability; he only unintentionally exposes organic beings to new conditions of life, and then nature acts on the organisation, and causes variability. But man can and does select the variations given to him by nature, and thus accumulate them in any desired manner. He thus adapts animals and plants for his own benefit or pleasure." Couldn't the same be said of the open software and mutations in computer programs. In this open software we expose its uses, bugs, and use it for different purposes. Then instead of nature, other users and our computer uses the software. Then the software has to adapt to our computer and the adjustments made by other users. So, I think we may have a case for evolution here and not just innovation.
And aren't innovation and evolution synonymous with one another? Evolution means any process of formation or growth or development and innovation means something new or different introduced. It seems that computer software and the mutations in have both elements of growth and the introduction of new things.
1 reply · active less than 1 minute ago
Interesting thoughts, Kristina. I had been thinking of innovation as changes caused by man, and evolution as changes caused by natural adaption. Perhaps if we include man and the computer as one, then we might think of the system as a whole adapting to meet the needs of society.
Interesting comparison, even the analogy as you say may not be perfect, it is an interesting idea to compare and see how the elements of evolution and computing that are different and similar in each of these. We do seem to use the word evolve a lot even when it comes to computers. It seems like we say things like "the computer industry is constantly evolving to meet the needs of its users".

Post a new comment

Comments by