[논문 리뷰] Anonymized e-mail interviews with R package maintainers active on CRAN and GitHub
이 연구는 GitHub과 CRAN을 이용한 패키지 개발 및 배포에 대해 활동적인 R 패키지 유지를 담당하는 5명의 유지보수자와 익명의 이메일 인터뷰를 통해 그들의 동기, 관행, 과제를 탐구한다. 연구 결과, 유지보수자들은 협업 도구, 사용 편의성, 실시간 피드백 등으로 인해 GitHub를 선호하는 반면, CRAN은 과도하게 번거롭고 위협적으로 느껴지지만, 사용자 접근성과 바이너리 배포 측면에서의 이점은 인정한다.
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 양쪽에서 활동적인 5명의 R 패키지 유지보수자와 익명의 이메일 인터뷰를 실시.
- GitHub에 여러 개의 패키지를 보유한 유지보수자에 집중하며, 성별 균형을 고려한 표본(남성 3명, 여성 2명)을 확보.
- 플랫폼 선호도, 기술 워크플로우, CRAN 및 GitHub에서의 인식된 과제에 관한 정성적 인사이트를 수집.
- devtools::install_github, drat, Travis CI 등의 도구를 이용한 패키지 배포 및 CI 활용 여부를 탐색.
- 이슈 추적, 풀 리퀘스트, 포크, 버전 관리 등의 핵심 협업 메커니즘에 대한 반응을 분석.
- CRAN의 공식 리뷰 절차에 대한 인식과 GitHub의 경량화되고 커뮤니티 중심의 모델 간 대비를 수행.
실험 결과
연구 질문
- RQ1왜 R 패키지 유지보수자들은 패키지 개발 및 배포에 대해 CRAN보다 GitHub를 선호하는가?
- RQ2CRAN에 패키지를 배포하는 데 있어 유지보수자들이 느끼는 기술적 및 사회적 장벽은 무엇인가?
- RQ3협업 개발 기능(예: 이슈 추적, 풀 리퀘스트 등)이 플랫폼 선택에 어떤 영향을 미치는가?
- RQ4CRAN의 안정성과 탐색 가능성에 비해 GitHub의 민첩성과 협업 기능 간의 인식된 상충 요소는 무엇인가?
주요 결과
- 유지보수자들은 CRAN이 위협적이며 번거롭다고 느끼며, 사회적·기술적 엄격함을 감안할 때 정서적 장벽이 높다고 평가한다.
- GitHub는 직관적인 이슈 추적, 풀 리퀘스트, 실시간 협업 기능 덕분에 더 빠르고 즐거운 개발 환경을 제공해 선호된다.
- CRAN 제출 절차는 인간 중심의 검토와 저자 및 라이선스에 대한 엄격한 규칙으로 인해 시간이 오래 걸리고 좌절감을 느끼게 한다.
- 많은 유지보수자들은 개발 버전 설치를 위해 devtools::install_github를 사용하며, 안정적이고 생산용으로 준비된 릴리스에는 CRAN을 활용한다.
- 실험적 또는 성숙하지 않은 패키지의 경우 CRAN 승인이 필요하지 않기 때문에 GitHub가 선호되지만, 이는 탐색 가능성에 제약을 둔다.
- CRAN은 C/C++ 코드를 포함한 패키지의 사전 빌드된 바이너리 제공 측면에서 여전히 가치가 있으며, GitHub에서 설치할 경우 사용자가 컴파일이 필요로 하므로 이는 단점으로 작용한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.