What distinguishes a Software Ecosystem from a Business Ecosystem?

Both the term of “software ecosystem“, as well as “business ecosystem” are based on the concept of natural ecosystems.

The idea of thinking about interacting companies in the terms of an ecosystem was originally introduced by James Moore in the early 90s. Moore defined a Business ecosystem as:

“An economic community supported by a foundation of interacting organizations and individuals—the organisms of the business world. The economic community produces goods and services of value to customers, who are themselves members of the ecosystem. The member organisms also include suppliers, lead producers, competitors, and other stakeholders. Over time, they coevolve their capabilities and roles, and tend to align themselves with the directions set by one or more central companies. Those companies holding leadership roles may change over time, but the function of ecosystem leader is valued by the community because it enables members to move toward shared visions to align their investments, and to find mutually supportive roles.” (Moore, 1996)

This definition defines the actors in an ecosystem as “organizations and individuals“. There is no mention of “products” whatsoever. This lack of products as actors is caused by the fact that all relations within a Business Ecosystem are the results of physical communication between companies and individuals. In the software industry a lot of communication is done digitally as a relationship between products. Based on this, the most important difference between Software and Business Ecosystems is the major role played by products as an actor in the ecosystem. It is important to note that a Software Ecosystem is not a different ecosystem than a Business Ecosystem, but is an ecosystem with additional concepts and consequences.

This difference has a lot of consequences for the characteristics and dynamics of the ecosystem. Because of the fact different products can communicate with each other reasonably easy and also with a lot of product at the same time, a Software Ecosystem tends to be bigger and more extensive than a Business Ecosystem. Another reason for a Software Ecosystem to be more extensive than a Business Ecosystem is the fact third parties can fairly easy build additional products based on one “keystone” product or platform, which on their turn can have their own sub-ecosystem. In a Software Ecosystem it is possible to “open your doors” (through for example APIs) and let other people use your product in a way that is impossible in a Business Ecosystem

This post is meant to discuss and try to come up with a complete definition of Software Ecosystems and a clear distinction between Software Ecosystems and Business Ecosystems. My vision is not complete and is very open to feedback. Please use the comments to provide your vision on this issue and extend the definition.


Openness in mobile software ecosystem

It is about 5 months I have already finished my thesis. The title was “architectural support for openness in mobile software platforms” which initially was introduced here in the last January. The overall aim of the research was identification of openness strategy in mobile platforms based on the software architecture of the platforms. Now, let’s look at the summary of objectives and findings:

Research Objective 1: Building a model to describe the architectural openness of mobile platforms

Architectural openness model is built based on a typical layered architecture which is applicable to all main mobile software platforms. Besides the layered architecture, the model shows three ways of accessibility to the platform for each layer: integrating, extending and modifying.

Research Objective 2: Defining architectural openness factors by considering the licensing aspects of mobile platforms in the model

Although the model shows the platform access and extension methods in different levels, but to demonstrate the openness strategy of a platform, licensing aspects of the platform should also be considered.

Research Objective 3: Looking at main mobile platforms by the lens of developed model and factors to determine how open the platforms are

Research Objective 4: Conducting some qualitative interviews with application developers of the platforms to confirm the results of previous step

The openness strategy of main mobile platforms include Android, Symbian, iPhone, Windows Mobile and Blackberry is discussed by applying the architectural openness model and factors in the architecture and licensing aspect of the platforms which are gained from the literature. Due to insufficiency of literature and documents of the platforms, some factors needed to be confirmed by interviews. The following table shows the comparison of openness in the main mobile platforms.

The full-text of the thesis is available here. Besides, on ACM you can find a paper from the thesis which I wrote with Slinger and we presented it on the second workshop of SECO in Copenhagen. Also the slides of the presentation is available here.


Software Ecosystem Health Check @ Universiteit Utrecht

Because of the intended Dutch audience, the following post is written in Dutch.

Om strategische beslissingen te maken moet een softwarebedrijf kennis hebben over het ecosysteem waarin het opereert. De Universiteit Utrecht doet onderzoek naar deze software ecosystemen en de strategische beslissingen waarmee een bedrijf succesvoller kan worden.
De Universiteit Utrecht voert regelmatig Software Ecosystem Health Scans uit, waarbij gekeken wordt of uw bedrijf en de ecosystemen waarin het actief is op een gezonde wijze functioneren. Uw bedrijf krijgt vervolgens de mogelijkheid om de kansen binnen het ecosysteem te exploreren en evalueren. Aan de hand van de scan wordt een adviesrapport opgesteld met daarin concrete implementeerbare maatregelen waarmee een bedrijf haar strategische positie kan verbeteren en kan groeien met de “power of many”.


