Software Ecosystems: A Quick

desertdysfunctionalInternet and Web Development

Dec 4, 2013 (3 years and 9 months ago)

44 views

Software Ecosystems: A Quick
Introduction

Slinger Jansen, Michael
Cusumano

(2012). Defining Software Ecosystems: A Survey of Software
Platforms and Business Network Governance. Proceedings of the international Workshop on
Software Ecosystems 2012

Examples of Software Ecosystems


Standards

-

XML, BPM,
OSGi
, J2EE,
Corba
,
SEPA, etc.


Products

-

OpenOffice
, Microsoft Word, SAP
BusinessOne
, Grand
Theft Auto
,
etc.


Hardware
-

Playstation

3, HTC Diamond, PDAs,
BMW 5 series, etc.


Platforms
-

.Net
, Facebook, Android, OS X, etc.

X, Y, Z Ecosystem


Natural

Ecosystem
-

An ecosystem consists of an
ecological community together with its abiotic
environment, interacting as a
system.


Business

Ecosystem
-

an economic community
supported by a foundation of interacting
organizations and
individuals.


Digital

Ecosystem
-

a distributed adaptive open
socio
-
technical system with properties of self
-
organization,
scalability and
sustainability.


Software
ecosystems are collections
of
organizations
that are related through
software or a software related
concept


Software
ecosystems are subsets of business
ecosystems
.

Collection of Organizations View

Definitions


Kittlaus

and Clough [29]
define
a
software
ecosystem as an informal
network of (legally independent) units that have a positive influence on
the economic success of a software product and benefit from it".



Bosch [7] defines a software ecosystem as consisting of the set of software
solutions that enable, support, and automate the activities and
transactions by the actors in the associated social or business ecosystems
and the organizations that provide these solutions



Three shared concepts stand out in
these definitions
:


(
1) actors, organizations and businesses,


(
2) networks and social or business ecosystems, and


(
3) software.


A software ecosystem is a set of actors functioning as a unit and interacting
with a shared market for software and services, together with the
relationships among them.

These
relationships are frequently underpinned by a common technological
platform or market and operate through the exchange of information,
resources and artifacts.

For Example:
Solr

Components for the
Ruby Language


Developers and components in
the
Solr

cluster of the Ruby
ecosystem


Developers are light
-
blue


Components are purplish


There are many connections
among authors (not typical)



Used Ruby
-
gems.org

to record
author names and component
names and dependencies

Example 2: Manual Collection

EcoSysNetworks
: A Method for Visualizing Software Ecosystems,
Bala

Iyer
, Proceedings of the
International Workshop on Software Ecosystems 2012, pages 1
-

5

SECO Scope Levels

Different scope levels for different entities of interest:



a
.
Software Supply Network (SSN)
: actors and their relationships


b
.
SECO
: SSNs and their relationships


c
.
SECOs
: SECOs and their relationships

Jansen, S.,
Brinkkemper
, S., Finkelstein, A. (2009). A Sense of Community: A Research Agenda
for Software Ecosystems. 31st International Conference on Software Engineering, New and
Emerging Research
Track.

Software
Production

Decoupling

Points


Software
lifecycle

artifact

scan
be

sold

at different
decoupling

points:


Requirements

specifications

(
requirements

documents
,
etc
)


Product Design




(Design
specifications
, feature
requests
,
etc
)


Software component



(
libraries
,
etc
)


Component
configuration


(
joomla+osCommerce
,
etc
)


Product





(Oracle, Windows,
etc
)


Hardware + product



(
iPod, Phone,
etc
)


Service





(
Webservice
, Gmail,
etc
)

Requirements

Design

Development

Assembly

(including COTS)

Product

Publication

Product

Deployment

Service

Provision

a

b

c

d

e

f

Legend:

Customer order

Operation

Decoupling point

x

g

How to Classify your Ecosystems?


Base technology


Coordinators


Extension market


Accessibility

Classifying Sentence



The [NAME] software ecosystem is based on
a


software
platform
,


software
service platform,


software standard




and
is coordinated by
a


privately
owned
entity


community


With


no
extension market,


a list of
extensions,


an
extension market,


a
commercial extension market,


multiple
extension
markets


to
which participants can submit
extensions


for
free,


after
a screening,


after
making a
payment.

For example: Apple


The
Apple
iOS

software ecosystem is based on
a software
platform

and coordinated
by
a
privately owned entity

with
a commercial
extension market

to which participants can
submit extensions
after making a
payment
.

Ecosystem Health: Productivity,
Robustness, and Niche Creation


Productivity
-

A network's ability to consistently
transform technology and other raw materials of
innovation into lower costs and new products.
Simple to measure: return on invested capital
.


Robustness
-

Should
be capable of surviving
disruptions such as unforeseen technological
change.


Niche creation

-

the ecosystem's capacity to
increase meaningful diversity through the
creation of valuable new functions or niches.

Strategy as Ecology, Marco
Iansiti

and Roy
Levien
. Harvard Business Review, March 2004.

Research Methods in Software
Ecosystems

Typical Research Directions


Let’s take the definition and work from there


A set of
actors

functioning as a unit and
interacting

with a shared market
for software
and services
, together with the relationships
among
them.

A
set of actors
functioning as a unit and interacting with a shared market for
software and services, together with the relationships among them


Who are these organizations and people?


What are the constituents in a software ecosystem or development
community?



Types of research


Economical research


Statistical analysis / surveys


Case studies



Sources of information


Source repositories


The web (
programmableweb.com
)


Statistics bureaus


Partner lists (example: see ODA
web site
)


Etc.

A
set of actors

functioning as a unit

and interacting with a shared market for
software and services, together with the relationships among them


What are these ecosystems?


What defines their boundaries?


What makes them collaborative?


How does the unit function?



Types of research


Economical research


Case studies



Sources of information


Mostly inside information, interviews, news, etc.


Market intelligence

(for example,
distimo
)



Example


The work of
Bala

Iyer

or that of den
Hartigh

A
set of actors

functioning as a unit
and interacting with
a shared market for
software and services
, together with the relationships among them


What are the underlying technical platforms?


How do they work?


How do they enable the software ecosystem?



Types of research


Economical research


Case studies (with a technical component)



Sources of information


Software architecture


APIs


Development toolkits



Example


How to write the perfect API?


A
set of actors

functioning as a unit
and interacting with
a shared market for
software and services
, together with the
relationships

among them


How do parties in the ecosystems communicate?


How are they interrelated?


What are the economical effects (and benefits) from those
relationships?



Types of research


Economical research


Case studies



Sources of information


Any information you can find about the relationship



Example research


Joey’s work on partnership models


Typical Topics


Strategic
advice for software
vendors


A
software ecosystem analysis
method


Software
ecosystem
models


API
related topics: design, development,
marketing



Software
ecosystem modeling



Software
ecosystem practices and experience



Software
business models



Product
software and software licensing



Communities
of practice and software reuse



Economic
impact of software ecosystems



Software
ecosystem creation



Keystone
and niche player survival strategy



Architectural
implications of
reusability


Formal
modeling of business models



API
development



Publishing
APIs



Software
product management



Software
product lines



Software
development communities



Software
ecosystem orchestration



Market
-
specific
domain engineering



Open
source software ecosystems



Virtualized
software enterprises



API
compatibility over subsequent
releases


Platform powers

For Inspiration


Use the software ecosystem book from
Messerschmidt

and
Szyperski
, with its list of
research questions at the end of each chapter