AI 시대에도 개발자는 코드를 이해해야 한다: 리누스 토르발스가 본 오픈소스의 변화

·6분 읽기
AI 시대에도 개발자는 코드를 이해해야 한다: 리누스 토르발스가 본 오픈소스의 변화

리누스 토르발스가 최근 대담에서 AI 코딩 도구를 바라보는 방식은 꽤 선명합니다. 그는 AI를 과장된 위협으로만 보지도 않고, 개발자를 대체할 마법으로 보지도 않습니다. 오히려 컴파일러나 어셈블러처럼 프로그래밍의 생산성을 바꾸는 강력한 도구로 봅니다.

다만 그 도구가 오픈소스 생태계에 가져오는 변화는 단순히 “코드를 더 빨리 쓴다”로 끝나지 않습니다. 진짜 변화는 버그를 찾는 속도, 패치를 제출하는 진입 장벽, 유지보수자가 감당해야 하는 사회적 비용에서 나타납니다.

이번 글은 Tech Bridge가 공개한 리누스 토르발스와 Dirk Hohndel의 대담을 바탕으로, AI 시대의 오픈소스와 개발자에게 남는 질문을 정리한 것입니다.

오픈소스는 이제 “조금 불편한 대안”이 아니다

대담의 초반부는 3D 프린팅 이야기로 시작합니다. 리누스는 3D 프린팅을 취미로 즐기고, OpenSCAD처럼 코드를 써서 모델을 만드는 도구를 선호한다고 말합니다. 시각적 모델링 도구보다 텍스트로 구조를 설명하는 방식이 프로그래머에게 더 자연스럽다는 이야기입니다.

흥미로운 지점은 3D 프린팅 생태계 자체가 상당 부분 오픈소스로 움직인다는 점입니다. 예전에는 오픈소스 도구가 “엔지니어에게는 쓸 만하지만, 상용 도구보다 투박하다”는 인식이 강했습니다. 하지만 리누스는 이제 그 단계를 많이 넘어섰다고 봅니다.

그가 강조하는 오픈소스의 장점은 단순한 무료 배포가 아닙니다. 복잡한 소프트웨어 인프라를 오래 유지하려면, 특정 회사나 국가에 갇히지 않고 누구든 문제를 이해하고 고칠 수 있어야 합니다. 모두가 모든 프로젝트에 기여하지는 않더라도, 필요한 사람이 들어와 고칠 수 있는 구조가 복잡성을 관리하는 가장 좋은 방식이라는 것입니다.

AI는 리눅스 커널 개발량을 이미 늘리고 있다

리누스는 리눅스 커널 개발 프로세스가 지난 20년간 꽤 안정적으로 유지되어 왔다고 설명합니다. Git으로 전환한 이후 릴리스 흐름은 크게 흔들리지 않았고, 꾸준한 진전이 이어졌습니다.

그런데 최근 6개월 사이 눈에 띄는 변화가 생겼습니다. 최근 두 번의 릴리스에서 커밋 수가 과거 평균보다 약 20% 늘었다는 것입니다. 처음에는 7.0 같은 메이저 버전 숫자 때문이라고 생각했지만, 리누스는 실제 원인을 AI 도구의 성숙에서 찾습니다.

AI 코딩 도구가 충분히 좋아지면서 리눅스 커널 패치를 작성하는 초기 장벽이 낮아졌습니다. 이전에는 커널 코드베이스의 관례와 구조를 파악하고 작은 수정 하나를 제출하는 것 자체가 꽤 높은 진입 장벽이었습니다. 이제 AI가 초안을 잡고, 반복 작업을 도우면서 더 많은 사람이 패치 제출에 접근할 수 있게 된 셈입니다.

이 변화는 분명 긍정적인 면이 있습니다. 하지만 동시에 리누스가 말하는 “pain point”도 만들고 있습니다.

문제는 코드보다 유지보수자의 시간이다

AI가 만든 변화 중 가장 민감한 부분은 보안 버그 리포트입니다.

