리누스 토르발스 “GIT 없었다면…”

GIT는 프로그램 개발 현장 등에서 소스코드 변경 내역을 기록하고 추적하기 위한 분산 버전 관리 시스템으로 올해 4월 탄생 10주년을 맞았다. 이를 기념해 GIT의 창조자인 동시에 오픈소스 운영체제의 대표 격인 리눅스 개발자이기도 한 리누스 토르발스(Linus Benedict Torvalds)가 인터뷰를 했다.

Photo Image

그는 먼저 GIT를 개발하게 된 동기는 잘 알려진 것처럼 당시 리눅스 개발 현장에서 사용하던 소스코드 버전 관리 시스템인 비트키퍼(BitKeeper)가 무상 제공을 종료한 사태였다고 말한다. 처음부터 리눅스 개발팀 중에서도 비트키퍼 사용에 반대하는 의견이 있었고 어떤 의미에선 예상되던 일이 일어난 사건이었다. 어쨌든 리누스 토르발스는 이 사태 탓에 GIT 개발을 시작하게 된다.

비트키퍼는 소스코드 버전 관리를 대표하는 시스템이지만 토르발스는 비트키퍼가 세상에 등장하기 전까지는 이런 시스템 개발을 내키지 않는 정도가 아니라 혐오하고 있었다고 한다. 하지만 그는 비트키퍼를 보면서 소스코드 버전 관리 시스템을 보는 눈이 달라졌다고 한다. 이유는 비트키퍼가 문제를 잘 해결하고 저장소를 로컬에 저장하고 병합하는 방법 같은 게 큰 의미가 있었기 때문이라고. 분산 버전 관리의 장점은 모든 로컬 환경에 저장소를 두는 것으로 누구의 변경 사항을 허용할 것인지 문제가 있었다. 하지만 소스코드 버전 관리 시스템은 이런 문제를 해소할 수 있다.

하지만 비트키퍼 개발사인 비트무버(BitMover)가 라이선스 무상 제공 종료를 선언했다. 토르발스와 동료는 비트키퍼에 대한 라이선스 계약 자체가 존재하지 않는다는 주장을 했지만 협상은 결렬됐다. 하지만 토르발스는 비트키퍼 사용 이전 상태로 돌아가는 일을 피하고 싶었고 결국 직접 GIT를 개발하게 된 것.

GIT는 기능을 개선해가면서 2005년 12월 운용을 시작했다. 토르발스는 기능에 대해 만족했고 외부 프로젝트에도 많이 사용하게 된 게 흥미로웠다고 말한다. 그는 앞으로 GIT를 넘는 새로운 시스템이 등장하느냐는 질문에 직접 만들 생각은 없지만 뭔가 새로운 게 등장할 것이라고 말했다. 하지만 이들도 GIT와 같은 게 될 것이라며 자신감이 엿보이는 답을 했다.

토르발스는 GIT가 리눅스 개발팀에 맞춰 설계된 것이며 이런 점에서 리눅스의 일부라고 할 수 있다고 말한다. GIT는 리눅스 개발 같은 큰 프로젝트를 위해 만들어진 만큼 다른 시스템이라도 몇 시간이 걸릴 것 같은 병합 처리를 몇 초나 몇 분 안에 끝낼 수 있다.

물론 GIT가 터무니없이 머리가 좋은 사람 밖에 쓸 수 없는 시스템이라는 목소리도 있다. 토르발스는 이런 지적에 대해 예전엔 그랬던 시기도 있었지만 지금은 그렇지 않다면서 모두가 그렇게 느끼는 이유는 여러 가지가 있겠지만 지금도 유일하게 남은 이유는 다른 일을 할 때에도 많은 방법을 택할 수 있다는 것이라고 말했다. GIT에선 정해진 규칙은 보통 기술적 제한이 아니라 여러 명이 작업할 때를 위한 것 밖에 없고 대부분은 경우의 수가 많다는 것이다. 그는 GIT가 강력한 도구 집합체이며 같은 목적을 달성하기 위해 여러 길을 추적할 수 있지만 GIT를 처음 사용할 때에는 너무 많은 걸 손대지 말고 기본적인 것만 쓰다가 자신감을 가지게 되면 하나씩 다른 걸 쓰라고 조언했다.

그는 GIT 없이는 리눅스도 지금 같은 개발 속도를 실현할 수 수 있었겠냐는 질문에 물론 가능했겠지만 GIT만큼 효율적인 분산 버전 관리 시스템은 반드시 필요했을 것이라고 답했다. 사실상 GIT 없이는 무리였다고 말한 것이다.

토르발스는 GIT의 구조를 이용한 웹서비스인 깃허브(GitHub)에 대해 뭔가 새로운 프로젝트를 쉽게 시작할 수 있게 된 것만으로도 충분하다면서 중요한 건 프로젝트가 뭐냐가 아니라 프로젝트를 스스로 진행할 수 있다는 것이라고 말했다.

전자신문인터넷 테크홀릭팀


이원영IT칼럼니스트 techholic@etnews.com


브랜드 뉴스룸