LLM으로부터 우리의 FLOSS 공공재를 보호하기
요약
Codeberg e. V.는 LLM 학습을 위해 사용자 데이터를 사용하지 않기로 결정했으며, FLOSS 생태계를 보호하기 위해 이용 약관을 변경했습니다. 이는 무분별한 크롤링으로 인한 서버 부하를 방지하고 자유 소프트웨어의 가치를 지키기 위한 조치입니다.
핵심 포인트
- Codeberg는 사용자 및 프로젝트 데이터를 LLM 학습에 사용하지 않음
- 무분별한 웹 크롤링으로 인한 인프라 부하 및 서비스 품질 저하 문제 해결
- LLM 기술과 자유/리브레 소프트웨어 생태계 간의 충돌 방지
- 이용 약관 변경을 통해 '바이브 코딩' 프로젝트 금지 및 데이터 보호 강화
요약:
- Codeberg e. V. 회원들 사이에서 "인공지능 (Artificial Intelligence)" 및 "대규모 언어 모델 (Large Language Models, LLMs)"에 관한 두 가지 안건이 투표를 거쳐 통과되었습니다.
- 우리는 귀하의 데이터를 LLM 학습에 사용하지 않을 것을 약속하며, 계획된 이용 약관(Terms of Use) 변경이 '바이브 코딩 (vibe-coded)' 프로젝트에 무엇을 의미하는지 설명합니다.
- 우리는 LLM이 자유/리브레 소프트웨어 (free/libre software) 생태계 전체를 위험에 빠뜨린다고 믿습니다.
Codeberg e. V. 연례 총회는 활동 중인 회원들에게 권한을 부여하는 회의입니다. 제안 사항들은 실시간으로 논의되며, 이후 비동기적으로 투표가 진행됩니다.
대규모 언어 모델 (LLMs)은 신흥 기술이자 논란이 많은 기술이기 때문에, 두 건의 투표가 이 기술에 대한 Codeberg의 입장에 관한 것이었다는 점은 놀라운 일이 아닙니다. 14일간의 투표 기간이 어제 종료되었으며, 두 제안 모두 수락되었습니다.
첫 번째 투표는 LLM 학습을 위해 귀하의 데이터를 사용하는 것에 대한 Codeberg e. V.의 입장에 관한 성명이었습니다.
우리의 개인정보 보호정책(privacy policy)에 명시된 바와 같이, "우리는 귀하의 데이터가 필요하지 않기를 바랍니다." 이는 생성형 "인공지능 (AI)"을 사용하거나 학습시키기 위해 사용자 및 프로젝트 데이터를 사용하는 것에도 동일하게 적용됩니다. Codeberg 포지(forge) 및 관련 서비스는 훈련 입력값과 유사한 출력을 생성하는 것을 목적으로 하는 대규모 언어 모델 (LLMs)과 같은 "인공지능 (Artificial Intelligence)" 도구를 학습시키기 위해 프로젝트 및 사용자의 코드나 데이터를 사용하지 않으며 앞으로도 사용하지 않을 것입니다. 협회로서 우리는 이러한 기술들이 자유 및 오픈 소스 소프트웨어 (free & open source software)를 책임감 있게 생성하고 유지하는 것과 양립할 수 없다고 믿습니다.
두 번째 투표는 더 논란이 되었으나, 활동 회원 약 50%의 높은 투표율 속에 찬성 358표, 반대 144표 (기권 14표)로 수락되었습니다. 이는 '바이브 코딩 (vibe-coded)' 프로젝트를 금지하기 위해 우리의 이용 약관을 변경함을 의미합니다. 실질적인 영향에 대한 생각은 기사 끝부분에서 공유하겠습니다.
우리 모두는 굶주린 LLM을 위해 비용을 지불하고 있습니다
무의미한 크롤링으로 인한 서버 부하
이전 게시물에서 우리는 Codeberg에 호스팅된 모든 코드를 자신들의 LLM (Large Language Model) 학습을 위해 흡수하려는 기업들의 웹 크롤러(webcrawlers)로 인해 Codeberg의 인프라가 어떻게 정기적으로 과도한 부하를 받는지 이미 개괄한 바 있습니다.
Codeberg는 코드에 대한 자유롭고 공개적인 접근을 제공할 수 있어 기쁘게 생각합니다. 그저 git clone을 실행하고
즐기시면 됩니다.
불행히도, 이러한 크롤러들은 그것이 의미가 있는지 여부와 상관없이 Codeberg의 모든 개별 페이지를 읽으려고 시도합니다. 여기에는 모든 다양한 이슈 필터(issue filter) 변형, Git 히스토리(Git history), 그리고 Git 히스토리의 어느 시점에 있는 실제 파일들까지 포함됩니다 — 설령 그 파일들이 이전과 동일하더라도 말입니다.
이러한 불필요한 접근은 비용이 많이 드는 데이터베이스 쿼리(database queries)를 생성하여 우리 모두를 위한 서비스 품질을 저하시키고, 시스템 관리자들에게 상당한 양의 작업을 요구하며, 멋진 새로운 것을 만드는 대신 방어 기제(defensive mechanisms)를 구축하는 데 시간을 쓰게 만듭니다. 이러한 기제는 신규 및 기존의 정당한 사용자들에게도 영향을 미치는데, 우리가 그들의 원하는 워크플로우(workflow)에 제한을 두거나 아예 차단해야 하기 때문입니다. 이는 결과적으로 그들에게 Codeberg에서의 더 나쁜 경험을 남깁니다.
존재하지 않는 개발 팀
코드를 다루기 위해 LLM을 사용하는 것은 아드레날린을 솟구치게 합니다. 마치 대규모 팀이 있는 것처럼 빠른 속도로 개발하고 무언가를 만들어낼 수 있습니다. 단지 당신에게 팀이 없을 뿐입니다. 사실, 당신은 (종종) 혼자이며, 에너지를 코드로 변환하는 통계적 기계(statistical machine)와 함께 작업하고 있는 것입니다.
많은 '바이브 코더(vibe coders)'들이 자신들 주변에 실제 커뮤니티가 없다는 사실을 깨닫지 못하는 것 같습니다. 그들은 마치 커뮤니티가 있는 것처럼 프로젝트를 구축하고 그에 따라 리소스를 소비합니다. 우리는 많은 코드 활동, 과도한 CI/CD 테스트, 빈번하고 거대한 릴리스 바이너리(release binaries)를 가진 프로젝트들을 목격합니다. 때로는 지원되는 플랫폼의 양이 실제 사용자 수보다 더 많은 것처럼 느껴지기도 합니다.
저희가 보기에는, CI/CD 및 스토리지 (storage) 자원을 아껴가며 운영되는 Codeberg의 가장 큰 커뮤니티 프로젝트들만큼, 혹은 그보다 더 많은 자원을 소비하면서도 개발자가 단 한 명뿐이고 사실상 사용자가 거의 없는 프로젝트들을 보는 것이 터무니없게 느껴집니다. 저희는 Codeberg가 소중한 기부금을 거대한 유령 프로젝트 (ghost projects)를 호스팅하는 데 투자하는 것이 합리적이라고 생각하지 않습니다.
하드웨어 조달이 골칫거리가 되고 있습니다
LLM (Large Language Models)의 학습과 배포는 하드웨어 구매 비용, 특히 SSD와 메모리 (memory) 비용을 급격히 상승시켰습니다. 예를 들어 보겠습니다. 불과 몇 년 전까지만 해도 700유로에 조달했던 유형의 드라이브가 이제는 3,700유로로 올랐으며, 종종 재고가 부족한 상태입니다. 그 결과, Codeberg에서 코드를 호스팅하는 비용이 점점 더 비싸지고 있습니다.
저희는 하드웨어를 직접 소유하고 있으므로 치솟는 '클라우드 (cloud)' 대여 비용의 직접적인 영향은 받지 않지만, 이는 하드웨어를 교체하거나 확장하는 비용이 예전보다(그리고 그래야 하는 것보다) 실질적으로 훨씬 더 많이 든다는 것을 의미합니다. 저희가 이러한 인상된 하드웨어 가격을 감당할 수는 있겠지만, 그 돈은 Codeberg의 서비스를 개선하고 미션을 육성하는 데 다른 곳에 사용할 수 없는 돈입니다.
커지는 디지털 격차
이러한 가격 인상은 또한 커지는 *디지털 격차 (digital divide)*로 이어집니다. 소규모 및 대규모 운영자 모두 상승하는 비용으로 인해 위험에 처해 있는 반면, 오직 가장 큰 클라우드 기업들만이 하드웨어에 대한 신뢰할 수 있는 계약을 맺고 있습니다. 웹사이트 호스팅, 스토리지 또는 컴퓨팅 (compute)과 같은 서비스 비용의 증가는 최근까지 당연하게 여겼던 많은 소규모 NGO, 지역 협동조합, 연구 프로젝트 및 기타 디지털 도구 사용자들에게 큰 도전 과제가 될 수 있습니다.
디지털 인프라를 운영하는 비용이 더 비싸질 뿐만 아니라, 컴퓨터나 스마트폰과 같은 더욱 기본적인 디지털 도구들조차 상승하는 비용의 영향을 받게 되어 개인용 컴퓨팅(personal computing)이 다시 사치품으로 변하고 있습니다. 문제는 이제 디지털 도구가 사회에 참여하기 위한 사실상의 필수 요건(de-facto requirement)이 된 세상이라는 점입니다. 연산(compute) 및 저장 용량이 적은 기기들은 사용자로부터 주권(sovereignty)을 빼앗고, 클라우드 제공업체들이 다시 판매하는 비용 함정(cost trap)으로 사용자를 몰아넣습니다.
시민 인프라, 사용자, 그리고 환경의 피해
인프라에 미치는 부정적인 영향은 여기서 그치지 않고, 더 기본적인 시민 인프라(civic infrastructure)에 대한 우려로 이어집니다. LLM (Large Language Models) 학습을 위해 특별히 구축된 데이터 센터에 내재된 에너지 및 용수 수요로 인해, 이미 오늘날 많은 공동체가 전기와 식수 모두에 대해 상승하는 소비자 비용을 경험하고 있습니다. 그리고 비용 상승을 넘어, 데이터 센터 인근에 거주하는 사람들은 증가하는 대기 및 소음 공해의 직접적인 영향을 받습니다.
이러한 데이터 센터에 전력을 공급하기 위해, 그 배후에 있는 기업들은 환경 규제로부터 면제받기 위해 적극적으로 로비 활동을 벌이고 있습니다. 프랑크푸르트(Frankfurt)의 경우, 데이터 센터가 이미 지역 전력의 40%를 소비하고 있으며 그 수요는 계속 증가하고 있습니다. 이 수요를 충족하기 위해 그들은 화석 연료를 사용하고자 합니다.
협업의 위기
LLM의 사용으로 영향을 받는 것은 순수하게 디지털 및 시민 인프라만이 아닙니다. 우리가 Codeberg의 중요한 부분이라고 간주하는 자유/오픈 소스 소프트웨어 (free/libre software) 생태계는 협업을 중심으로 하는 사회적 현상입니다. 이러한 방식으로 일하는 것은 자유로운 공유와 상호 학습 덕분에 가능합니다. 여기에는 공유되고 재사용되며 협업이 시작될 수 있는 매우 작은 도구들까지 포함됩니다. 이와 대조적으로, LLM을 채택함으로써 사람들은 *일회용 소프트웨어 (single-use software)*를 처음부터 코딩하는 경향이 있습니다. 이는 '공유된' 코드의 증가로 이어지기는 하지만, 대부분은 누구에 의해 '작성'되지 않았을 뿐만 아니라 누구에 의해 유지보수(maintained)되지도 않는 코드입니다.
서로에 대한 신뢰 상실
FLOSS(Free/Libre and Open Source Software) 내에서 LLM의 광범위한 사용은 기여자들 사이의 신뢰와 즐거운 협업(convivial collaboration)이라는 개념 자체에 대한 다차원적인 공격이 되고 있습니다. 유지보수자(Maintainers)들은 검토하는 데 상당한 시간이 소요되는, (종종 선의를 가진) 저노력(low-effort)의 LLM 생성 기여물을 제출하는 사람들로 인해 늘어난 업무량에 시달리고 있습니다. 동시에, 어떤 프로젝트가 숙련된 개발자에 의해 유지보수되고 있는지, 그리고 어떤 프로젝트가 의미 있는 인간의 감독(oversight)과 입력(input) 없이 LLM에 의해 생성되었는지 구별하기가 점점 더 어려워지고 있습니다. 카피레프트(copyleft) 프로젝트의 경우, LLM은 추가적으로 '라이선스 세탁(license laundering)'을 초래하기도 하는데, 이는 훈련 데이터로부터 코드를 '생성'함으로써 카피레프트 코드의 상호주의(reciprocity) 요건을 제거해 버리는 현상을 말합니다.
우리는 서로를 불신하는 경향이 증가하는 것을 목격하고 있으며, 이는 이슈를 분석하거나 제안을 공유하기 위해 실제로 노력을 기울인 사람들이 LLM을 사용하지 않았음에도 불구하고 LLM을 사용했다는 비난을 받는 지점까지 치닫고 있습니다. 동시에, 다른 이들은 자신의 흔적을 숨기고 흔한 패턴을 적극적으로 피하도록 LLM에 지시하며, 이는 리뷰어들이 기여물과 커뮤니케이션에서 기계 생성의 흔적을 찾기 위해 더욱 주의 깊게 살피도록 유도합니다.
악순환의 진입
이러한 힘들이 결합되어 협업을 더 어렵게 만들 뿐만 아니라 보람도 없게 만듭니다. 협업의 *거래 비용(transaction cost)*이 증가함에 따라, 사람들은 고품질 소프트웨어 프로젝트를 만드는 데 기여할 가능성은 낮아지는 반면, 자신의 필요에만 특화되어 그 이상으로 발전하지 않을 일회성 소프트웨어를 '바이브코딩(vibecode)'할 가능성은 높아지고 있습니다. 우리는 협업의 보람은 점점 줄어드는 반면, 유지보수되지 않고 개선도 전혀 이루어지지 않는 일회용 소프트웨어의 양은 늘어나는 악순환에 빠지고 있습니다.
비록 의도는 선할지라도, 프롬프트(prompt)의 결과물을 공유하며 이를 "자유 소프트웨어 (libre software)"라고 부르는 것이 세상을 더 나은 곳으로 만들지는 않습니다. Codeberg는 아무도 보지 않을 그런 생성된 일회용 소프트웨어를 쏟아붓는 장소가 아니며, 그런 장소가 되고 싶지도 않습니다. 우리는 사람들이 함께 협업하고 소프트웨어를 개선하는 공간입니다. 이러한 맥락에서, 최근의 투표는 그러한 원칙들을 재확인하는 것으로 이해될 수 있습니다. 우리는 인간의 협업을 중심에 두고자 하기에, LLM (Large Language Models)의 생성에 적극적으로 지원하거나 참여하지 않을 것이며, 우리의 FLOSS (Free/Libre and Open Source Software) 공공재를 오염시킬 일회용 소프트웨어를 저장하는 데 우리의 한정된 자원을 사용하지 않을 것입니다.
약관의 진화
이용 약관(Terms of Use)을 변경하는 것은 우리의 미션과 우리가 지원하고자 하는 프로젝트에 대한 강력한 신호를 보냅니다. 그렇다고 해서 며칠 내로 콘텐츠가 대량 삭제되는 일은 없을 것입니다. 우리의 중재(moderation) 팀이 삭제해야 할 대상 저장소(repository)의 목록을 처음부터 철저하게 작성하기 시작하지는 않을 것입니다. 대신, 아래의 예시와 같은 사례들을 사용하여 새로운 규칙을 실행에 옮기기 시작할 것입니다. 우리는 그 이면에 있는 인간으로서, 자유/자유 소프트웨어(free/libre software) 프로젝트와 커뮤니티를 깊이 아끼고 있습니다.
우리는 많은 개발자가 자신의 워크플로(workflow)에서 LLM을 도구로 받아들이기 시작했다는 점을 인정합니다. 어떤 이들은 이를 광범위하게 사용하여 손으로 코딩하는 일이 거의 없는 반면, 어떤 이들은 특정 작업에만 이를 위임하기도 합니다. 우리는 이러한 변화가 귀하의 프로젝트에 앞으로 어떤 영향을 미칠지 알고 싶어 한다는 점을 이해합니다. 쉬운 답변을 드릴 수는 없지만, 토론에서 제기된 대부분의 우려 사항을 해결할 수 있는 몇 가지 의견을 공유하고자 합니다.
초기 단계의 비공식 가이드라인
귀하의 작업이 다음 사례에 해당한다면, 영향을 받을 가능성은 거의 없습니다:
- 소프트웨어를 아끼고 유지보수하는 활발한 커뮤니티를 가진 프로젝트
- LLM 등장 이전의 상당한 이력을 가진 프로젝트
- 프로젝트가 LLM을 과도하게 사용하지 않는 상황에서, 유지보수자가 다른 기여자로부터 LLM이 생성한 기여(contribution)를 인지하지 못했거나 혹은 자발적으로 수락한 경우
또한 우리는 Codeberg의 콘텐츠를 자동으로 스캔하는 데 상당한 양의 시간과 자원을 소비하지 않을 것입니다. 따라서 다음과 같은 사용 사례들은 (비공개 저장소와 유사하게) 권장되지는 않지만, 실제로는 용인될 가능성이 높습니다:
- 자원 사용량이 적은 사이드 프로젝트 (Side projects) 및 실험
- LLM에 의해 생성된 것이 아니더라도 어차피 커뮤니티를 찾기 어려울 특정 도구 및 커스텀 스크립트 (Custom scripts)
하지만 우리는 Codeberg에서 더 이상 환영받지 못할 수도 있는 특정 사용 사례들에 대해서도 솔직해질 필요가 있습니다. 만약 본인이 이 목록에 해당한다고 생각된다면, 즉시 이동할 필요는 없지만 귀하의 요구 사항에 더 잘 맞는 다른 장소들이 있을 수 있습니다:
- LLM "에이전트 (agents)"에 의해 자율적인 방식으로 생성된 프로젝트
- LLM을 과도하게 사용하여 작성되고 유지보수되는 프로젝트
- 투입된 인원이 수작업으로 생성할 수 있는 수준보다 자원(예: 스토리지, CI/CD)의 양이 현저히 큰 프로젝트
- LLM 생태계와 밀접하게 연관된 프로젝트 (예: LLM 사용을 용이하게 하기 위해 LLM이 작성한 도구)
- 프로젝트의 자체 정책을 위반하여 LLM 기여분을 보내는 사용자
이용 약관(Terms of Use)에 추가된 구체적인 변경 사항을 확인하실 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기