리눅스 커널에는 보안 메일링 리스트가 있고, 전통적으로 민감한 보안 이슈는 제한된 사람들 사이에서 먼저 논의한 뒤 배포판과 사용자에게 업데이트를 안내하는 방식으로 다뤄졌습니다. 그런데 AI 도구가 버그를 잘 찾아내기 시작하면서 상황이 바뀌었습니다.

여러 사람이 같은 AI 도구를 돌리고, 비슷한 버그를 조금씩 다른 형태로 발견하고, “보안 문제가 될 수도 있다”며 보안 리스트로 보내기 시작했습니다. 그 결과 제한된 인원이 보는 보안 리스트가 중복 리포트로 넘쳐났습니다. 실제 코드를 잘 아는 유지보수자에게 다시 전달하는 일만으로도 큰 부담이 된 것입니다.

리누스가 내놓은 방향은 꽤 현실적입니다. AI로 찾은 버그는 기본적으로 이미 공개된 것처럼 취급해야 한다는 것입니다. 내가 AI로 찾았다면, 다른 수십 명 또는 수백 명도 같은 방식으로 찾을 가능성이 높기 때문입니다.

물론 이것이 “익스플로잇을 공개해도 된다”는 뜻은 아닙니다. 취약점을 발견했다면 문제를 알려야 하지만, 누군가를 곤란하게 만들 수 있는 공격 방법까지 떠벌리는 것은 책임 있는 행동이 아닙니다. 리누스의 핵심은 AI 시대에는 비공개 보안 조율의 전제가 약해지고 있다는 데 있습니다.

AI는 닫힌 소스의 안전망도 약하게 만든다

이 대목에서 중요한 말이 하나 나옵니다. 오픈소스가 문제라서 닫힌 소스로 돌아가면 해결되는 것이 아니라는 점입니다.

AI는 오픈소스 코드만 분석하는 것이 아닙니다. 닫힌 소프트웨어도 리버스 엔지니어링의 대상이 될 수 있고, AI는 그 과정도 돕습니다. 차이는 오픈소스에서는 발견된 문제를 고치는 데 AI와 커뮤니티가 함께 쓰일 수 있지만, 닫힌 소스에서는 문제를 찾는 쪽만 더 빨라질 수 있다는 데 있습니다.

그래서 AI 시대의 보안 문제는 “코드를 공개했기 때문에 위험하다”가 아니라 “버그 발견과 공개의 속도가 유지보수 체계보다 빨라지고 있다”에 가깝습니다.

버그를 찾는 것보다 고치는 문화가 더 중요해진다

대담에서 Dirk Hohndel은 최근 일부 보안 회사들이 버그를 발견한 뒤 이름을 붙이고, 로고를 만들고, 블로그를 먼저 공개하는 식의 관행을 비판합니다. 리눅스 커널 같은 오픈소스 프로젝트에서 버그를 찾았는데도 패치 없이 “발견했다”는 발표만 하는 경우가 많다는 지적입니다.

리누스는 버그를 찾는 것 자체는 장기적으로 좋은 일이라고 봅니다. 발견된 버그는 고칠 수 있고, 고친 뒤에는 전체 시스템이 더 나아집니다. 문제는 그 과정이 유지보수자를 소모시키는 방식으로 흘러갈 때입니다.

특히 리눅스 커널처럼 수천 명이 관여하고 기업의 지원을 받는 대형 프로젝트는 그나마 버틸 수 있습니다. 진짜 취약한 곳은 한두 명이 10년 넘게 관리해온 작은 오픈소스 프로젝트들입니다. AI가 만든 리포트가 대량으로 들어오고, 리포터는 추가 질문에 답하지 않고 사라지는 일이 반복되면 유지보수자는 쉽게 지칩니다.

AI 시대의 오픈소스에서 중요한 태도는 “찾았다”에서 끝내지 않는 것입니다. 재현 가능한 설명, 영향 범위, 가능하다면 패치까지 함께 제공하는 문화가 더 중요해집니다.

AI 코드 리뷰와 로컬 AI의 가능성

리누스는 AI가 유지보수자를 괴롭히기만 한다고 보지는 않습니다. 실제로 패치 리뷰를 돕는 자동화 도구도 이미 쓰이고 있습니다. 예를 들어 메일링 리스트로 들어오는 패치를 보고 잠재적인 문제를 짚거나 질문을 던지는 도구들이 있습니다.

