리눅스 공동체에 작은 분란「일할 펭귄이 부족해!」

일반입력 :2002/02/01 00:00

Robert Lemos

지난 월요일 컴퓨터 프로그래머이자, 작가이며, 리눅스 전도자인 롭 랜들리는 '패치 펭귄'이 필요하다고 하면서 리눅스 커널 개발 리스트에 한 제안문을 공고했다. 패치 펭귄이란 현재 개발 커널인 리눅스 2.5를 괴롭히는 수없이 많은 작은 문제를 해결하기 위해서 픽스(fixes)를 통합하는 것을 도울 사람을 말한다. 랜들리는 이 제안문이 토발즈가 자원 봉사자들에 의해 부화된 여러 개의 작은 픽스들을 업데이트시키지 않음으로써 개발자들의 불만이 커졌기 때문에 나온 것이라고 말했다. 그는 또 이것으로 인해 공동체 내에는 알게 모르게 긴장이 야기되고 있다고 말했다.랜들리는 자신의 제안문이 토발즈와 여러 개발자들 사이에서 열띤 논쟁을 불러일으킨 후에, "지금 현재 패치 과정은 처리 가능한 상태지만, 심각한 스트레스 국면을 보이고 있다. 내가 제안하는 것은 지진이 일어나기 전에 스트레스를 완화해보자는 것"이라고 하면서, "만약 스트레스가 계속해서 더 커지면, 뭔가 더 큰 일이 일어날 가능성이 더 많아질 것"이라고 말했다.이 논쟁은 리눅스의 복잡성은 더 커지는 반면, 운영체제에 내용을 추가시키는 작업은 따라주지 못한다는 사실을 강조했다. 이들이 두려워하는 것은 불만을 품은 개발자들이 리눅스 커널을 '갈라서' 이 운영체제를 두 개의 서로 다른 버전으로 만들어버리는 등 자신들만의 것을 새로 만들어 낼 수도 있다는 것이다. 토발즈가 1990년대 초에 작성한 코드에 기반을 둔 리눅스는 작고 기본적인 운영체제에서 MS의 윈도우 기능과 경쟁이 될만한 성능을 가진 소프트웨어로 성장했다. 그러나 토발즈는 지금도 리눅스의 미래 방향에 대한 설계뿐 아니라, 커널이라고 불리는 핵심 운영체제의 유일한 공식 버전을 관리하고 있다. 칩 제조업체 트랜스메타의 연구원인 토발즈는 현재의 개발 기관은 비교적 잘하고 있다고 주장했다. 대신 그는 개발자들이 자신이 받은 패치를 매번 적용하지 않았기 때문에 불만이라고 주장했다. 그는 "기본적인 문제는 우선순위의 문제"라고 하면서, "당신은 둘 중에서 하나를 할 수 있다. 조잡한 것을 포함한 모든 것을 수락하는 것, 혹은 조심스럽게 적용시킬 패치에 시간을 들이는 것"이라고 말했다. 신뢰의 문제토발즈는 이같은 긴장의 일부는 정식으로 제출되지 않았거나 자신이 신뢰하는 사람으로부터 온 것이 아닌 패치를 자신이 거절한데서 비롯된 것이라고 덧붙였다. 메인테이너(maintainers)라고 불리는 사람들은 네트워킹이나 헬프 시스템, 그리고 그래픽과 같은 특정 리눅스 서브시스템의 개발을 주도하도록 지명된 프로그래머들을 말한다. 그는 "한마디로 만해서 당신이 신뢰하고 있는 메인테이너들에게 패치를 보내라. 만약 당신이 자신의 패치를 지지해줄 사람을 찾지 못한다면, 당신은 이 패치에 어떤 문제가 있을까하고 스스로에게 물어봐야만 할 것"이라고 말했다. 그러나 그렇게 되면 개발자들은 자신의 패치에 문제가 있기 때문에 토발즈가 거절한 것인지 혹은 그것들을 할 시간이 없어서인지 계속 추측하게 될 것이다. 랜들리는 "문제는 시스템을 통과해서 흘러가야 할 좋은 패치들의 흐름이 막힌다는 것"이며, "이 문제의 일부는 리누스가 거절하는 방식이라는 것이 그것들을 단순히 무시해 버린다는 것"이라고 말했다. 그리고 이같은 일들이 공동체에서 별 존경을 받지 못하는 무명의 개발자들에게 일어나는 것만은 아니라는 것이다. 유명한 개발자들이 만든 것들이 장시간 동안 사용되지 않는 것을 경험하고 있는 것이다. 유명한 공개 소스 에반젤리스트이며 리눅스 헬프 시스템의 메인테이너인 에릭 레이몬드는 자신이 만든 6개의 패치를 포함시키기 위해 총 33번이나 제출해야 했다고 말했다. 자신의 패치가 포함되지 않은 채로 커널이 바뀔 때마다 그는 자신의 소프트웨어가 커널의 최신 버전에 잘 맞도록 하기 위해서 계속 추가적인 작업을 계속 해야만 했다. 레이몬드는 "리눅스가 설계자로서 리누스의 능력보다 더 커진 것이 아니라, 관리자로서의 그의 능력보다 더 커진 것"이며, "만약 우리가 리누스를 설계자로 계속 두고 싶다면, 우리는 관리자로서의 그를 대체할 수 있는 방법을 강구하든 혹은 적어도 패치를 관리하는 그의 능력에 보충력을 제공해야만 할 것"이라고 말했다. 지연이 심하다다른 사람들은 패치 문제가 리눅스의 차세대 버전 개발을 시작하는 데 있어서 지연을 가져오는 가장 중요한 요인이라고 주장한다. 생산 커널 리눅스 2.2를 안정화시키고, 개발을 위해서만 사용하는 시험 커널인 리눅스 2.3 개발을 시작하는데 거의 3개월 이상이 걸렸다. 그러나 개발자들이 최신 생산 커널인 리눅스 2.4를 안정화시키고, 가장 최신의 테스트 커널인 리눅스 2.5로 넘어가는데는 거의 11개월이 걸렸다.그동안 토발즈 가까이에서 일했던 사람들조차도 그가 개발 작업을 계획하고, 코드를 업데이트하는 데 있어서 도움이 필요하다고 믿고 있다. 랜들리에 의하면, 리눅스 커널 개발자이며, 현재의 안정적인 커널인 리눅스 2.4의 '패치 펭귄' 역할을 비공식적으로 해왔던 앨런 콕스는 토발즈에게 적어도 같이 일해줄 동료가 필요하다는 것에 동의한다.콕스는 그 예로, 레드햇이나 수세(SuSE), 그리고 맨드레이크같이 자신들의 리눅스를 배포하고 있는 회사들은 토발즈가 우선순위를 주지 않으려 했던 많은 문제를 해결하기 위해 자기네들이 스스로 커널에 패치를 적용시키고 있다는 것이다. 레드햇 연구원인 콕스는 "벤더들을 보면, 그들은 픽스와 바뀐 것들을 같이 선적하는 경향이 있으며, 눈에 띄게 뒤져 있는 것을 흔히 볼 수 있는데, 그것은 다분히 의도적"이며, "보통의 고객들은 견고하고 믿을 만한 플랫폼을 원하며, 누군가가 나서서 '우리는 이것을 지원하며 그것을 테스트해 보았고 잘된다'고 말해 주기를 원한다"고 말했다. 그러나 콕스는 리눅스 개발자들은 원래 까다로운 사람들이라는 점을 지적하면서, 리눅스 공동체 내의 갈등을 대수롭지 않게 여기고 있다.그는 "이것을 현재 무슨 일이 오가며 이 과정에서 어떤 아이디어들이 필요한지를 생각해내는 사무실 회의 정도로 생각해 줄 것"을 요청하면서 "차이점이라면 우리는 오피스 회의를 공식적으로 연다는 것"이라고 말했다.토발즈는 리눅스 개발 사업을 제 궤도에 올려놓는 일이 그다지 부담되는 것은 아니라고 말했다. 그러나 그는 메인테이너가 한 사람 더 있어서 작은 패치들을 관리할 수 있다면 장점이 될 수 있다는 가능성도 배제하지 않았다. 그는, "잡다한 패치들(너무 사소해서 간과되거나 명확하게 잘 관리된 코드가 아닌 경우라든지)을 돌볼 수 있는 사람이 있다면 좋을 것"이라고 하면서, "그러나 그렇게 했을 때의 문제는 별 크고 '신나는' 일도 없이 헛간만 치울 사람은 별로 없다는 사실"이라고 말했다. @