Keywords

1 Introduction

In the last decade, a large amount of research has been devoted to investigate the field of software ecosystems from managerial, social, and technological perspectives [1, 2]. Software ecosystems are sets of actors functioning as a unit and interacting with a shared market for software and services, together with relationships among them [3].

Examples of successful software platforms are Apple’s iOS, Google Apps, and the Mozilla Firefox browser. The leading firm, typically called the orchestrator (or keystone) firm, must promote the sustainable development of the ecosystem by defining strategies and orchestrating the activities of players. The orchestrator is responsible for managing the evolution of the enterprise architecture [4] and the interactions among all actors within the ecosystem [5]. The governance of software ecosystems requires a careful balance of control and autonomy given to players. Orchestrators that are able to balance their own interests by bringing joint benefits for other players are likely to create healthy ecosystems. Software ecosystems governance has become a crucial managerial aspect for proprietary platform owners and open source communities.

According to Tiwana [6], governance mechanisms are employed to establish the level of control, decisions rights, and scope of proprietary versus shared ownership. There are several models to govern software ecosystems. For instance, GNU Linux is an open source ecosystem with a thriving community of developers. Apple’s iOS is a prosperous example of proprietary ecosystem with tight control mechanisms. Google built a lively ecosystem around its Android open source community named the “Open handset Alliance”. On the other hand, Nokia’s Symbian is an open source operating system that failed to create a vibrant ecosystem due to its inability to attract partners and develop a rich set of apps [7].

The examples above show that choosing the right ecosystem strategies and governance mechanisms are life-or-death decisions for orchestrator organizations. In fact, companies engaging in an ecosystem are mutually dependent on each other for survival [8].

We define software ecosystem governance mechanisms as managerial tools of participants in software ecosystems, i.e., orchestrators and platform extenders that have the goal of influencing an ecosystem’s health. Ecosystems are healthy when they exhibit longevity and propensity for growth [9].

Selecting appropriate governance mechanisms is not a trivial task. The challenge is to bound players actions without excessively constraining the desired level of innovation and value creation in the ecosystem. This situation creates fine tension between control and autonomy. Balancing these tensions is one of the main goals of software ecosystem governance. The correct implementation of governance mechanisms can accommodate these tensions towards a sustainable and healthy ecosystem. On the other hand, ineffective governance can result in a declining growth of the ecosystem [10]. The challenge of selecting ecosystem governance strategies that contributes towards the ecosystem health has driven us to conduct a systematic literature review. Our previous review [11] aims at synthesizing the increasing number of studies in the field of software ecosystem governance. In this extended article we include two news research questions to analyze the relationship between health and governance. Therefore, we carried out a new stage of article selection and synthesis.

This article is organized as follows. Section 2 describes the research method. The results of the review are presented in Sect. 3. To discuss the results of our review and propose future areas for investigation, a research agenda containing six areas of interest is proposed in Sect. 4. Then, we discuss threats to validity in Sect. 5. Finally, Sect. 6 concludes this article.

2 Research Method

A Systematic Literature Review (SLR) is a means for answering specific research questions, examining a particular research topic, or phenomenon of interest by systematically identifying, evaluating, and interpreting available relevant research. Our review protocol follows guidelines from Kitchenham and Charters [12]. We undertook the review of studies following these activities: defining research questions, searching relevant studies, applying inclusion/exclusion criteria, assessing the quality of studies, analyzing data, and synthesis.

2.1 Research Questions

We specified four research questions to guide our study:

  1. (i)

    RQ1. How is governance characterized in software ecosystems literature?

  2. (ii)

    RQ2. What are the mechanisms proposed to govern software ecosystems?

  3. (iii)

    RQ3. How is health characterized in software ecosystem literature?

  4. (iv)

    RQ4. What are the metrics proposed to assess the health of software ecosystems?

