AI 코드 도구가 오픈소스를 '양면적인 선물'으로 만들고 있다: 어떤 영향을 미치나?

AI 코드 도구가 오픈소스 프로젝트에 대한 '양면적인 선물'이라는 뉴스를 보고, '이건 정말로? AI 코드 도구가 오픈소스에 좋은 영향을 미치나?'라는 생각이 드네요. 실제로는, AI 코드 도구의 영향은 예상했던 것보다 훨씬 복잡하고 모호합니다.
VLC의 CEO Jean-Baptiste Kempf가 최근 인터뷰에서 'VLC 코드베이스에 대한 초급자에게, 병합 요청(merge request)의 품질은 극악하다'고 말했습니다. 이건 정말로? AI 도구를 쓰는 사람들이 만든 코드가 그렇게 나쁘다는 거지요. Blender라는 3D 모델링 도구 역시 AI 도움을 받은 기여가 리뷰어들의 시간을 낭비하고 동기감을 떨어뜨렸다고 Francesco Siddi가 밝혔습니다. cURL이라는 오픈소스 데이터 전송 프로그램은 보안 취약점을 신고하는 '버그 bounty' 프로그램을 중단하기도 했습니다. 이유는 'AI slop(잘못된 코드)'이 폭발적으로 늘어났기 때문입니다. "과거에는 보안 신고에 시간을 투자했지만, 지금은 노력 없이 신고가 가능해졌습니다. 문턱이 사라졌습니다"라고 창업자 Daniel Stenberg는 말했습니다.
하지만 AI 코드 도구는 모든 것이 좋지 않은 것도 아닙니다. VLC의 Kempf는 "경험 있는 개발자를 이끄는 경우, 새로운 모듈을 빌드하는 데 매우 용이해졌습니다"라고 말했습니다. 즉, AI 도구는 경험 많은 개발자에게 유용하지만, 그렇지 않은 사람들에게는 관리하기 어렵다는 것입니다.
더 큰 문제는 우선순위 차이입니다. Meta와 같은 회사들은 새 코드와 제품을 중시하며, 오픈소스 소프트웨어는 안정성에 더 집중합니다. "대기업과 오픈소스 프로젝트의 문제가 다르다"라고 Kempf는 주장했습니다. "코드 작성을 위해 승진하지만, 유지보수를 하지 않습니다." AI 코드 도구는 소프트웨어 분할이 심각한 시점에 도래했기 때문입니다. 오픈소스 투자자 Konstantin Vinogradov은 "코드베이스와 의존성 수가 지수적으로 증가하는 반면, 활동적인 유지보수자 수는 느리게만 증가하고 있어"라고 말했습니다. AI 도구는 이 공식의 두 부분을 모두 가속화시켰습니다.
결론적으로, AI 코드 도구는 소프트웨어 엔지니어맹에 대해 새로운 관점을 제시합니다. 만약 엔지니어맹이 작동하는 소프트웨어를 생산하는 과정이라면, AI 코드는 더욱 쉽게 이루어집니다. 하지만 엔지니어맹이 소프트웨어 복잡성을 관리하는 과정이라면, AI 도구가 그것을 더 어렵게 만들 수 있습니다.
내가 보기엔
나는 '소프트웨어 엔지니어의 죽음'이라는 주장에 대해 매우 의문을 가집니다. AI 코드 도구가 경험 많은 개발자에게는 강력한 도구이지만, 초급자에게는 문제를 더 만듭니다. 오픈소스 프로젝트의 '자연적인 문턱'인 신뢰가 사라졌기 때문에, 더 많은 잘못된 코드가 유입되고 있습니다. 이는 결국 소프트웨어 생태계를 분열시키며, 유지보수자들이 부족한 상황을 악화시킵니다.
AI 도구가 개발 속도를 높이지만, 그 대가로 품질과 안정성에 대한 희생이 발생할 수 있다는 점은 중요합니다. 실제 사용자나 개발자에게는 어떤 영향을 미치나? 예를 들어, VLC에서 새로운 모듈을 빌드하는 데 도움이 되지만, 잘못된 코드가 유입되면 안정성 문제로 이어질 수 있습니다.
결론적으로, AI 코드 도구는 오픈소스 세계에 '양면적인 선물'처럼 작용합니다. 경험 많은 개발자에게는 유용하지만, 초급자와 소프트웨어 생태계 전체에 문제를 야기할 수 있습니다.