Skip to main content
QUICK REVIEW

[论文解读] Anonymized e-mail interviews with R package maintainers active on CRAN and GitHub

Tom Mens|arXiv (Cornell University)|Jun 17, 2016
Scientific Computing and Data Management参考文献 3被引用 4
一句话总结

本研究通过与五位活跃的R包维护者进行匿名电子邮件访谈,探讨他们在使用GitHub与CRAN进行包开发和分发时的动机、实践与挑战。研究发现,维护者更倾向于使用GitHub,因其协作工具更优、操作更简便且能获得实时反馈;尽管CRAN在用户可及性和二进制分发方面具有优势,但维护者普遍认为其流程过于官僚化且令人畏惧。

ABSTRACT

This technical report accompanies a research article that empirically studies the problems related to inter-repository package dependencies in the R ecosystem of statistical computing, with a focus on R packages hosted on CRAN and GitHub. The current report provides supplementary material, reproducing an anonymised and sanitised version of e-mail interviews that have been conducted in November 2015 with five active R package maintainers. The goal was to gain a better understanding in how R package maintainers develop and distribute their packages through GitHub and CRAN. All five interviewees were actively maintaining packages on GitHub, some were also active on CRAN. They have been selected based on their profile (the number of R packages they maintain on GitHub and/or CRAN) as well as their gender (three interviewees were male, two were female).

研究动机与目标

  • 理解R包维护者在选择GitHub或CRAN进行包开发与分发时的动机。
  • 调查维护者在CRAN上发布包时所感知的技术与社会障碍。
  • 考察协作开发工具(如问题追踪、拉取请求)如何影响维护者的平台偏好。
  • 比较GitHub与CRAN在包发现、版本控制和依赖管理方面的优缺点。

提出的方法

  • 对五位同时活跃于GitHub与CRAN的R包维护者进行了匿名电子邮件访谈。
  • 聚焦于在GitHub上拥有多个包的维护者,样本实现性别平衡(三名男性,两名女性)。
  • 收集关于平台偏好、技术工作流以及对CRAN和GitHub所面临挑战的定性见解。
  • 探讨了devtools::install_github、drat和Travis CI等工具在包分发与持续集成中的应用。
  • 分析了关于问题追踪、拉取请求、分支(forking)和版本控制作为核心协作机制的回应。
  • 对比了CRAN正式审查流程与GitHub轻量化、社区驱动模式的感知差异。

实验结果

研究问题

  • RQ1为何R包维护者更倾向于使用GitHub而非CRAN进行包开发与分发?
  • RQ2维护者在CRAN上发布包时所感知的技术与社会障碍有哪些?
  • RQ3协作开发功能(如问题追踪、拉取请求)如何影响平台选择?
  • RQ4在CRAN的稳定性与可发现性,与GitHub的敏捷性与协作功能之间,维护者如何看待其权衡?

主要发现

  • 维护者认为CRAN具有高度的心理障碍,因其被感知为过于官僚化,且在社会与技术严谨性方面要求极高。
  • GitHub因其直观的问题追踪、拉取请求及实时协作功能而更受青睐,这些功能使开发过程更快捷且更具愉悦感。
  • CRAN提交流程被认为耗时且令人沮丧,尤其因涉及人工审核及对作者和许可证的严格规则。
  • 许多维护者使用devtools::install_github实现便捷安装,特别是针对开发版本,而将CRAN保留用于稳定、生产就绪的发布版本。
  • GitHub更受青睐用于实验性或不成熟的包,因其无需CRAN审批,但这也限制了其可发现性。
  • CRAN仍因其预编译二进制包而被重视,特别是对于包含C/C++代码的包,若从GitHub安装则需用户自行编译。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。