In RQ1, we present and discuss available definitions for software ecosystems governance proposed by primary studies. Then, we compare the definitions available and propose an integrated definition for the term. We classify the governance mechanisms based on the data gathered from the primary studies following a thematic analysis approach [13]. Our goal to answer the second question (RQ2) is to identify the mechanisms proposed by current literature to govern software ecosystems. We aim at classifying the governance mechanism adopted both by proprietary and open source ecosystems. Selecting appropriate software ecosystem governance mechanisms can nurture the health of the ecosystem [2]. Then, by answering the third question (RQ3), we examine how the health of a software ecosystem is defined. Finally, in the fourth question (RQ4), we show metrics available to measure its health. These metrics are considered the key performance indicators for managers and indicate how well they are doing regarding the governance of their software ecosystems.

2.2 Search Process

To guide the systematic literature review, a protocol was developed to specify the steps and criteria to undertake the review. The review protocol includes details of how different types of studies will be located, appraised, and synthesized [14]. The strategy to collect studies included the following steps: (i) automatic search of electronic databases (ii) manual search of journals, conferences, and workshops (iii) analysis of reference lists from other secondary studies in software ecosystems. The automatic search was executed on the following databases: ACM Digital Library, IEEE Xplore Digital Library, Science Direct, and SpringerLink. We used two independent search strings: “software ecosystem”, “platform ecosystem”. We opted to use generic terms to avoid over restricting the search process. In the early stages of our research we tried to use the search string “software ecosystem” AND “governance”. However, we considered that using these combined keywords the results retrieved from the search engines were very limited. In addition, we conducted a manual search in the following journals, conferences, and workshops:

  • Information and Software Technology;

  • Journal of Software Systems;

  • International Conference on Software Business;

  • International Workshop on Software Ecosystems.

To complement our manual search, we analysed the references of the following reviews in the field of software ecosystems: [1, 5, 15, 16]. Although the scope and research questions of these reviews are different from ours, we examined the list of articles to correct any eventual omission of studies from the other search procedures. 7 studies [S13, S17, S18, S25, S26, S41, S61] were obtained from the analysis of secondary studies described above.

2.3 Inclusion and Exclusion Criteria

We adopted the following inclusion criteria to select articles: (i) studies written in English, (ii) studies that answer at least one research question. The exclusion criteria adopted was: (i) secondary studies (e.g. mapping studies and systematic literature reviews), (ii) technical reports, abstracts, and whitepapers, (iii) duplicate reports of the same study.

The literature collection started with 997 articles returned from the electronic and manual search. The automatic search was conducted on the 5th of January 2016. We did not restrict year range in our search. Then, we excluded articles based on titles and abstract that did not satisfy our inclusion criteria. In practice, we assessed if the title and abstract are likely to answer at least one RQ. Whenever we were in doubt we included the article for further analysis of its full content. After this step, we included 592 studies. Then we read the full content of the articles and selected 67 primary studies. In a last step, a quality assessment [11, 17] of each article was conducted and we finally selected 63 articles [26]. In this extended article, we included 26 new articles that specifically address RQ3 and RQ4, totalizing 89 studies listed in the Appendix.

2.4 Data Extraction and Analysis

We used a database to store data from the selected studies. Two researchers extracted data from the studies. Several discussion meetings were held with all authors to compare extractions, clarify uncertainties, agree on discrepancies, and perform sanity checks. To answer RQ1, we simply searched the term “governance” in the primary studies and checked if the article provided a definition for governance in the context of software ecosystems. To answer RQ2, we used thematic analysis as synthesis method, following the recommended steps proposed by [13]. We identified the relevant codes from primary studies. Then, we merged the codes into key themes. We considered that governance mechanisms were encapsulated in related terms, such as: “manage”, “govern”, “control”, “strategy”, “orchestration” and “critical factors”. We identified the term “health” in the primary studies to answer RQ3. To answer RQ4, we used productivity, robustness and niche creation definitions [S76, S25, S77] to classify health metrics.

3 Results

