
지표를 사용하여 자유 오픈소스 소프트웨어(FOSS) 커뮤니티를 추적하고 싶다면, 어떤 지표를 추적해야 할까요?
이 질문에 답하려면 어떤 정보가 필요한지 알아야 합니다. 예를 들어, 프로젝트 커뮤니티의 지속 가능성을 알고 싶을 수 있습니다. 커뮤니티가 문제에 대응하는 속도가 얼마나 빠른지. 커뮤니티가 기여자를 어떻게 유치, 유지 또는 잃는지. 필요한 정보의 종류를 알면 어떤 커뮤니티 활동이 원하는 내용을 제공할 수 있는지 찾을 수 있습니다. 다행히 자유 오픈소스 소프트웨어(FOSS)는 개방형 개발 모델을 따르며, 소프트웨어 개발 저장소에 많은 공개 데이터를 남겨, 우리는 이 데이터를 분석하고 유용한 데이터를 수집할 수 있습니다.
이 글에서는 프로젝트 커뮤니티에 다각적인 분석을 제공하는 몇 가지 지표를 소개합니다.
1. 커뮤니티 활동(Activity)
커뮤니티의 전체 활동과 이 커뮤니티가 시간에 따라 어떻게 변화하는지는 모든 커뮤니티를 평가하는 매우 유용한 지표입니다. 커뮤니티 활동은 커뮤니티 작업량의 첫인상을 평가하는 것이며, 다양한 종류의 활동을 추적하는 데에도 사용할 수 있습니다. 예를 들어 커밋 횟수는 첫인상상 개발 작업량과 관련이 있습니다. 제기된 문제를 통해 얼마나 많은 버그가 제출되었는지 또는 얼마나 많은 새로운 기능이 제안되었는지 대략 알 수 있습니다. 메일링 리스트의 메일 수나 포럼 게시물 수를 통해 공개 토론이 얼마나 있었는지 알 수 있습니다.

OpenStack 활동 대시보드에 표시된 프로젝트 코드 커밋 횟수와 코드 리뷰 후 코드 병합 횟수의 시간에 따른 추세 그래프(주간 데이터)
2. 커뮤니티 규모(Size)
커뮤니티 규모는 이 커뮤니티에 참여하는 인원수를 의미하지만, 참여 형태에 따라 인원수도 큰 차이가 있습니다. 좋은 소식은 일반적으로 활발한 기여자에게만 관심이 있다는 것입니다. 활발한 기여자는 프로젝트 저장소에 흔적을 남깁니다. 이것은 git 저장소에 저장된 코드의 author 필드를 확인하여 적극적으로 코드를 기여하는 인원수를 통계하거나, 문제 해결에 적극적으로 참여하는 인원수를 확인하여 활동 인원수를 통계할 수 있다는 것을 의미합니다.
소위 활동(누군가 어떤 일을 했다)은 여러 측면으로 확장될 수 있습니다. 활동을 추적하는 일반적인 방법은 얼마나 많은 사람이 상당한 작업량의 작업을 했는지 보는 것입니다. 예를 들어 일반적으로 프로젝트 코드 기여자는 프로젝트 커뮤니티의 소수 사람들입니다. 이 소수 사람들을 이해하면 핵심 작업 그룹(예: 커뮤니티를 이끄는 사람들)에 대한 기본적인 인식을 갖게 됩니다.

