GitHub, renowned for facilitating collaborative code version control and software production in software teams, expanded its services in 2017 by introducing GitHub Marketplace. This online platform hosts automation tools to assist developers with the production of their GitHub-hosted projects, and it has become a valuable source of information on the tools used in the Open Source Software (OSS) community. In this exploratory study, we introduce GitHub Marketplace as a software marketplace by comprehensively exploring the platform's characteristics, features, and policies and identifying common themes in production automation. Further, we explore popular tools among practitioners and researchers and highlight disparities in the approach to these tools between industry and academia. We adopted the conceptual framework of software app stores from previous studies to examine 8,318 automated production tools (440 Apps and 7,878 Actions) across 32 categories on GitHub Marketplace. We explored and described the policies of this marketplace as a unique platform where developers share production tools for the use of other developers. Furthermore, we systematically mapped 515 research papers published from 2000 to 2021 and compared open-source academic production tools with those available in the marketplace. We found that although some of the automation topics in literature are widely used in practice, they have yet to align with the state of practice for automated production. We discovered that practitioners often use automation tools for tasks like "Continuous Integration" and "Utilities," while researchers tend to focus more on "Code Quality" and "Testing". Our study illuminates the landscape of open-source tools for automation production in industry and research.
翻译:GitHub 以其促进软件团队协作式代码版本控制与软件生产而闻名,于 2017 年通过推出 GitHub Marketplace 扩展了其服务。这一在线平台托管了自动化工具,以协助开发者完成其托管于 GitHub 的项目的生产工作,并已成为开源软件(OSS)社区中工具使用信息的宝贵来源。在这项探索性研究中,我们通过全面探索该平台的特点、功能与政策,并识别生产自动化中的常见主题,将 GitHub Marketplace 作为一个软件市场进行介绍。此外,我们探讨了从业者和研究人员中流行的工具,并强调了工业界与学术界在处理这些工具方法上的差异。我们借鉴了先前研究中软件应用商店的概念框架,对 GitHub Marketplace 上 32 个类别下的 8,318 个自动化生产工具(440 个应用和 7,878 个 Actions)进行了考察。我们探索并描述了该市场作为开发者分享生产工具供其他开发者使用的独特平台所制定的政策。进一步地,我们系统性地梳理了 2000 年至 2021 年间发表的 515 篇研究论文,并将开源学术生产工具与市场上可用的工具进行了比较。我们发现,尽管文献中的一些自动化主题在实践中被广泛使用,但它们尚未与自动化生产的实践现状完全同步。我们发现从业者经常将自动化工具用于“持续集成”和“实用工具”等任务,而研究者则更倾向于关注“代码质量”和“测试”。我们的研究揭示了工业界与研究中用于自动化生产的开源工具的现状。