깃헙의 main 브랜치에 반대하는 이유

깃헙은 2020년 10월 1일부터 기본 브랜치를 master가 아닌 main으로 바꾸기로 결정하였다. 이제 따로 설정하지 않을 경우 새로운 저장소를 만들면 main 브랜치를 이용한 명령어가 안내된다.

차별을 방지하기 위해 언어를 순화하겠다는 의도는 이해할 수 있지만 나는 다음과 같은 세 가지 이유로 이것에 반대한다.

  1. 논리와 근거의 부족
  2. 토론의 부족
  3. 실제적 효과에 대한 문제

1. 논리와 근거의 부족

IT업계에서 master와 slave라는 단어는 기술적으로 메인과 그 외의 것을 지칭하는 용어로 사용되어 왔고 그 어원이 노예제에서 왔다는 이유로 다른 용어로 대체되기 시작하였다.

문제는 master는 master/slave가 아닌 main이나 origin의 뜻으로도 사용되며 깃에서 master라는 용어를 정할때는 master/slave의 의도가 없었다는 것이다. slave 브랜치라는 것은 없으니 개발자라면 실제 용법상으로도 그렇지 않다는 것을 알 수 있다.

한 GNOME 이메일의 작성자는 깃의 master가 master/slave에서 왔으므로 바꾸어야한다고 주장했다가 리누스와 대화 후 그렇지 않을 것이라는 것을 알게되었지만 어원은 별로 중요하지 않다는 결론을 짓는다. 새로운 증거가 나왔음에도 불구하고 기존의 신념을 버리지 못하는 흔한 예이다. 어원이나 그 의미가 중요하지 않다면 모든 master라는 단어는 대체되어야 한다는 말인가?

깃 master 브랜치명 변경 움직임이 촉발된 중요한 이유 중 하나가 Black Lives Matter (BLM) 운동이었다. Mislav Marohnić라는 한 깃헙의 개발자의 트윗을 보면 백인들은 흑인에 비해 특권을 누리고 있으며 자성하고 행동해야한다는 이야기를 하며 마찬가지로 결국 어원은 중요치 않다고 이야기한다 (여기서 이 개발자는 실제 어원도 master/slave가 맞다는 이야기를 하지만 그것은 나중에 그렇지 않다고 밝혀진 메일링 리스트 대화의 일부였다.)

이 주장을 펼치며 역설적이게도 이 글을 쓴 개발자는 미국의 백인이 깃헙을 사용하는 개발자의 중심(혹은 세계의 중심)이라고 생각하는 듯하다. 이 개발자는 과연 아프리카의 개발자들도 그들이 동의하든 동의하지 않든 비용을 들여 브랜치명 변경으로 인해 발생하는 문제를 해결해야한다는 사실을 충분히 생각해보았을까. 이 개발자는 다른 나라에게 주로 침범 당해오기만한 아시아의 한 나라에서도 이 결정에 대한 짐을 함께 져야한다는 것을 예상했을까. 한국에도 흑인에 대한 인종차별이 있을 것이며 그 문제를 해결하기 위한 움직임이 있을 수 있다. 하지만 그것은 한국 내에서 자발적으로 일어나야하는 것이지 미국 백인들의 강제적인 결정에 의해 일어나는 것이어선 안된다.

장애우라는 단어가 있다. 장애인이라는 단어를 순화하기 만들어진 용어인데 이것은 비장애인 입장에서 만들어진 것으로 장애인 입장에서는 본인을 지칭할 수 없는 말이며 나이가 많거나 적은 사람에게 사용하기도 어려운 단어이다. 우리가 미국에서 유행하는 이런 움직임을 무비판적으로 받아들인다면 이것은 미국에서 "한국에서는 장애인을 위해 장애우라는 단어를 만들었다고 하니 우리도 장애인을 disabled friends라고 부르자"라고 하는 상황과 같다. 좋은 의도가 항상 좋은 결과를 낳지는 않는다.

2. 토론의 부족

깃헙의 브랜치명 변경은 논리와 근거의 부족 그리고 미국 중심적인 결정이라는 이유로 많은 반발을 일으켰다. 문제는 의사결정권자들이 합리적인 반대의견에 대해 inclusive하지 않은 반응을 보인다는 점이다. inclusive한 용어를 사용하기 위한다며 다양한 의견에 대해서는 전혀 inclusive하지 않는 태도를 보이는 아이러니한 상황인 것이다. 예를 들어 Git For Windows의 main으로의 브랜치명 변경 티켓에서는 다수의 사람들이 반대의견을 표시하고 있는데도 적절한 설명을 내놓지 않은채 밀어붙이는 모습을 보여주고 있다. 반대의견은 모두 이슈 하단에 숨김처리되어 있다.

해커뉴스에서도 이 결정과 관련한 토론이 수 차례 있어왔으며 다수가 반대의견을 표시하고 있는 것을 볼 수 있다. 모두를 만족시키려는 것은 어리석은 짓이나 최소한 합리적인 토론은 가능해야하는데 그것이 부족해보인다.

