Of software ecosystems, symbiosis and co-innovation

What is a business without a vibrant ecosystem? Barren and destined for oblivion.

What is a business without a vibrant ecosystem? Barren and destined for oblivion. At least that's how enterprise software companies seem to think based on all the ecosystems (some mutually beneficial and others parasitic or amensalist). It's beyond having an efficient supply chain (a kind of ecosystem) to flatten costs, speed delivery and adapt to changing conditions, or the interlaced forces--a meta-ecosystem--that shape the computer industry.


An ecosystem is defined as a system formed by the interaction of a community of organisms with their physical environment. For example, wolves live in the highlands, feed on native deer, rabbits and other creatures, which feed on grasses and other elements. So it goes in the highland ecosystem. [Photo credit: NOAA]

According the entry on Wikipedia, ecosystem balance is about symbiosis:

This balance is achieved through various types of symbiosis, such as predation, parasitism, mutualism, commensalism, competition, and amensalism. Introduction of new elements, whether abiotic or biotic, into an ecosystem tend to have a disruptive effect. In some cases, this can lead to ecological collapse and the death of many native species.

Disruptive effects, leading to the collapse and death of native species, is at the core of technology evolution and balancing the past, present and future. The PC disrupted the mainframe and mini ecosystem, and the Internet is impacting the client/server ecosystem that was dominant in the 1990's.

The software industry exhibits the various types of symbiosis within its loose hierarchy of ecosystems, such as predation (Oracle), parasitism (spyware), mutualism (open source), commensalism (virtual machines), competition (for customers and $$) and amensalism (Microsoft).

In fact, at any given time, most software companies exhibit multiple types of symbiosis simultaneously. Microsoft is both mutualist and amensalist at the same time. Developers who target Windows, Xbox and other Microsoft platforms can reap great rewards from the large community of buyers if they can master a niche that Microsoft leaves open. Microsoft practices amensalism when it impedes the success of others through its business practices (which have been labeled monopolistic at times) and control of access to deeper levels of its enabling technology.

Today, with open source models thriving and the Internet accessible as a "free" platform, the quest for dominance, or at least relevance, in the software ecosystem now require more mutualism, in which both (or all) parties--vendors, customers, independent developers and partners--benefit and potentially generate synergy, where the combined effect of participants in the ecosystem can be greater than the sum of their individual effects.


Dana Blankenhorn describes a software ecosystem as "every program written for a particular piece of software or hardware." He goes on to say: "It is very very hard for any company to carry a platform on its own. The more other companies contribute to that platform, by writing software that works on the platform, the more that weight is lifted off the creator's shoulders and shared by others." His definition is useful to vendors as long as the ecosystem economics are sound--more mutualist.

The software game has changed, from best of breed products to suites, and now to platforms that cover various parts of the stack. Linux, for example, has a vibrant ecosystem built around an operating system. It is the most mutualist of models, and large footprint companies, such as Red Hat and IBM, take full advantage of the Linux ecosystem's collaborative development environment. 

Sun has been rather mutualist throughout its history, and lately with open source Solaris, Open Document Format support, Java and its notion of vendor agnostic components and services. Oracle recently started talking in a similar fashion, praising open standards, interoperability (support for IBM's WebSphere) and competition based on superior implementation, not proprietary code. However, Oracle's predatory/fiercely competitive nature isn't dormant either. The company wants to sell you the entire stack if possible, and hopefully pin it to its proprietary database, which is optimized for the stack. IBM WebSphere and DB2 is on the same page. Sun would like to sell you its stack for a yearly subscription, and doesn't (yet) have its own database to blend into the mash.

In the last few years, new software ecosystems, perhaps sub-ecosystems, have bubbled up, composed of vendors and developers building components and applications that support a particular middleware or application platform. It's a battle for independent developers and programmers within customer sites, as well as partners and integrators, whose handiwork increases the utility and clout of a platform.

Salesforce.com, for example, is trying to build an ecosystem, by opening up its proprietary software and providing tools and APIs so that developers can expand the footprint of applications on its Appforce platform. It's competing above the operating systems and is hosted on the Web. It's the new, old model--sell a good razor that takes care of all the busy work and let others sell the razor blades, up to a point.

SAP just announced the Enterprise Services Community Process. Similar to the Java Community Process and Eclipse, it encourage SAP customers, developers and SAP itself to create components that work with SAP's NetWeaver platform. Referencing Oracle's roll up of competing software companies, Shai Agassi, president of SAP's product and technology group, said, "You don't need to go out and buy every company out there. You need an ecosystem for co-innovation." Oracle is expressing a similar point of view with its Fusion Project.

As Phil Wainewright writes, developing a software ecosystem is also about having a services infrastructure that allows competitors and developers to plug in and build marketplaces. " Imagine the power those ecosystem platforms will hold. These are the vendors whose influence will dominate the Web 2.0 landscape. That's why, before the great Web 2.0 application mash-up can begin, there will be an almighty smash-up between the competing contenders," Phil writes. He lists salesforce.com, StrikeIron Web Services Marketplace, the Reardon Commerce Platform, Amazon Web Services and Google as examples of services ecosystems, along with Yahoo, Microsoft, SAP and Oracle, and perhaps IBM.

Phil concludes:

"So what's the prognosis? At present, the dream of composing an enterprise application stack from mix-and-match services is really only possible within a tightly controlled architecture built entirely by a single organisation, which kind of defeats one of the principal objects of building it that way in the first place. As Jeff Schneider, another service-oriented blogger, noted last week, 'Services will be built, bought, leased and borrowed. Recombining services, from anywhere, for value-add solutions is at the heart of a Service Oriented Enterprise.' Marketplaces will come into being to fulfil that demand."

The meta-ecosystem going forward will be connecting and recombining services, based on open, non-forking standards, with the platform ecosystems (which will eventually be services as well)--based on open source or proprietary, or hybrid, cores. It requires a mutualist/competitive attitude.  Evolving to a more balanced, loosely-coupled software ecosystem (more like biological ecosystems), isn't much of a technical challenge, but overcoming cultural biases will be like climbing Mt. Everest during a storm.