3.1 RQ1: How is Governance Characterized in Software Ecosystems Literature?

Our results show that the concept of governance is gaining importance in software ecosystem literature. 9 studies [S1, S4, S20, S21, S28, S32, S51, S54, S62] explicitly define what is software ecosystem governance. Jansen [S34] proposes that governance is one of the key domains of the Open Software Enterprise Model. The study adopts the definition of governance given by Dubinsky and Kruchten [S12], who consider governance as “the way a responsibilities, and decision-making processes”. According to Jansen et al. [S32], it also involves the assignment of roles and decision rights, measures, and policies. A fundamental governance decision that orchestrators must make is how much power is given to the community and how much control it keeps for itself. Jansen and Cusmano [S28] and van Angeren et al. [S54] consider that ecosystem governance “involves the use of strategic procedures and processes to control, maintain, or change the ecosystem”. Study [S54] also states that software ecosystems governance “encompasses both technical and managerial aspects, including the management of the software platform and its interfaces, definition of business and partnership models, and establishment of entry barriers”.

Baars and Jansen [S4] software ecosystems governance as: “procedures and processes by which a company controls, changes or maintains its current and future position in a software ecosystem on all different scope levels”. Studies [S1], [S28] and [S62] adopt the same definition. In [S13], the authors do not define what is governance in the context of ecosystems, but they provide a rich discussion on the tensions between open and closed governance models as platforms mature.

Ghazawne et al., [S20] argue that the governance of platform ecosystems involves “a delicate balance act of the platform owner, trying to keep control of the platform while simultaneously seeking to expand the diversity of potential developers”. According to Tiwana et al. [S51], governance broadly refers to “who decides what in an ecosystem”. Study [S51] states that ecosystem governance “involves sharing responsibilities and authority, aligning incentives, and sharing stakes”. Goldbach and Kemper [S21] adopt the same definition of platform governance given by study [S51] to understand how control mechanisms imposed by the platform owner affects the platform stickiness. All primary studies that answer this research question suggest that a key challenge faced by platform owners is balancing their own strategic objectives with the goals and activities of players within the platform. Such delicate balance becomes critical for software ecosystems to thrive.

7 studies [S10, S28, S32, S41, S54, S55, S62] indicate that ecosystem governance influences the health and sustainability of ecosystems. This means that governance strategies and managerial decisions taken by orchestrators will affect the healthy evolution of the entire ecosystem. The primary studies suggest that health metrics provide operational indicators on how software ecosystems are governed. We conclude this section by proposing an integrated definition for software ecosystems governance: all processes by which a player creates value, coordinates relationships, and defines controls.

3.2 RQ2: What are the Mechanisms Proposed to Govern Software Ecosystems?

We define software ecosystem governance mechanisms as managerial tools of players in software ecosystems that have the goal of influencing an ecosystem’s health. We observed that frequently authors use terms such as “orchestration” and “management” to refer to what can be understood as a governance mechanism. To classify the studies, we propose three main categories of governance mechanisms [11]:

Value Creation – Involve mechanisms to generate and distribute value for the whole ecosystem. Value creation mechanisms are generally proposed and nurtured by the orchestrator (i.e. platform and/or marketplace owner), who must understand how to create value that is appreciated both by partners and customers. In this context, it is important to identify sources of value (such as licenses and revenue models), and stimulate the co-creation of value among players, by means of innovation, investments, and cost sharing. As a result, the ecosystem can attract and retain partners who will mutually benefit from the value distributed within the ecosystem. This category covers all the incentives and benefits that players can gain from a software ecosystem.

Coordination of Players – Describe mechanisms to maintain the consistency and integration of activities, relationships, and structures of the ecosystem, for both customers and partners, leading to a harmonious and effective coordination with players in the ecosystem. We identified mechanisms to stimulate partnership models, define roles and responsibilities for players, improve communication channels within the ecosystem, and nurture collaborations. In addition, primary studies propose mechanisms to manage critical issues, such as: conflicts, resources, risks, and expectations. This category focuses on the coordination aspects of governance, whereas the next focuses on strategic decisions of openness and control.