어떤 사안이든 여러가지 면이 있고 그것에 대해 충분히 토론하고 검토하는 것이 필요하다. 한편으로는 반대가 있어도 무시하는 것이 문제라면 다른 한편으로는 이것을 단순히 "의식있는 행동"이라고 생각하고 무비판적으로 받아들인다는 것이 문제이다.

한 회사에서 직원들이 모여 이 브랜치명의 어원과 의미가 무엇인지 바꾸는 것은 무엇을 의미하는지 그것이 그 시간을 투자할만큼 의미있는 일인지 혹은 더 좋은 방법은 없을지에 대해 충분히 토론한 뒤 합의에 이르러 브랜치명을 바꾸기로 했다면 그것은 존중 받을만한 일이다. 하지만 미국의 유명 대기업에서 main으로 바꾸니 이것은 의미있는 일이 틀림없고 그러니 다들 불만갖지 말고 바꾸라고 한다면 이것은 의식있는 행동을 한다는 것을 보여주고 싶은 나르시즘에 불과하다.

3. 실제적 효과에 대한 문제

세상을 더 나은 곳으로 바꾸기 위한 의미있는 행동을 비난하는 이들이 있다. 합리적인 비판도 있지만 많은 경우 이 비난의 이면에는 아무 행동도 하지 않는 자신들의 무능함, 무책임함 또는 무지가 있고 이것을 직면하는 대신 가장 쉬운 비난이라는 방법을 택한다. 기부나 자선사업을 해도 비난을 하거나 당장 사람이 죽어나가고 있는 상황에서 "난민들이 생기지 않게 해야지 난민을 도와주면 어떡하냐"라고 이야기하는 식이다.

main 브랜치로의 변경은 과연 의미있는 변화를 가져올까. master를 main으로 바꾸는 것은 세계적으로 많은 비용을 수반한다. 기술적으로 깃의 주 브랜치명은 어떤 것이든 될 수 있지만 사실상 master가 de facto인 상황이었으므로 일반적으로는 그것에 대해 고민할 필요가 없었다. 이 변화로 인해 이제 어떤 저장소의 주 브랜치가 master라고 가정할 수 없으며 그것은 수많은 자동화 시스템에 문제를 일으킬 것이다. 여러사람이 함께 일하는 새로운 프로젝트 저장소의 주 브랜치명을 무엇으로 정해야하나에 대한 양극화 문제도 발생할 것이다. 걸리버 여행기에는 계란을 위로 깨는 파와 아래로 깨는 파의 전쟁 이야기가 나온다. main 브랜치의 출현은 이 이야기를 연상시킨다.

과연 이것이 이 비용을 치를만큼 실용적 효과를 낼만한 일인가. master 브랜치에 대해 이야기할 때 "나는 흑인인데 이것이 거슬린다"라고 이야기하는 사람은 찾기 어렵다 (반면 "나는 흑인인데 대체 이걸 왜 바꾸려는지 모르겠다"라고 이야기하는 글은 몇 번 보았다.) main 브랜치를 옹호하는 주장은 대부분 "(나는 백인인데) 이것에 상처받는 누군가가 있을 수도 있다"이다. 혹시 master라는 용어 때문에 상처받는 사람이 있을 수도 있다고 걱정하는 사람들을 위해 우리는 이것을 바꾸어야하는가?

실제 master라는 단어 사용 때문에 어려움을 겪는 소수의 사람들이 있다고 하더라도 과연 이것이 그들을 보호하는 일인가에 대해 다시 한번 고민해보아야 한다. 소수자나 약자를 보호하려 할 때는 그들을 위험으로부터 막아주는 것도 중요하지만 그들 스스로 그 어려움을 이겨낼 수 있도록 도와주는 것도 중요하다. master라는 단어는 일상적으로 사용되는 단어인데 그 단어 때문에 어려움을 겪는다면 그것을 없애는 것 보다는 스스로 그것을 극복할 수 있는 도움을 주는 것이 현실적으로 그들을 보호할 수 있는 방법이다.

독일로 입사 후 교육기간에 보았던 발표 중 가장 인상적이었던 것이 Diversity Guild의 발표였다. 다양한 국적의 직원들이 모여서 일하는 환경이니 서로를 더욱 잘 이해하고 포용할 수 있도록 하는 것이 취지였다. 다양성에 대한 경험이 적은 우리나라에서는 안타깝게도 다양성에 큰 중요성을 두지 않는다. 오래 전부터 다양한 인종이 모여살던 미국은 그 문제를 해결하기 위해 오랜기간 노력해왔고 훌륭한 성취를 이루었다. 문제는 이제 그 움직임이 극단적으로 가고 있어 그로 인한 다른 문제들이 발생하고 있다는 것이다. 이런 정치적 움직임이 한쪽 극단으로 갔을 때 어떤 문제가 생기는지 우리는 역사를 통해 잘 알고 있으며 그것이 되풀이 되지 않게 하기 위해서는 고민과 성숙한 토론이 필요하다.

github stackoverflow twitter linkedin email rss