이 누리집은 대한민국 공식 전자정부 누리집입니다.

활성화 점수 상세보기

산정 개요

2025년 11월 기준, OSS Doctor 활성화 점수는 GitHub 리포지토리의 활동 데이터만을 사용하여 아래 방식으로 계산합니다.

산정 방식

  1. 선별된 GitHub 리포지토리에 한해 Health(활동성) 4개 지표와 Social(인기도) 4개 지표를 수집합니다.
  2. 각 지표는 최대 20점을 부여하며, 버킷+선형보간 방식으로 급격한 점수 쏠림을 완화합니다.
  3. Health와 Social은 각각 0~80점 범위를 갖고, Total 점수는 (Health × 5 + Social × 2) ÷ 10 공식으로 산출한 뒤 0~1000 범위로 스케일링합니다.
  4. 최신성을 반영하기 위해 커밋/PR/이슈는 누적 수치를 사용하되, 업데이트 지표는 마지막 활동일 기준으로 감가합니다.

계산 공식

Health = Commits + Update Recency + Merged PRs + Closed Issues
Social = Stars + Forks + Watchers + Contributors
Total  = (Health × 5 + Social × 2) ÷ 10  → 0~100 후, ×10 하여 0~1000 점수로 제공

사용 지표 요약

구분 요소 설명 최대 점수 주요 임계값 / 조건
Health 커밋 활동 프로젝트 전체 커밋 수(디폴트 브랜치 기준) 20점 1,024 → 4점 · 2,048 → 8점 · 4,096 → 12점 · 8,192 → 16점 · 16,384 이상 → 20점
업데이트 최근성 마지막 커밋 또는 릴리스 시점 20점 ≤7일 20점 · 30일 16점 · 90일 12점 · 180일 8점 · 365일 4점 · >730일 0점
병합 PR 닫힌/병합된 Pull Request 수 20점 512 → 4점 · 1,024 → 8점 · 2,048 → 12점 · 4,096 → 16점 · 8,192 이상 → 20점
닫힌 이슈 처리된 Issue 수 20점 512 → 4점 · 1,024 → 8점 · 2,048 → 12점 · 4,096 → 16점 · 8,192 이상 → 20점
Social Star GitHub Star 수 20점 1,024 → 4점 · 2,048 → 8점 · 4,096 → 12점 · 8,192 → 16점 · 16,384 이상 → 20점
Fork 리포지토리 Fork 수 20점 256 → 4점 · 512 → 8점 · 1,024 → 12점 · 2,048 → 16점 · 4,096 이상 → 20점
Watcher Watching 사용자 수 20점 128 → 4점 · 256 → 8점 · 512 → 12점 · 1,024 → 16점 · 2,048 이상 → 20점
Contributor 총 기여자 수 20점 128 → 4점 · 256 → 8점 · 512 → 12점 · 1,024 → 16점 · 2,048 이상 → 20점

Health 점수 세부 기준 (최대 80점)

커밋·PR·이슈는 로그 스케일을 따라 선형 보간하여 급격한 점수 상승을 방지합니다.

요소 0점 4점 8점 12점 16점 20점
커밋 수 < 1,024 1,024 2,048 4,096 8,192 16,384 이상
병합 PR < 512 512 1,024 2,048 4,096 8,192 이상
닫힌 이슈 < 512 512 1,024 2,048 4,096 8,192 이상
업데이트 최근성 > 730일 365일 180일 90일 30일 7일 이내

0점~4점 구간도 완만하게 보간하여 소규모 프로젝트라도 최근 활동이 있다면 점수가 소폭 반영됩니다.


Social 점수 세부 기준 (최대 80점)

요소 0점 4점 8점 12점 16점 20점
Star < 1,024 1,024 2,048 4,096 8,192 16,384 이상
Fork < 256 256 512 1,024 2,048 4,096 이상
Watcher < 128 128 256 512 1,024 2,048 이상
Contributor < 128 128 256 512 1,024 2,048 이상

점수 해석 및 참고 사항

점수 스케일

  1. Health / Social: 0~800 (내부 계산값 ×10)
  2. Total: 0~1000 (내부 0~100 점수 ×10)
  3. UI에는 소수점 대신 정수(×10) 값이 노출됩니다.

데이터 수집

  1. 공식 GitHub API(GraphQL + REST)를 통해 주기적으로 갱신합니다.
  2. 비 GitHub 프로젝트는 점수가 계산되지 않습니다.

개선 가이드

  1. 지속적인 커밋·PR·이슈 처리로 Health 점수를 올릴 수 있습니다.
  2. README, 커뮤니티 활동 등을 통해 Star/Fork/Watcher/Contributor를 늘리면 Social 점수가 상승합니다.

현재 시스템의 실제 계산 로직

수집 지표

  1. Stars, Forks, Watchers
  2. 최신 커밋 시점(최근 업데이트 일자)
  3. PR 총계, Issue 총계

산정 방식

  1. Health 점수 = 업데이트 최신성(≤7/30/90/180/365일 → 25/20/15/10/5) + PR 버킷(최대 25) + Issue 버킷(최대 25)
  2. Social 점수 = Stars 버킷(최대 25) + Forks 버킷(최대 25) + Watchers 버킷(최대 25)
  3. Total 점수 = (Health × 5 + Social × 2) ÷ 10, 이후 0~100 범위로 보정

버킷 임계값(카운트형 지표 공통)

점수(최대 25 기준)
≥ 102425
≥ 51220
≥ 25615
≥ 12810
≥ 645
< 640

핵심 코드 요약

// Health = recency(25/20/15/10/5) + PR(버킷, 최대 25) + Issue(버킷, 최대 25)
// Social = Stars(버킷, 최대 25) + Forks(버킷, 최대 25) + Watchers(버킷, 최대 25)
// Total = (Health * 5 + Social * 2) / 10, clamp 0..100

// 버킷 공통: 64/128/256/512/1024 임계값 → 0/5/10/15/20/25 점
// 업데이트 최신성: ≤7/30/90/180/365일 → 25/20/15/10/5 점

문서(가이드)와의 차이

가이드에 제시된 일부 항목(Contributors, Releases/Tags, Branches 등)은 현재 수집/반영하지 않습니다. 필요 시 해당 지표 수집과 산식 반영을 확장할 수 있습니다.

출처 : 대구대학교 ODOC Care 팀(OSS 개발자대회 출품작) 제안 지표 및 코드 참고