Organizational Openness and Control – These mechanisms capture the notorious tension between open versus closed organizational models and represent how control will be retained by the orchestrator to guarantee its power position and how autonomy will be given for the community to make their own decisions independently. On the one side, orchestrators can support autonomy, distribute power, and share knowledge regarding technological roadmaps and architectural decisions. On the other side, orchestrators can keep control by defining entry requirements, establishing quality standards, and through certifications.

Table 1 (previously presented in [11]) shows the classification of governance mechanisms proposed by the primary studies. In this extended article, we updated the complete list of primary studies, now it has a total of 89 papers. Therefore, the percentage has changed. We observed that the most cited mechanisms are: attract and maintain partners (28 articles, 31%), share knowledge (20 articles, 22%), promote innovation (25 articles, 28%), manage licenses (21 articles, 23%). We do not claim that these are the most important governance mechanisms, as several studies suggest that the governance must match the specific context and market drivers involved in the ecosystem [S4, S13, S25 S32, S43].

Table 1. Governance Mechanisms in Software Ecosystems presented in [11].

3.3 RQ3: How is Health Characterized in Software Ecosystem Literature?

Health is a term originally formulated in the field of natural ecosystems. Costanza [S68] defines a healthy natural ecosystem as “being stable and sustainable, maintaining its organization and autonomy over time and its resilience to stress”. Then, authors from the field of business ecosystems borrowed the term health, such as Den Hartigh, et al. [S10], Iansiti and Levien [S25]. The health concept has been initially proposed by Iansiti and Levien [S25], as a way to measure the performance of business ecosystems. The authors borrowed analogies from biology to explain that similarly as in nature, the health of business networks depends on the intertwined and mutually dependent relationships among ecosystem players. This means that each player may contribute or damage the health of the whole ecosystem.

As suggested by Hansen et al. [18], software ecosystems can be considered a particular type of business ecosystem in which a technological platform intermediates the interactions among players. We observed that primary studies frequently adopt the same definitions from the business ecosystems domain for measuring the health of software ecosystems. In general, platform owners hold a strong responsibility to sustain the performance of the ecosystem. As Iansiti and Levien [S25] points out, platform owners do not promote the prosperity of others for altruistic reasons; they do it because it is a very beneficial strategy. Fotrousi et al. [28] affirm that to create value in a software ecosystem, a platform owner has to ensure that the ecosystem is healthy and sustainable. The overall performance of software ecosystems depends on the actions and decisions taken by each individual player. An ecosystem is healthy when it provides mutual benefits for players [S83]. Sustainability is a closely related concept to ecosystem health. Dhungana et al. [S70] defines sustainable software ecosystem as “one that can increase or maintain its user/developer community over longer periods of time and can survive inherent changes such as new technologies or new products (e.g., from competitors) that can change the population (the community of users, developers, etc.) or significant attacks/ sabotage of the ecosystem platform”. To analyze how authors in the field of software ecosystems understand the term health, Table 2 presents different definitions for software ecosystem health proposed in the literature.

Table 2. Definitions for software ecosystem health found in studies.

3.4 RQ4: What are the Metrics Proposed to Assess the Health of Software Ecosystems?

Measuring the health of software ecosystems inform how the ecosystem is evolving and how effective the governance mechanisms are contributing to the future sustainability of individual players as well as the whole ecosystem. Therefore, we argue that providing an extensive catalogue of health metrics helps players to select the best strategies to survive and obtain benefits from the ecosystem.

