In a fashion similar to the biological study of cell, tissues, organs and organ systems that make up biotic species, we look at e-business software infrastructure as an architected collection of software building blocks: class (in an object-oriented sense), interfaces, programs and systems in support of the functioning of an enterprise in e-business. The interaction between the software created from these building blocks can be as simple as a function call and data transfer between one short calling program and another (called) program acting synchronously or asynchronously or as complex as commonly found in today's multi-threaded, loadbalanced, load distributed, disparate destination-based, ntier client/server applications and/or enterprise-level process-based systems. The software building blocks supporting the e-business may be written in different languages at different time, reside on different platforms and may have completely different message formats and structures that need to be integrated for the operations of different business processes. The structure, function and behavior of software and the interaction between various software building blocks become very complex, since the building blocks evolve over time due to the reusability of code via class hierarchy, inheritance and interface much like genetics and evolution of species. Thus when software is considered as biotic and living species with and without the presence of abiotic influencing factors defining its environment e.g. finance, talent, investment, and the like, we may introduce the notion of ecology of software for the purpose of studying the life and death of software products, their behavior and their impacts in defining and servicing the new economy. Clearly, we can distinguish two scopes of software ecology: (1) interaction within the software itself and (2) interaction between software and its environment. This paper addresses the former: the ecological aspect of the software infrastructure of e-business. Our discussion will be limited to the introductory, parallelic considerations between biotic system and software systems. The discussion on the latter scope will be addressed in a subsequent paper.