Om tot de juiste strategische beslissingen te komen en de effecten te overzien, stelt de Universiteit Utrecht een aantal vragen om tot de kern van de mogelijkheden van een software ecosysteem te komen. De volgende vragen worden daarbij onder andere gesteld:

  • Welke rol vervult uw bedrijf binnen de ecosystemen waarin u actief bent?
  • Welke beslissingen kan u nemen om ‘opener’ te worden zonder intellectueel eigendom prijs te geven?
  • Wat zijn de sterke en zwakke punten van uw bedrijf binnen het ecosysteem?
  • Hoe innovatief is het ecosysteem?
  • Hoe zien klanten en partners van uw bedrijf het ecosysteem en de rol van uw bedrijf daarin?

De toegepaste onderzoeksmethoden zijn onder andere enquêtes, boardroom meetings, business model evaluaties, en het modelleren en analyseren van het softwarenetwerk.


Uit eerdere onderzoeken is gebleken dat de resultaten een goed inzicht geven in de situatie en mogelijkheden van uw bedrijf. Sterke en zwakke concurrenten worden geïdentificeerd, bedreigingen en kansen worden aangewezen, en vermoedens over klant en partnerperceptie worden bevestigd. Specifiek resulteert het onderzoek in een adviesrapport aangaande het ecosysteem en de manier waarop het softwarebedrijf het ecosysteem naar eigen inzicht kan gebruiken voor groei, nieuwe klanten, en strategische keuzes. In het rapport wordt specifiek aandacht besteed aan software ecosysteemrol en positionering, kansen en bedreigingen in het ecosysteem voor het productportfolio en platforms, klant- en partnerperceptie van het softwarebedrijf, openheidsevaluatie van de processen van het softwarebedrijf, en de identificatie kansen en bedreigingen concurrenten.
Het rapport wordt toegelicht met een uitgebreide presentatie door de Universiteit Utrecht. Drie en zes maanden na de scan en het opleveren van het rapport worden geïmplementeerde maatregelen geëvalueerd. De healthscans zijn per direct beschikbaar en kosten zijn afhankelijk van de grootte van het onderzoek.

Neem gerust contact op met mij (j.kabbedijk@cs.uu.nl), Dr. Slinger Jansen of Prof. Dr. Sjaak Brinkkemper voor meer informatie of om een Software Ecosystem Health Check aan te vragen voor uw bedrijf.

Zie ook de Software Ecosystem Health Check Flyer.

Ubuntu switching to Unity, what does this mean?

Ubuntu is currently the most popular Open Source operating system and estimations indicate a total market share of 10% in the desktop market (same size as Apple’s OSX). All applications implemented in Ubuntu share this same usage and changes in the implemented applications could mean a lot for the ecosystem around Ubuntu. An insight in the current situation around changes in Ubuntu is provided below by Wilbert Seele. Wilbert is the current Commissioner for External Relations for Sticky, the association for students in Informatics and Information Science at Utrecht University and is currently researching the ecosystem around open source desktop environments.

Ubuntu switching to Unity, what does this mean?

Ubuntu UnityThe Ubuntu management recently announced that Ubuntu 11.04 (“Natty Narwhal”) will use a variant of the Unity desktop as the standard. The Unity desktop was recently released for use with netbooks, and was developed to maximize screenspace and ease-of-use on smaller screens.

Unity however is not without it’s detractors. Criticism has been given for the use of Mutter for it’s window compositing, which is being developed as part of the greater GNOME 3.0 project. Mutter in it’s current state suffers from various performance problems, which resulted  in a not too warm welcome in the netbook ecosystem. When Unity was announced as the default for the desktop version, many were quick to point this out.

Quite unexpectedly though, the Ubuntu management announced they would be dropping Mutter in favor of Compiz, citing greater stability and performance as the main reasons. Compiz is well known in the Linux scene for being a OpenGL-driven 3D window compositor, and being well, quite impressive visually. It suffered however from being a “project without a cause”, due to most desktop environments having their own window compositors (KWin for KDE and Metacity for GNOME). With recents events however, it received a massive boost in usage, funding and developers (Compiz developers have been hired by Canonical, the company behind Ubuntu, and the Ubuntu developers themselves will commit code upstream).

So what does all this mean for the various ecosystems?

Ubuntu is differentiating itself in the Linux ecosystem. While various differences with other distro’s already existed, such as the “Me Menu” and the Software Center, effectively users used the same GNOME environment as in Fedora or Debian. With the move to Unity they are offering users a completely different user-experience, and thus further differentiating themselves from the broader Linux ecosystem.

With Compiz now having the full support and backing of the most-used Linux distribution the project has moved from an enthousiast niche into the mainstream. We can expect development to be much faster, with a greater attention to stability.

Finally GNOME. With Ubuntu rejecting both the standard GNOME interface (and the future 3.0 interface as well) they were already moving away from the mainline project. With the rejection of Mutter they’ve rejected a major part of the back-end as well. By adopting Unity as the default desktop Ubuntu has effectively forked the parts of GNOME they wanted, and rejected the rest. What does this mean for GNOME? In terms of developers, not that much. The Ubuntu team have made relatively few commits upstream (the large majority comes from Red Hat). However, they will lose a major part of their userbase with this move, which may include future developers.