In their seminal work, Iansiti and colleagues [S76, S25, S77] defined three critical measures of health for business and biological ecosystems: productivity, robustness, and niche creation. We observed that their studies on ecosystem health have strongly influenced the majority of authors in the software ecosystems domain who investigate this topic. Given the great relevance of Iansiti and colleagues’ work to the body of knowledge in the field of software ecosystem health, we adopt their classification to measure ecosystem health by means of productivity, robustness, and niche creation. Following we define each health element:

  • Productivity – The ability in which an ecosystem converts inputs into outputs;

  • Robustness – The ability of an ecosystem to survive disruptions such as technological and market changes;

  • Niche creation – The ability of an ecosystem to increase meaningful diversity by creating valuable resources and niches.

From Table 2 we synthesize the following: ecosystems are healthy when they exhibit longevity and propensity for growth. Software ecosystem health is determined by the capability of an ecosystem to persistently produce meaningful outputs (productivity), survive market disruptions (robustness), and create niches in the ecosystem (niche creation). The health of a software ecosystem is dependent on the health of the platform, the extensions and its extenders, and the network health of extenders surrounding the platform.

A healthy ecosystem attracts and retains players who can create value and innovations for the platform [S54, S38]. Measuring the health can inform the functioning and evolution by predicting changes and future states of an ecosystem [S82]. Mhamdia [S66] extends Iansiti and Levien’s three health dimensions by introducing creativity and stakeholder satisfaction dimensions. The study proposes a conceptual model to measure the health of software ecosystems.

In a recent SLR, Manikas [16] concluded that successful governance of software ecosystem must make suitable use of ecosystem resources, enhance productivity, support robustness, and promote the ecosystem health. In [S69], den Hartigh suggest that health measurement can be used as an ecosystem governance instrument. These observations show the relevance of selecting appropriate health metrics because they are operational measures of software ecosystems governance.

A large number of metrics to assess the health of software ecosystems have been proposed in literature. However, previous studies do not provide a comprehensive catalogue of health metrics. Table 3 presents a classification of health metrics proposed by primary studies. In our review, 52 metrics were identified and classified into the three health elements (productivity, robustness, niche creation). By adopting thematic analysis to synthesize evidence, we categorized the metrics identified in the primary studies into groups based on their similar meaning. For example, the measures number of copyrights and number of trademarks proposed by Huang et al. [S24] and Ceccagnoli et al. [S8] were integrated within the metric number of patents. Other variants, such as, number of new developers per month [S80], percentage of developers with partner status [S54] were classified in a more generic metric of active contributors/developers.

Table 3. Metrics to assess the health of software ecosystems proposed by the studies.

In some studies, the authors do not explicitly mention the term metrics to assess the health of ecosystems, but after careful analysis and interpretation we considered some terms as types of metric. For example, West and Wood [S61] use the term “success factors” to present measures that other studies clearly classify as a health metric. Another example is Mizushima et al. [S40] that present a set of mechanism to form a successful OSS community, these mechanisms are clearly types of metrics: events for developers, knowledge sharing.

In short, our procedure to synthesize evidence consisted of starting to fill the table with metrics that were explicitly cited as health metrics by the primary studies. Then, we included data that was closely related to the initially identified health metrics but authors do not describe them as such. To avoid a high granularity of information, we only listed metrics that were cited by at least two studies. In essence, no single metric can cover all constituting aspects of software ecosystem health. It is necessary to select a combination of measures to evaluate the health and resulting performance of software ecosystems.

We also classified the studies that propose health metrics for open source and proprietary ecosystems, as described in Table 4. We identified that 24 studies (26%) present metrics to assess the health of proprietary ecosystems and 25 studies (28%) propose health metrics for open source ecosystems. This finding shows a good balance of research on the health of both proprietary and open source ecosystems. However, as highlighted by Alami et al. [S65], ecosystems may not disclose relevant data related to some metrics. For example, data regarding the metric customer leavers can be considered a sign of an unhealthy ecosystem. In fact, this kind of strategic and sensitive data may not be easily obtained. This situation is a challenge to investigate and establish comparisons regarding the health of ecosystems. Data about open source ecosystems can be acquired using repository mining techniques. This can be an advantage to investigate this kind of ecosystem.

