The development of open source software (OSS) is a broad field which requires diverse skill sets. For example, maintainers help lead the project and promote its longevity, technical writers assist with documentation, bug reporters identify defects in software, and developers program the software. However, it is unknown which skills are used in OSS development as well as OSS contributors' general attitudes towards skills in OSS. In this paper, we address this gap by administering a survey to a diverse set of 455 OSS contributors. Guided by these responses as well as prior literature on software development expertise and social factors of OSS, we develop a model of skills in OSS that considers the many contexts OSS contributors work in. This model has 45 skills in the following 9 categories: technical skills, working styles, problem solving, contribution types, project-specific skills, interpersonal skills, external relations, management, and characteristics. Through a mix of qualitative and quantitative analyses, we find that OSS contributors are actively motivated to improve skills and perceive many benefits in sharing their skills with others. We then use this analysis to derive a set of design implications and best practices for those who incorporate skills into OSS tools and platforms, such as GitHub.
翻译:开发开放源码软件(OSS)是一个广泛的领域,需要不同的技能组合。例如,维护者帮助领导项目和促进项目寿命,技术作家协助文件编制,错误报告者查明软件的缺陷,开发者程序软件。然而,尚不清楚开放源码软件开发使用哪些技能,以及开放源码软件贡献者对开放源码软件技能的一般态度。在本文件中,我们通过对455个开放源码软件贡献者进行一项调查来弥补这一差距。根据这些答复以及以前关于开放源码软件软件开发专门知识和社会因素的文献,我们开发了开放源码软件技能模型,其中考虑到开放源码软件贡献者在很多情况下的工作。这一模型有45种技能,分为以下9个类别:技术技能、工作风格、解决问题、贡献类型、项目特定技能、人际技能、对外关系、管理和特点。我们发现,通过结合定性和定量分析,OSS贡献者积极提高技能和认识与其他人分享技能的许多好处。我们随后利用这一分析,为将技能纳入开放源码软件工具和平台(如GiHubub)的人提出一套设计影响和最佳做法。