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
ひとこと要約

本研究では、5名の活発な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にパッケージを公開することを妨げる技術的および社会的障壁を、メンテナがどのように認識しているかを調査すること。
  • Issueトラッキングやプルリクエストなどの共同開発ツールの役割が、メンテナのプラットフォーム選好にどのように影響しているかを検討すること。
  • パッケージ発見、バージョン管理、依存関係管理の観点から、GitHubとCRANの利点と欠点を比較すること。

提案手法

  • GitHubとCRANの両方で活発に活動する5名のRパッケージメンテナに対して、匿名化されたメールインタビューを実施した。
  • GitHubに複数のパッケージを保有するメンテナに焦点を当て、性別がバランスされたサンプル(男性3名、女性2名)とした。
  • プラットフォームの好み、技術的ワークフロー、CRANおよびGitHubにおける課題の認識に関する定性的な知見を収集した。
  • パッケージの配布およびCIにdevtools::install_github、drat、Travis CIの使用状況を調査した。
  • Issueトラッキング、プルリクエスト、フォーク、バージョン管理を、コラボレーティブなメカニズムの根幹として分析した。
  • CRANの形式的なレビュー過程と、GitHubの軽量でコミュニティ主導のモデルの間の認識の違いを対比した。

実験結果

リサーチクエスチョン

  • RQ1なぜRパッケージメンテナは、開発および配布においてGitHubをCRANよりも好むのか?
  • RQ2メンテナがCRANにパッケージを公開することを妨げる技術的および社会的障壁は何か?
  • RQ3Issueトラッキングやプルリクエストなどの共同開発機能が、プラットフォーム選好にどのように影響しているのか?
  • RQ4CRANの安定性と発見可能性と、GitHubの迅速性と共同作業機能の間で、メンテナがどのようにトレードオフを認識しているのか?

主な発見

  • メンテナは、社会的・技術的厳しさを強く感じることから、CRANが恐ろしく官僚的であると認識しており、心理的障壁が非常に高いと感じている。
  • GitHubは、直感的なIssueトラッキング、プルリクエスト、リアルタイムコラボレーションの利点から、より速く楽しい開発が可能になるため好まれている。
  • CRANへの提出プロセスは、人によるキュレーションと著作者・ライセンスに関する厳格なルールのため、時間のかかり、ストレスを感じさせるとされている。
  • 多くのメンテナは、開発版のインストールを容易にするためにdevtools::install_githubを活用しており、安定版・本番環境向けリリースにはCRANを用いている。
  • GitHubは、CRAN承認の必要がないため、実験的または未熟なパッケージに好まれるが、その一方で発見可能性が制限される。
  • CRANは、C/C++コードを含むパッケージのプリコンパイル済みバイナリを提供する点で依然として価値があり、GitHubからインストールした場合、ユーザー側でコンパイルが必要になるためである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。