Technodiversity and the Evolution of the Software Species
August 10, 2006
I have often felt uneasy about the vast choice of (free) programming languages, operating systems and software: which one should I learn, use, download? What is the best choice?
Sometimes I did my research before making up my mind; some other times it was more of a intuitive choice. I was not always right from the beginning either, and abandoned a language or a os or an application for another after a period of frustration.
I had mixed feelings about this software diversity.
In biology and ecology there is a concept of “biodiversity”: a diversity of species and the interactions between those species and their environment.
Extending the metaphor to technology, technodiversity means having multiple different projects or products available to solve particular problems in our technological lives: things like web browsers, email clients, office productivity tools, web frameworks, programming languages and tools, or operating systems.
programmers who embrace technodiversity are better able to profit from whatever trend is popular this week. And development shops that embrace technodiversity are better able to adapt to new tasks and create new ideas. Technodiversity isn’t about “playing nice”, it’s about flexibility, innovation, and survival.
Two easy jumps from here:
- The software offsprings and the network effect of the “architecture of participation” of Web 2.0 are pushing evolution and technodiversity is the humus.
- “programmers who embrace technodiversity” are part of the army of knowledge workers