Xen 프로젝트 개발 대시보드에 표시된 해당 프로젝트 메일링 리스트의 저자 수와 커밋 수의 시간에 따른 변화 추세(월간 데이터)
3. 커뮤니티 성과(Performance)
지금까지 관심은 주로 활동 수량과 기여자 수량 통계에 집중되었습니다. 프로세스와 사용자 성과도 분석할 수 있습니다. 예를 들어 어떤 프로세스가 완료되는 데 얼마나 걸리는지 측정할 수 있습니다. 문제를 해결하거나 닫는 시간은 적시 응답이 필요한 프로젝트가 새로운 정보에 어떻게 대응하는지 나타낼 수 있습니다. 예를 들어 보고된 버그를 수정하거나 새로운 요구사항을 구현하는 것입니다. 코드 리뷰에 소요되는 시간, 즉 코드 수정 제출에서 승인까지의 시간은 제안된 변경을 업데이트하여 커뮤니티 기대 표준에 도달하는 데 얼마나 걸리는지 알 수 있습니다.
다른 지표는 주로 프로젝트가 보류 중인 작업을 처리하는 성과와 관련이 있습니다. 예를 들어 새로운 문제와 닫힌 문제의 비율, 또는 아직 완료되지 않은 코드 리뷰 대기열입니다. 이러한 매개변수는 이러한 문제를 해결하는 데 투입되는 리소스가 충분한지와 같은 정보를 알려줍니다.

2015 3분기 OpenStack 개발 보고서에 표시된 분기별 닫힌 문제와 열린 문제의 비율, 수락된 변경 제안과 포기된 변경 제안의 비율
4. 커뮤니티 인구통계(Demographics)
기여자가 참여하거나 탈퇴함에 따라 커뮤니티도 계속 변화합니다. 사람들이 커뮤니티에 가입하고 탈퇴함에 따라 커뮤니티 구성원의 회령(커뮤니티 구성원이 가입한 시점부터 계산)도 다양합니다. 커뮤니티 회령 통계 차트는 이러한 변화가 시간에 따라 어떻게 변하는지 직관적으로 보여줍니다. 차트는 일련의 수평 막대로 구성되며, 두 개의 수평 막대가 커뮤니티에 가입한 한 세대를 나타냅니다. 각 세대에 대해 매력도 수평 막대는 해당 시기에 얼마나 많은 사람이 커뮤니티에 가입했는지 나타냅니다. 활동도 수평 막대는 현재 커뮤니티에서 여전히 활동하는 사람이 얼마나 되는지 나타냅니다.
한 세대를 나타내는 두 수평 막대의 관계가 유지 비율입니다. 여전히 이 프로젝트에 있는 그 세대의 일부입니다. 매력도 수평 막대의 전체 집합은 이 프로젝트가 과거에 얼마나 인기 있었는지 나타냅니다. 활동도 수평 막대의 전체 집합은 커뮤니티의 현재 회령 구조를 나타냅니다.

Eclipse 개발 대시보드에 표시된 Eclipse 커뮤니티의 커뮤니티 연령표. 6개월마다 한 번 정의
5. 커뮤니티 다양성(Diversity)
다양성은 커뮤니티가 탄력성을 유지하는 매우 중요한 요소입니다. 일반적으로 커뮤니티가 다양할수록(사람이나 조직 참여의 다원화) 그 커뮤니티의 탄력성도 커집니다. 예를 들어 한 회사가 자유 오픈소스 커뮤니티를 떠나기로 결정하면, 그 회사 직원의 기여가 5%인 것이 85%인 것보다 잠재적인 문제가 훨씬 적습니다.
포니 팩터는 Daniel Gruno가 “가장 적은 개발자가 코드 커밋량의 50%를 기여했다”는 현상을 정의한 용어입니다. 포니 팩터를 기반으로 코끼리 팩터는 최소한의 회사 그 직원이 코드 커밋량의 50%를 기여한 것을 의미합니다. 이 두 데이터는 이 커뮤니티가 얼마나 많은 사람이나 회사에 의존하는지 나타내는 지표를 제공합니다.

2015 개발 클라우드 수량 상태 통계에 표시된 클라우드 컴퓨팅 분야의 몇몇 자유 오픈소스 커뮤니티 프로젝트의 포니와 코끼리 팩터.
커뮤니티를 측정하는 다른 많은 지표가 있습니다. 어떤 지표를 수집할지 결정할 때, 커뮤니티의 목표와 어떤 지표가 도움이 될지 고려해 보십시오.
재게시 출처: 개발자 관계 »