Jan 20, 2009

Software, Open Source And The Theory Of Evolution

Have you ever thought about software, open source and Darwin’s theory of evolution? No?

What is evolution?

In biology, evolution is change in the inherited traits of a population of organisms from one generation to the next. These changes are caused by a combination of three main processes (Wikipedia):

  • reproduction
  • variation
  • selection

How does this works?

An evolving entity must be able to reproduce (reproduction). These copies can slightly vary from the source (variation). Some of this variations will survive and reproduce better than others (selection). The copies surviving better will become more common in population (the fittest will survive). This process will run from generation to generation from the beginning. Is this a powerful mechanism? Take a look in the mirror!

What to hell has this to do with Software and Open Source?!

Source code, the building block of software, is simple to reproduce – copy & paste (reproduction). If you share the source code on a blog, on a open source platform like CodePlex or on a script repository like http://poshcode.org, others will copy and slightly modify the original code (variations). Slightly, because the chosen code must fit some to the problem domain. Some of these variations will be better than the original source. If the variations will be republished, better code variations will be used and reproduced more often, consequently become more common in the internet (selection). This process will run from code generation to code generation from the beginning.

What’s about compiled code? Compiled code is also simple to copy, but copying doesn’t produce variations. Consequently compiled code can’t evolve!

Open source is the booster for the evolution of software!

In fact many processes out there are related to the theory of evolution. A gen is a blueprint for the production of a protein. What’s a business process? Maybe a blueprint for producing a car. Can we reproduce processes? Can processes vary? Can we select processes? What is benchmarking? There are many questions left to ask….

12 comments:

Mads Nissen said...

So using CodePlex as an example: how would you apply the survival of the fittest theory? How does natural selection work? Does anyone currently get selected? :-)

Christian said...

Hi Mads,
cool, I really never thought anybody would reply;-)
So, who does the selection? How do you search for code?
Search engine (mostly Google) does the first selection! More links to a code/post, more clicks, better ranking -> more popular. The second selection is up to you. Unpopular code/posts will still exists on any hardisk layer on any computer, like any fossil in the earth.
Bye, Christian

Anonymous said...

hey chris,

very interesting point of view here and a pleasant diversity of content.

what about team reviews or team refactorings of code in a closed source environment? isn´t that a sort of selection as well? ;)

greetz,
markus

Anonymous said...

but there is essential software ,
that is not widely popular ?
so is this democratisation of populary
type of explanation ? ;)

the more good-looking sw is the fittest ?

also sw may be carried through usb sticks
like viruses ,is that makes the viruses
like , most advanced sw ,and fittest-of-them-all

digital signature software said...

Grateful to check out your website, I seem to be ahead to more excellent sites and I wish that you wrote more informative post for us. Well done work.

Chanel Replica said...

Tonight’s the first day showing of 50 Shades of Grey, the movie. I know, I’m one of those people that read the book *not ashamed… ok ashamed hahaha*. Sure sure it was all exciting and whatever more it was offering, but it was not really as well written as I had originally thought.

Fangyaya said...

kate spade outlet
louis vuitton bags
christian louboutin shoes
kevin durant 9 shoes
ralph lauren sale
michael kors purses
coach factory outlet
polo outlet
hollister jeans
vans outlet
adidas superstar
jordan 6s
oakley sunglasses
toms outlet
cheap ray ban sunglasses
louis vuitton outlet
louis vuitton bags
louis vuitton purses
coach outlet clearance
michael kors outlet clearance
coach outlet
true religion jeans
hermes birkin handbags
oakley outlet
hermes bags
louis vuitton handbags
cartier watches outlet
michael kors outlet
kate spade outlet
polo outlet
christian louboutin outlet
ray ban sunglasses outlet
jordans for sale
louis vuitton
coach outlet online
ralph lauren outlet
mont blanc pens outlet
polo shirts
air jordan femme
vans sneakers
20168.8chenjinyan

dada24 Xu said...

red bottoms shoes
louis vuitton bags
cheap oakley sunglasses
michael kors canada
true religion outlet store
doudoune moncler
levis outlet online
nike huarache
toms shoes outlet
ugg outlet
2016921caiyan

Paulo said...

It brings numerous variables including low understudy credit solidification rates and online applications. Moreover, it requests neither application charges nor credit checks. The best favorable position is that this organization offer borrower benefits that littler financing cost. check cashing san-diego

Paulo said...

Essential reasons I saw were for absence of constructive income and/or renegotiating of existing obligation which in a greater number of circumstances than not were close to home credits used to back operational expense. Payday Loans

raybanoutlet001 said...

skechers shoes
coach bags
nike trainers
ray ban sunglasses outlet
jets jersey
ugg outlet
ray ban sunglasses
nike store
rolex replica watches
true religion outlet

Home Improvement Westchester County said...

Ajrin Construction Inc. is a privately owned firm and has been providing home improvement and remolding services to clients all across the boroughs of Westchester County NY. Home Improvement Westchester County