Table 4. Type of ecosystem that health metrics have been proposed.

Software ecosystem orchestrators can use information that stem from the health metrics to make well-informed decisions about their strategy. For instance, the governance mechanism attracts and maintains varied partners can be operationalized in terms of the health metrics community building/partnership model, stakeholder/contributor satisfaction, perceived level of intimacy/orchestrator support. By assessing these health metrics, players can make informed decisions on how to improve the attraction and maintenance of varied partners. A key contribution of RQ4 is Table 3. It provides an extensive catalogue of health metrics that can be a useful guide for orchestrators to successfully govern and manage software ecosystems. Therefore, by selecting appropriate health metrics, players can direct the ecosystem towards a sustainable path.

4 Discussion and Research Agenda

The following statements can contribute to the overall research agenda on software ecosystems and serve as an addendum to the works of Jansen et al. [3], Barbosa et al. [1], Manikas [16], and Axelsson and Skoglund [19].

1. The Need for a Common Vocabulary in Software Ecosystems Governance – The numbers of publications in this domain emphasize that the field of software ecosystems governance is maturing. Increasing numbers of work take positions on definitions of the concepts central to software ecosystems: health [20], governance (this work), open source ecosystems [S34], developer ecosystems [S33], and quality in software ecosystems [19], each of these concepts is settling in as an established term in the ecosystems discourse. We identified that several studies adopt related terms such as management and orchestration to refer to governance mechanisms. Therefore, we suggest the need to establish a common glossary and conceptual framework that collects these definitions into one tome of ecosystems governance knowledge.

2. The Need for Practical Governance Guidance – Even though there exists an extensive body of knowledge on software ecosystems governance, it is hard for practitioners to extract practical and strategic guidance from the works under study. There is a need for more consumable and practical knowledge for practitioners. Other relevant studies for practitioners interested on creating health ecosystems dashboards, include Goeminne and Mens [21] on GitHub analysis, collecting intelligence on the progress of particular ecosystems. These tools can form the basic groundwork under mature evaluation mechanisms and tools for large open and commercial software ecosystems.

3. The Need for Analyzing the Interplay between Governance Mechanisms and Health Metrics – Our study indicates that health metrics provide operational indicators on how software ecosystems are governed. Therefore, by selecting appropriate health metrics, players can govern the ecosystem towards a sustainable path. A challenge remains on how to implement governance to foster innovation and encourage autonomous behavior for diversity, without undermining the quality of software and accountability of players’ actions [S20]. The tension between control and autonomy must be appropriately balanced. Understanding how the implementation of specific governance mechanisms affects the success of ecosystems and the underlying enterprise platform is an exciting problem for scholars in the field.

4. Governance of Developer Ecosystems – The developers’ and niche players’ impacts in ecosystems are amplified by the success of the ecosystem. Examples like Farmville for Facebook and Angry Birds for iOS illustrate how ecosystems grow immensely through the success of its constituents. The developers are the starting point for any software ecosystem; hence the recent increase of interest in developer ecosystems. There is a need for further understanding developers interests and behaviors [S38]. Barriers to entry, platform stickiness, and developer attraction are factors that require further research. An extension to this perspective is a need for further study of enterprise architecture and delivery mechanisms that enable software ecosystems [S33]. Orchestrators must understand developers’ motivations and expectations to adopt appropriate governance mechanisms.

5. The Need for Studying Governance in Open Software Ecosystems – Open source ecosystems exhibit different properties than more traditional closed and commercial ecosystems. The openness of a platform permeates through every aspect of an ecosystem, whether it is about ownership of the code or about mechanisms around supporting tools, such as application stores. These openness questions also play a part in the architecture of a platform itself: without an open platform architecture, extenders cannot extend it. In our SLR, we found no study that presented a comparative analysis of governance mechanisms employed by open source versus proprietary ecosystems. This is a promising line of research.

