Code Sharing as an Alife Experiment in Memetic Evolution

Alife, as a research and activity field, has some special attributes. It is new, very loosely defined, multi-disciplinary in the strongest sense, and its equipment (both laboratory and field) is the computer. Above all, it is fascinating and it seems (to some) to have a potential for breakthroughs. This is why it attracts curious people from all trades, both from the academic world and outside it. You need little more then a computer to perform an Alife experiment.

Alife activity involves programming. The laboratory of Alife is the computer, its tools are computer programs. When you need a new tool you can program it from scratch, but it is wise to look first at existing tools. In some cases it might be possible to use existing code and extend it or otherwise build upon it. Here enters the power of the WWW and the cross-platform languages: You can find pieces of code that suit your needs, in a language you can use directly, given free by people all over the world.

Regarding the software in my site, I did it twice. When I wanted to write a flocking program, I scanned the net for Java flocking software, selected the one I liked most and used its code as a basis for developing my own program. The same I did when I wanted to write a Cellular Automaton. My selection criteria were obviously subjective. I looked for aesthetics, performance, ease of using the code (all, of course, in my eyes). I then took the code, modified and extended it and now I put my modified code in my site, for anyone to use.

If someone will like my applet, download its code, and modify it for other purposes, we can describe the process as an evolutionary one. And if he will be kind enough to offer his code to others, the evolutionary process can continue. It is a memetic evolution (following Richard Dawkins' meme concept), and like any evolution, it is unpredictable. It is doubly-unpredictable: first, because of the unpredictable nature of the evolutionary process, and second, because of the unpredictable nature of the Alife Bottom-Up strategy. And someone, at the other side of the world, might use a descendant of this code and find something interesting.

Any code sharing, in any field, whether through books, Internet, or any kind of copying, results in a memetic evolutionary process. It seems particularly appropriate for Alife, because this field is new and relatively virgin, and because here computer code is the most important tool. And when we deal with Artificial Life, we can look at the process as an Alife experiment about Alife: The Meta-Alife experiment.

The Alife Database was created to make searching for Alife code easy. Such a site can encourage the use of cross-platform languages, and might initiate joined projects of distant researchers, when multi-developer projects will evolve spontaneously. It might even develop into a large, loose, diverse, non-homogeneous world-wide Alife laboratory.

Examples:

GOOeFloys - Floys modified to model predator/prey relationships, by Jonathan Groff