GitHub의 논란이 있는 소프트웨어 제한
GitHub의 새로운 정책과 개발자들의 반발
GitHub은 특정 관할 구역에서의 소프트웨어 사용을 제한하는 새로운 정책을 시행하여 개발자와 오픈소스 옹호자들의 즉각적인 반발을 불러일으켰다. 이번 조치는 플랫폼의 1억 명의 사용자가 의존하는 중립적 호스팅 모델에 기술적, 윤리적 딜레마를 야기한다. 개발자들은 이번 정책이 현대 소프트웨어 개발을 정의하는 글로벌 협력을 분열시킬 수 있다고 경고한다.
정책에 따르면, 미국 상무부의 Entity List에 지정된 국가에서 저장소에 대한 접근 또는 배포를 차단한다. 여기에는 러시아, 중국, 이란의 기관이 포함되지만 정확한 시행 세부 사항은 불투명하다. GitHub 대변인은 이번 변경이 “변화하는 수출 통제 규정을 준수하기 위한 것”이라고 밝혔지만, 기술적 시행 방법에 대한 공개 문서는 없다. 개발자들은 이미 저장소 전반에 걸쳐 일관되지 않은 차단 행위를 보고했으며, 일부 사용자는 제한된 지역에서 코드에 접근할 수 없는 반면 다른 사용자는 아무런 장벽 없이 접근할 수 있다.
오픈소스 정신에 대한 위협
오픈소스 소프트웨어는 오랫동안 분산되고 관할 구역에 구애받지 않는 호스팅에 의존해 왔다. GitHub의 정책은 위치 기반 접근 제어를 도입하여 이 모델을 파괴한다. 올해 30주년을 맞는 KDE와 같은 프로젝트의 경우, 제한으로 인해 글로벌 기여자 네트워크 유지에 대한 실질적인 문제가 제기된다. KDE의 리드 유지 관리자는 정책이 “실제적인 준수 문제를 해결하지 않고 CI/CD 파이프라인을 복잡하게 만든다”고 Hacker News에 말했다. 커뮤니티 규범보다 규제 준수 쪽으로 플랫폼이 이동하면서 GitHub와 개발자 기반 사이에 분열이 생겼다.
정책의 기술적 시행은 불분명하다. 중앙 집중식 인프라를 갖춘 클라우드 제공업체와 달리 GitHub의 저장소 접근 모델에는 통합된 시행 메커니즘이 부족하다. 플랫폼은 기술적으로 API 수준에서 제한을 시행할 수 있지만, 이 경우 모든 요청에 대해 실시간 위치 확인이 필요하다. 개발자들은 일부 저장소는 러시아 기여자들과 함께 여전히 접근할 수 있는 반면 다른 저장소는 차단된다며 규칙 적용의 불일치를 관찰했다. 이러한 기술적 모호성은 스탠포드의 CS336 수업이 모델 훈련에서 윤리적 제약을 다루는 방법에 대한 더 넓은 논쟁을 반영한다.
산업 반응과 기술적 해결 방법
개발자 커뮤니티는 좌절과 독창성으로 반응하고 있다. Hacker News에서 한 댓글 작성자는 “GitHub Actions를 사용하는 모든 소프트웨어는 지정학적 위험 평가가 필요하다”고 말했다. 다른 사람들은 중요한 프로젝트를 GitLab과 같은 대안으로 이전하기 시작했으며, GitLab은 유사한 제한을 발표한 바 없다. 기술 커뮤니티는 IP 익명화 도구 및 분산 버전 제어 시스템을 사용하여 해결 방법을 제안하기도 했다. 이러한 솔루션은 분산 소프트웨어 시스템에 대한 위치 기반 접근 제어를 시행하는 데 있어 고유한 어려움을 강조한다.
규제 기관은 문제에 대해 분열된 것으로 보인다. 미국 정부는 오랫동안 기술 기업에 수출 통제를 준수하도록 압력을 가해 왔지만, 유럽 연합은 최근 학술 및 연구 목적으로 소프트웨어에 대한 개방된 접근을 유지하도록 플랫폼에 요구하는 법률을 통과시켰다. 이 규제 분열은 국제 프로젝트에 참여하는 개발자들에게 준수를 악몽으로 만든다. 현재 GitHub는 이러한 제한 하에 운영되는 가장 큰 코드 호스트로 남아 있지만, 시행이 더욱 공격적이 된다면 시장 점유율이 침식될 수 있다.
기술적 한계와 의도치 않은 결과
정책의 기술적 시행은 소프트웨어 중립성에 대한 근본적인 질문을 제기한다. 하드웨어와 달리 소프트웨어는 물리적으로 관할 구역에 존재하지 않는다. GitHub의 접근 방식은 하나의 지역에서 코드에 대한 접근을 차단하면서 동일한 코드에 다른 지역에서 접근을 허용하는 역설을 만든다. 이러한 불일치로 인해 개발자가 제한된 프로젝트를 GitHub 러너에 호스팅하지만 GitHub의 통제를 벗어난 외부 서비스에서 배포하는 “게임”이 발생했다. 스탠포드의 CS336 수업은 최근 “정책 인식 소프트웨어 배포”를 핵심 역량으로 포함하도록 커리큘럼을 업데이트했다.
네트워크 엔지니어링 분석에 따르면 GitHub의 차단 메커니즘은 IP 지리적 위치에 의존하는데, 이 방법은 정확도가 매우 낮다. 러시아 IP 주소를 가진 독일의 개발자는 자신의 팀이 유지하는 코드에 접근할 수 없을 수 있다. 정책은 또한 파생 작품에 대한 더 복잡한 문제도 해결하지 못한다. 파생 작품은 기술적으로 호스팅은 허용되지만 제한된 맥락에서 사용될 수 있는 수정된 코드이다. 이러한 기술적 한계는 정책이 실제 준수 집행보다는 법적 위험 완화에 주로 사용된다는 것을 시사한다.
주목할 점
향후 6개월 동안 GitHub가 이러한 제한 하에 지배적 위치를 유지할 수 있을지 여부가 시험대에 오른다. 주목해야 할 주요 지표는 다음과 같다. 1) 다른 코드 호스트가 위치 기반 접근 제어를 따르는지 여부, 2) 스탠포드와 같은 학술 기관이 규제 압력에 따라 소프트웨어 교육을 어떻게 조정하는지, 3) 개발자가 이러한 제한을 탐색하는 데 도움이 되는 오픈소스 준수 도구의 등장이다. 더 넓은 기술 산업은 소프트웨어가 글로벌 공동 자원으로 유지될 수 있는지 아니면 지정학적 선을 따라 분열될 것인지를 고민해야 한다.