- Research Article
109
- 10.1016/j.infsof.2017.07.007
Open source software ecosystems: A Systematic mapping
- Jul 08, 2017
- Information and Software Technology
- Oscar Franco-Bedoya + 3 more +3
Open source software ecosystems: A Systematic mapping
The development of machine learning (ML) systems in high-stakes domains has amplified concerns about fairness, prompting the creation of fairness toolkits offering metrics and mitigation techniques. Open-source software (OSS) ecosystems, a critical driver of AI innovation, present a unique opportunity to study the practical adoption of these toolkits. This paper aims to empirically characterize the adoption of fairness toolkits in OSS ML projects by investigating for what purposes they are used and how their usage evolves over time. We conducted a mining study on GitHub repositories related to real-world ML projects that integrate fairness toolkits such as AIF360 and Fairlearn . Starting from 1,096 candidate repositories, we applied systematic filtering to identify a final dataset of 20 relevant ML projects (comprising 5,777 total commits). We analyzed toolkit usage by examining invoked APIs and commit histories to uncover patterns of adoption and evolution. Our findings reveal that fairness toolkits are predominantly used for diagnostic purposes, with analytic components integrated early in the project lifecycle and rarely modified thereafter. In contrast, mitigation techniques are infrequently adopted, tend to appear later, and exhibit short, unstable lifespans. Our results show that the adoption of fairness toolkits in OSS ML projects is limited and often restricted to initial diagnostic phases, with active mitigation practices remaining rare. These findings highlight the need for improved support to foster more sustained and effective integration of fairness practices within open-source development.
Open source software ecosystems: A Systematic mapping
Open source software ecosystems: A Systematic mapping
A Theoretical Framework for Enhancing Open-Source Software Security
Cyber security is a rapidly developing field and open-source software (OSS) is being led by a collaborative community and a transparent nature. This research intends to make a theoretical framework highlighting the symbiosis of community engagement models, governance models, and the security of open-source ecosystems. The significant purposes aim to investigate how community engagement affects open source software development, analyze the deployment of the governance systems in widely used open source projects, and create the theoretical model that brings the cybersecurity processes in those practices. The literature survey covers existing research on open-source software development, community engagement, governance models, and cybersecurity practices within the OSS ecosystem. Through literature review the basic concepts are investigated using conceptual analysis to determine which principles and mechanisms the Community Model Engagement and Governance models operate, influencing the security of Open Source Software. Open-source project policy recommendations are the foundation for the security of communities where members fully contribute to better governance. This includes developing a fundamental conceptual analysis to lay out the framework's principles and operation (mechanisms). This contributes to the overall development of the theoretical framework. This research expects to develop a standardized theoretical framework that tackles the community engagement-governance models-security software link from new and insightful perspectives. Practical policy recommendations to protect OSS projects will be presented to solve the cybersecurity problem easily and immediately. This study aims to add to the academic and practical discussions that focus on human and organizational components' critical roles in securing open-source software. The discussion of theoretical aspects gives this platform a unique angle that fits well into the technical approach while improving the understanding of a legally open cybersecurity community
Read moreA structure for innovation reproduction in the Eclipse OSS ecosystem
In Open Source Software (OSS) development community supported by spontaneous volunteers, technical capabilities, hunger for fame and the satisfaction of contribution are said to be motivating factor for participation. In that community, vendors always play auxiliary roles, and integrate the result of OSS into their business activities. However, in the Eclipse OSS community, the main role of OSS development activities is taken over by vendors. The relationship between individuals and vendors is reversed. Therefore, it becomes important to maintain the motivation of the development community, promote innovation and link the activities to the profit of vendors. In other words, management of co-creation and competition are being conducted at the same time. This paper tries to clarify internal and external structures in an OSS ecosystem led by vendors considering the Eclipse community as one particular case. Also it constructs a co-creation model to promote sustainable development for an OSS ecosystem.
Read moreThe Life and Death of Software Ecosystems
Software ecosystems have gained a lot of attention in recent times. Industry and developers gather around technologies and collaborate to their advancement; when the boundaries of such an effort go beyond certain amount of projects, we are witnessing the appearance of Free/Libre and Open Source Software (FLOSS) ecosystems. In this chapter, we explore two aspects that contribute to a healthy ecosystem, related to the attraction (and detraction) and the death of ecosystems. To function and survive, ecosystems need to attract people, get them onboarded, and retain them. In Section One, we explore possibilities with provocative research questions for attracting and detracting contributors (and users): the lifeblood of FLOSS ecosystems. Then, in the Section Two, we focus on the death of systems, exploring some presumed to be dead systems and their state in the afterlife.
Read moreLicensing and Competition for Services in Open Source Software
Open source software is becoming increasingly prominent, and the economic structure of open-source development is changing. In recent years, firms motivated by revenues from software services markets have become the primary contributors to open-source development. In this paper we study the role of services in open source software development and explore the choice between open source and proprietary software. Specifically, our economic model jointly analyzes the investment and pricing decisions of the originators of software and of subsequent open-source contributors. We find that if a contributor is efficient in software development, the originator should adopt an open-source strategy, allowing the contributor to offer higher total quality and capture the higher end of the market while the originator focuses on providing software services to lower end consumers. Conversely, if the contributor is not efficient in development, the originator should adopt a proprietary software development strategy, gaining revenue from software sales and squeezing the contributor out of the services market. In certain cases an increase in originator development efficiency can result in increased contributor profits. Finally, we find that, somewhat counterintuitively, an increase in contributor development efficiency can reduce overall social welfare.
Read moreChemist versus Machine: Traditional Knowledge versus Machine Learning Techniques
Chemical heuristics have been fundamental to the advancement of chemistry and materials science. These heuristics are typically established by scientists using knowledge and creativity to extract patterns from limited datasets. Machine learning offers opportunities to perfect this approach using computers and larger datasets. Here, we discuss the relationships between traditional heuristics and machine learning approaches. We show how traditional rules can be challenged by large-scale statistical assessment and how traditional concepts commonly used as features are feeding the machine learning techniques. We stress the waste involved in relearning chemical rules and the challenges in terms of data size requirements for purely data-driven approaches. Our view is that heuristic and machine learning approaches are at their best when they work together.
Read more“We do not appreciate being experimented on”: Developer and researcher views on the ethics of experiments on open-source projects
“We do not appreciate being experimented on”: Developer and researcher views on the ethics of experiments on open-source projects
Read moreEngineering problems in machine learning systems
Fatal accidents are a major issue hindering the wide acceptance of safety-critical systems that employ machine learning and deep learning models, such as automated driving vehicles. In order to use machine learning in a safety-critical system, it is necessary to demonstrate the safety and security of the system through engineering processes. However, thus far, no such widely accepted engineering concepts or frameworks have been established for these systems. The key to using a machine learning model in a deductively engineered system is decomposing the data-driven training of machine learning models into requirement, design, and verification, particularly for machine learning models used in safety-critical systems. Simultaneously, open problems and relevant technical fields are not organized in a manner that enables researchers to select a theme and work on it. In this study, we identify, classify, and explore the open problems in engineering (safety-critical) machine learning systems—that is, in terms of requirement, design, and verification of machine learning models and systems—as well as discuss related works and research directions, using automated driving vehicles as an example. Our results show that machine learning models are characterized by a lack of requirements specification, lack of design specification, lack of interpretability, and lack of robustness. We also perform a gap analysis on a conventional system quality standard SQuaRE with the characteristics of machine learning models to study quality models for machine learning systems. We find that a lack of requirements specification and lack of robustness have the greatest impact on conventional quality models.
Read moreTechnology readiness levels for machine learning systems
The development and deployment of machine learning systems can be executed easily with modern tools, but the process is typically rushed and means-to-an-end. Lack of diligence can lead to technical debt, scope creep and misaligned objectives, model misuse and failures, and expensive consequences. Engineering systems, on the other hand, follow well-defined processes and testing standards to streamline development for high-quality, reliable results. The extreme is spacecraft systems, with mission critical measures and robustness throughout the process. Drawing on experience in both spacecraft engineering and machine learning (research through product across domain areas), we’ve developed a proven systems engineering approach for machine learning and artificial intelligence: the Machine Learning Technology Readiness Levels framework defines a principled process to ensure robust, reliable, and responsible systems while being streamlined for machine learning workflows, including key distinctions from traditional software engineering, and a lingua franca for people across teams and organizations to work collaboratively on machine learning and artificial intelligence technologies. Here we describe the framework and elucidate with use-cases from physics research to computer vision apps to medical diagnostics.
Read moreQuESo - A Quality Model for Open Source Software Ecosystems
Open source software has witnessed an exponential growth in the last two decades and it is playing an increasingly important role in many companies and organizations leading to the formation of open source software ecosystems. In this paper we present a quality model that will allow the evaluation of those ecosystems in terms of their relevant quality characteristics such as health or activeness. To design this quality model we started by analysing the quality measures found during the execution of a systematic literature review on open source software ecosystems and, then, we classified and reorganized the set of measures in order to build a solid quality model.
Read moreA Systematic Review of Research on Open Source Software in Commercial Software Product Development
Background: The popularity of the open source software development in the last decade, has brought about an increased interest from the industry on how to use open source components, participate in the open source community, build business models around this type of software development, and learn more about open source development methodologies. Aim: The aim of this study is to review research carried out on usage of open source components and development methodologies by the industry, as well as companies’ participation in the open source community. Method: Systematic review through searches in library databases and manual identification of articles from the open source conference. Results: 19 articles were identified. Conclusions: The articles could be divided into four categories: open source as part of component based software engineering, business models with open source in commercial organization, company participation in open source development communities, and usage of open source processes within a company.
Read moreChallenges in AutoML and Declarative Studies Using Systematic Literature Review
Machine Learning (ML) technologies have become essential tools, transforming industries and unlocking incredible potential in various fields. ML is now widely used for data-driven decision-making and predictive analytics across fields like healthcare, finance, transportation, and more. However, building and implementing ML models can be complex and time-consuming, often requiring programming proficiency and data science skills. Despite significant progress in ML, non-experts often struggle with selecting algorithms, optimizing models, and deploying ML solutions. This paper conducts a systematic literature review to explore challenges in the area of machine learning based on multiple categories involving features engineering and data extraction, learning model structure and activities, learning-based analysis and visualization, analysis algorithms in data-based systems, machine learning algorithms and systems development, and declarative ML-based prediction. Addressing these challenges underlines the importance of following AutoML and Declarative ML strategies in simplifying the ML process.
Read moreOpen source: does transparency lead to security?
Open source: does transparency lead to security?
The process of quality assurance under open source software development
Open Source Software (OSS) is software products available to the public, with its source code to study, change, and improves its design. Open Source Software Development (OSSD) is the process by which open source software is developed within the confines of software engineering life-cycle methods. However when open source used for commercial purpose, then an open source license is required. Open source software is very often developed in a public and collaborative manner. The quality assurance principle under open source software development is an approach to improve software product quality against traditional methods and techniques. Despite the fact that the open source developments have seen remarkable successful in recent years, there are a number of product quality issues and challenges facing the open source development model. Many industries and business sectors are following or using OSSD, since they realize the benefits, but they do have some reservations concerning quality assurance in the form of program code quality, maintenance of the code and its quality, over the life-cycle of the product and third party usage. This paper reviews the literature of the process of the latest quality assurance, under open source software development methods and techniques. The result from this review is to show the process of quality assurance of open source software and that how it can affect the overall quality assurance principal.
Read moreIoT-based group size prediction and recommendation system using machine learning and deep learning techniques
In an open source software development environment, it is hard to decide the number of group members required for resolving software issues. Developers generally reply to issues based totally on their domain knowledge and interest, and there are no predetermined groups. The developers openly collaborate on resolving the issues based on many factors, such as their interest, domain expertise, and availability. This study compares eight different algorithms employing machine learning and deep learning, namely—Convolutional Neural Network, Multilayer Perceptron, Classification and Regression Trees, Generalized Linear Model, Bayesian Additive Regression Trees, Gaussian Process, Random Forest and Conditional Inference Tree for predicting group size in five open source software projects developed and managed using an open source development framework GitHub. The social information foraging model has also been extended to predict group size in software issues, and its results compared to those obtained using machine learning and deep learning algorithms. The prediction results suggest that deep learning and machine learning models predict better than the extended social information foraging model, while the best-ranked model is a deep multilayer perceptron((R.M.S.E. sequelize—1.21, opencv—1.17, bitcoin—1.05, aseprite—1.01, electron—1.16). Also it was observed that issue labels helped improve the prediction performance of the machine learning and deep learning models. The prediction results of these models have been used to build an Issue Group Recommendation System as an Internet of Things application that recommends and alerts additional developers to help resolve an open issue.
Read more