그는 또 로컬 AI 도구에도 관심을 보입니다. 큰 회사가 제공하는 서비스에 완전히 종속되기보다, 개발자가 자신의 환경에서 모델을 실행하고 활용하는 방향도 살펴볼 만하다는 것입니다.

여기서도 핵심은 AI가 사람의 판단을 대체하는 것이 아닙니다. 리누스는 자신이 최상위 유지보수자로서 주로 사람과 일한다고 말합니다. 코딩 도구로서 AI는 쓸 수 있지만, 사람과 협업하는 일을 AI에게 맡기지는 않는다는 선이 분명합니다.

“AI가 코드를 썼다”는 말에 대한 리누스의 반응

가장 인상적인 부분은 커리어 조언입니다. 리누스는 “우리 코드의 99%를 AI가 썼다”는 식의 표현을 매우 싫어한다고 말합니다. 이유는 단순합니다. 같은 논리라면 오늘날 거의 모든 코드는 컴파일러가 쓴 것입니다.

개발자는 오래전 기계어 숫자를 직접 입력하던 시대에서 어셈블러로, 다시 컴파일러로 이동했습니다. 그때마다 도구는 생산성을 크게 바꿨지만, 프로그래밍의 본질이 사라지지는 않았습니다. AI도 같은 흐름 위에 있다는 것이 리누스의 관점입니다.

AI는 코드를 생성할 수 있습니다. 하지만 좋은 개발자가 좋은 코드를 만들고, 시스템을 이해하지 못하는 개발자가 취약한 코드를 만들듯이, AI를 프롬프트하는 사람의 실력도 결과물에 그대로 드러납니다.

결국 중요한 것은 생성된 코드를 이해하는 능력입니다. 리누스는 자신이 AI를 취미 프로젝트에 쓰더라도 결과 코드를 읽고, 필요하면 컴파일러가 만든 어셈블리까지 확인한다고 말합니다. 장기적으로 유지할 소프트웨어라면 프롬프트만 이해해서는 부족합니다. 시스템 전체와 최종 산출물을 이해해야 합니다.

바이브 코딩과 장기 유지보수는 다르다

AI는 일회성 프로젝트나 빠른 프로토타입에는 매우 강력합니다. 버려도 되는 코드, 한 번 쓰고 끝나는 도구, 아이디어 검증용 결과물에는 “바이브 코딩”이 잘 맞을 수 있습니다.

하지만 오래 운영할 소프트웨어는 다릅니다. 몇 년, 길게는 수십 년 동안 유지해야 하는 시스템이라면 생성된 코드를 설명하고, 고치고, 책임질 수 있어야 합니다. AI가 초안을 만들었다는 사실은 유지보수 책임을 없애주지 않습니다.

이 지점이 개발자에게 남는 가장 현실적인 조언입니다. 앞으로의 개발자는 AI를 쓰지 않는 사람이 아니라, AI가 만든 결과물을 판단하고 오래 유지할 수 있는 사람이 되어야 합니다.

정리하면

이 대담에서 리누스 토르발스가 말하는 AI는 위협도, 구원도 아닙니다. 개발 방식과 오픈소스 운영 방식을 바꾸는 새로운 도구입니다.

핵심은 세 가지입니다.

  • AI는 커널 패치 제출과 버그 발견의 진입 장벽을 낮추고 있다.
  • 그 결과 유지보수자의 리뷰, 보안 조율, 커뮤니티 운영 부담이 커지고 있다.
  • 개발자의 경쟁력은 프롬프트 작성이 아니라 생성된 코드와 시스템을 이해하는 능력에 있다.

AI 시대의 오픈소스는 더 많은 버그를 더 빨리 발견할 수 있습니다. 하지만 그 발견을 더 나은 소프트웨어로 바꾸려면, 여전히 사람의 책임감과 유지보수 문화가 필요합니다.

참고 영상: Tech Bridge, “[한글자막] 기조연설: 리눅스와 Git의 창시자 리누스 토르발스, DH Consulting 설립자 Dirk Hohndel과 함께합니다”
https://youtu.be/i6gVDcx54FY