6. The Need for Understanding the Interactions Between Ecosystems – Even good governance can lead to the demise of an ecosystem due to external factors. When looking at the governance and health of the Symbian ecosystem in 2007, it would have been hard to predict its demise. One can speculate about its poor business support from Nokia and fundamental faults in the business model of Symbian. However, it is hard to ignore the impending doom coming from the iPhone after 2007: its high rate of adoption and superior technology simply blew the Symbian ecosystem away. The challenge for governance research in the next decade will be to analyses and understand the interplay between large ecosystems. As long as standards, age-old ecosystems, and settled industry stacks can be blown away or grow exponentially through the workings of other ecosystems, we must develop governance tools and management practices that focus on the robustness of software ecosystems that can prepare for surviving in such storms. Threats to Validity.

Our study faced similar validity threats as any other systematic literature review. Two of the main limitations in a review are the bias in selection and data extraction procedures [12]. Software ecosystem is a multidisciplinary field covering studies from software engineering, information systems, organization, and management science. To limit the threat of not including relevant primary studies, we adopted a search strategy with generic keywords to retrieve as many articles as possible that were related to the research topic. We complemented the automatic search with manual searches in the main journals, conferences, and workshops where studies in software ecosystems have been published. In addition, we also analyzed the primary studies of other literature reviews published in the field.

In order to mitigate the impact of selection bias, we defined the review protocol with clear inclusion and exclusion criteria for each selection step. In the first selection step, a large number of irrelevant studies were removed by analyzing title and abstract. One author performed this task. In the second selection step, two authors screened the content of studies and constantly crosschecked the preliminary selection results. We also analyzed the potential primary studies against a quality assessment checklist. With respect to bias in the data extraction, we had some problems to extract relevant information from primary studies. This problem was more critical to answer RQ2. We observed that studies use different terminologies to describe aspects related to governance mechanisms and metrics to operationalize health. This specific limitation of the software ecosystem literature was discussed on item 1 of our research agenda presented in Sect. 4. In several occasions, we had to interpret the subjective information provided by the articles. To minimize interpretation bias, we conducted a very careful reading and had several discussion meetings among the authors during the data extraction phase.

5 Comparison with Other Reviews in the Field

The field of software ecosystems has received a number of literature reviews in the last years. Some studies cover the area of software ecosystems in general, such as [1, 5, 16, 22]. Other reviews focus on specific aspects of software ecosystems research, for instance quality assurance [19], quality models [15], key performance indicators [23], open innovation [24], and health [25].

Barbosa and Alves [22] published the first mapping study in software ecosystems. The study analyzed 44 primary studies and the results brought a general perspective of the field by identifying benefits, challenges, and the main areas of investigation in software ecosystems. In Barbosa et al. [1], the authors extended the review by analyzing software ecosystems from a three-dimensional perspective: technical, business, and social.

Manikas and Hansen [5] published a systematic literature review covering the whole field of software ecosystems. They analyzed 90 primary studies and addressed general research questions. The main contributions included a comparison of definitions for software ecosystems and a description of the most common actors found in literature. In the review that covered studies between 2007–2012, the authors recognized that the field was still immature due to a lack of analytical models and industrial studies.

In [16], Manikas updated the review to cover 231 studies published until 2014. This study is the most recent review that analyzes the software ecosystems field as a whole. In Table 4, we identified that primary studies describe health metrics for open and proprietary ecosystems in quite similar proportion as Manikas. However, it is worth noting that the scope of our studies is different. Manikas [16] cover the whole field of software ecosystems while ours focus specifically on governance issues.

An important result from Manikas [16] is the confirmation that the field obtained a fast increase in the number of publications and a growing number of empirical studies. These results could be interpreted as a sign of field maturity. Nevertheless, Manikas concludes that the field still lacks theories to explain specific phenomena in the field of software ecosystems.

