깃허브 CLI(GitHub CLI) v2.91.0 릴리즈(Release) 이후, 제품 개선을 위해 익명화된 사용량 텔레메트리(Telemetry)를 수집
사용량 데이터(Usage Data) 수집 목적은 기능 사용 현황 파악 및 우선순위 결정(Prioritize Work), 사용자 요구 충족 여부 확인
텔레메트리(Telemetry) 전송 내용 확인을 위해 환경 변수(Environment Variable) 또는 설정 옵션(Configuration Option)을 통해 로깅 모드(Logging Mode) 활성화 지원
사용량 데이터 수집 거부(Opt-out)를 위해 환경 변수(Environment Variable) 또는 설정 옵션(Configuration Option)을 사용하며, DO_NOT_TRACK(추적 거부) 관례 지원
본문에 따르면 깃허브 CLI(GitHub CLI)의 사용량 텔레메트리(Telemetry) 수집은 제품 개선을 위한 데이터 기반 의사 결정(Data-driven Decision Making)을 목표로 한다.
기능 사용 빈도 및 방식 분석: 새로운 서브 커맨드(Subcommand)의 사용 여부, 특정 플래그(Flag) 사용 빈도 등을 파악하여 기능 개선 방향(Feature Improvement Direction) 설정
사용자 요구사항 파악: 실제 사용 데이터를 기반으로 기능의 적합성(Feature Appropriateness) 검증
깃허브(GitHub)는 텔레메트리(Telemetry) 데이터를 통해 개발자 경험(Developer Experience) 향상을 추구하며, 제품 개발의 효율성을 높인다.
깃허브 CLI(GitHub CLI)는 사용자가 수집되는 데이터를 직접 확인할 수 있도록 로깅 모드(Logging Mode)를 제공한다.
환경 변수(Environment Variable) 설정: `export GH_TELEMETRY=log` 명령어를 통해 로깅 모드 활성화
CLI 설정 변경: `gh config set telemetry log` 명령어를 통해 로깅 모드 활성화
출력 형식: 텔레메트리(Telemetry) 데이터는 JSON 형식으로 표준 에러 스트림(stderr)에 출력
로깅 모드를 통해 사용자는 수집되는 데이터의 내용(Data Contents)을 투명하게 검토하고, 텔레메트리(Telemetry) 수집 여부를 결정할 수 있다.
깃허브 CLI(GitHub CLI)는 사용자의 데이터 프라이버시(Data Privacy)를 위해 텔레메트리(Telemetry) 수집 거부(Opt-out) 기능을 제공한다.
환경 변수 설정: `export GH_TELEMETRY=false` 또는 `export DO_NOT_TRACK=true` 명령어를 통해 수집 거부
CLI 설정 변경: `gh config set telemetry disabled` 명령어를 통해 수집 거부
환경 변수 우선 순위: 환경 변수 설정이 CLI 설정보다 우선 적용
사용자는 위 방법을 통해 텔레메트리(Telemetry) 수집을 개별적으로 제어(Individual Control)할 수 있으며, 데이터 격리 아키텍처(Data Isolation Architecture)를 구축할 수 있다.
깃허브 CLI(GitHub CLI)는 깃허브(GitHub) 및 서드파티 확장 기능(Extension)을 지원하며, 확장 기능은 자체적인 텔레메트리(Telemetry)를 수집할 수 있다.
깃허브 CLI(GitHub CLI) 텔레메트리(Telemetry) 수집 거부: 확장 기능의 텔레메트리(Telemetry) 수집에 영향을 미치지 않음
확장 기능별 확인: 각 확장 기능의 문서(Documentation)를 통해 수집 데이터 및 비활성화 방법 확인
깃허브 코파일럿(GitHub Copilot) 및 깃허브 코파일럿 CLI(GitHub Copilot CLI): 별도의 데이터 수집 정책 적용
따라서 사용자는 깃허브 CLI(GitHub CLI) 외에 사용하는 확장 기능의 데이터 수집 정책(Data Collection Policy)을 개별적으로 확인해야 한다.