Hyrynsalmi et al. [25] conducted a SLR of 38 primary studies to characterize software ecosystem health. The authors obtained a similar result as ours by confirming that the most adopted definition for health is provided by Iansiti and Levien [8] [S25]. Our review is more complete than the work by Hyrynsalmi et al. [25] because we performed an extensive classification of metrics to operationalize the three health elements (productivity, robustness, and niche creation). While the authors simply listed how primary studies define software ecosystems health and analyzed the factors that affect the health of ecosystems. Therefore, our review provides an updated and comprehensive synthesis of health metrics as described in Table 3. We consider it is a novel contribution.

Axelsson and Skoglund [19] mapped the literature of quality assurance in software ecosystems. The authors only identified six primary studies. The findings are quite superficial and the analysis of studies is very descriptive. The primary studies were simply summarized in the review. The main contribution of this mapping study is a research agenda to address the challenges in this specific area of software ecosystem research.

Franco-Bedoya et al. [15] conducted a superficial SLR, based on 17 primary studies, with the purpose of identifying measures to evaluate the quality of OSS ecosystems. The main contribution of the review is the proposal of a quality model called QuESO that organizes the quality measures found in literature into several quality characteristics. The model covers three aspects of OSS ecosystems: platform, community, and network. Our study is more complete because we synthesize a comprehensive list of health metrics for proprietary and open source ecosystems.

Fortrousi et al. [23] executed a mapping study to provide an overview on the use of Key Performance Indicators (KPI) for managing software ecosystems. The study analyzed 34 articles. The authors identified that ecosystem objectives supported by KPI embrace business improvement, interconnectedness improvement, growth and stability, quality improvement, and sustainability. A key contribution of the review is the classification of measurement attributes. Again, the results presented in our review, such as in Table 3, are more complete than the results from [23].

Finally, Papatheocharous et al. [24] performed a mapping study on ecosystems and open innovation for embedded systems, in which 260 studies were identified. An important limitation of the study [24] is the lack of a complete list of primary studies. This type of information is essential for other researchers to compare secondary studies and assess the reliability of the review performed. The research questions are very generic. In fact, the review does not provide a clear discussion on the main overlaps between ecosystem and open innovation areas.

Our review differs from the previously described secondary studies in that we address a specific area of software ecosystem research – the governance of software ecosystems.

6 Conclusion

Governance is a well-established concept primarily associated with the needs to protect investment and ensure the sustainability of businesses through time [26]. Governance involves a set of principles to direct the distribution of rights and responsibilities among stakeholders. Traditional corporate governance mechanisms include monitoring actions, policies, and decisions by aligning the interests of different stakeholders.

In our SLR we provide an in-depth analysis of the field by characterizing what ecosystem governance means (RQ1), by classifying 20 governance mechanisms found in literature as value creation, coordination of players, and organizational openness and control (RQ2), by defining software ecosystem health (RQ3) and describing catalogue with a large variety metrics proposed to assess the health of software ecosystems (RQ4).

We concluded that software ecosystems governance is all processes by which a player creates value, coordinates relationships, and defines controls. We derive from the literature that software ecosystem health is determined by the capability of an ecosystem to persistently produce meaningful outputs (productivity), survive market disruptions (robustness), and create niches in the ecosystem (niche creation). Therefore, we understand that our article brings a novel contribution to synthesize the body of knowledge in software ecosystems governance that has a relevant scientific impact.

Practitioners can use our results to understand the concept of ecosystem governance. The catalogue of metrics also will be useful for practitioners to create operational indicators and improve the governance of software ecosystems.

Presently we are developing a conceptual model that represents a holistic view of the elements to be governed in SECO and their relations. The model is building from the assumption that understanding the governance elements of a software ecosystem and governing them based on the relationships they have with one another increases the chances of survival of a software ecosystem. The conceptual model will be evaluated by a survey with researchers and through case studies of open and proprietary software ecosystems. In future research, we aim to analyze the interplay between governance mechanisms and health metrics.