GAFAM 제국이 지배하는 인터넷에서, 메타와 같은 거대 기업이 어떻게 XMPP와 같은 과거의 사례처럼 탈중앙화 네트워크와 페디버스를 무력화하고 파괴할 수 있는지, 그리고 이를 막기 위해 어떤 태도가 필요한지에 대한 분석
2023년이다. 인터넷 전체는 GAFAM 제국의 통제 아래 있다. 전부 다? 꼭 그런 건 아니다. 소수의 작은 마을들이 억압에 저항하고 있기 때문이다. 그리고 그 마을들 중 일부는 서로 뭉치기 시작해, 이른바 "페디버스(Fediverse)"를 형성했다.
트위터와 레딧을 둘러싼 논쟁 속에서 페디버스는 점점 명성과 관심을 얻기 시작했다. 사람들은 실제로 이를 사용하기 시작했고, 제국은 이를 눈치채기 시작했다.
페이스북의 대표적인 투자자 중 한 명인 피터 틸(Peter Thiel)은 이렇게 말했다. "경쟁은 루저들을 위한 것이다." 그렇다. 소위 "시장은 항상 옳다"라고 말하던 이들은 정작 자기들이 시장에 들어오면, 시장을 원하지 않는다. 그들이 원하는 것은 독점이다. 페이스북은 등장 초기부터 모든 경쟁자를 제거하기 위해 매우 신중히 움직였다. 그중 가장 쉬운 방법은 언젠가 경쟁자가 될 수 있는 회사를 미리 사들이는 것이었다. 인스타그램, 왓츠앱 같은 서비스들이 바로 그런 식으로 인수되었다. 이들은 그저 사용자들을 끌어모으고 있었고, 언젠가는 페이스북에 그늘을 드리울 수 있었기 때문이다.
하지만 페디버스는 살 수 없다. 페디버스는 프로토콜(ActivityPub)을 통해 대화를 나누는 서버들의 느슨한 모임이다. 이 서버들은 서로 다른 소프트웨어를 돌릴 수도 있다. 가장 유명한 것은 마스토돈(Mastodon)이지만, 플레로마(Pleroma), 픽셀페드(Pixelfed), 피어튜브(Peertube), 라이트프리리(WriteFreely), 레미(Lemmy) 등 다양한 소프트웨어가 존재한다.
탈중앙화 네트워크는 살 수 없다!
하지만 다른 방법이 하나 있다. 바로 무의미하게 만들어 버리는 것이다. 구글이 XMPP에 했던 방식이다.
20세기 말, 인스턴트 메신저(IM)는 대유행이었다. 가장 먼저 크게 성공한 서비스 중 하나는 ICQ였고, 곧 MSN 메신저가 뒤를 이었다. MSN 메신저는 당시의 틱톡 같은 존재였다. 십 대들이 어른들 없이 몇 시간이고, 며칠이고 시간을 보낼 수 있는 세계였다.
MSN이 마이크로소프트의 일부였던 만큼, 구글은 이에 맞서고자 2005년에 구글 토크(Google Talk)를 내놓았고, 지메일(Gmail) 인터페이스에 이를 포함시켰다. 당시에는 스마트폰도 없었고, 웹 앱도 거의 없었다. 애플리케이션은 컴퓨터에 직접 설치해야 했고, 지메일 웹 인터페이스는 그 자체로 혁신적이었다. 한때 MSN은 아예 마이크로소프트 윈도우에 끼워 팔렸고, 삭제하기도 무척 어려웠다. 그런 상황에서 지메일 웹 인터페이스 안에 채팅을 집어넣는 것은 운영 체제에 기본 탑재된 소프트웨어 이상으로 이용자에게 밀착하는 방식이었다.
한편 구글과 마이크로소프트가 패권을 두고 싸우는 동안, 자유 소프트웨어 괴짜들은 탈중앙화 인스턴트 메신저를 만들려 하고 있었다. 이메일과 마찬가지로 XMPP는 연합(federated) 프로토콜이었다. 여러 서버가 하나의 프로토콜을 통해 서로 대화할 수 있고, 각 사용자는 클라이언트를 통해 특정 서버 하나에 접속한다. 그 후 그 사용자는 어떤 서버, 어떤 클라이언트를 쓰는 사용자와도 통신할 수 있다. 지금의 ActivityPub과 페디버스가 작동하는 방식도 정확히 이와 같다.
2006년에 구글 토크는 XMPP 호환이 되었다. 구글은 XMPP를 진지하게 고려하고 있었다. 2008년, 내가 회사에서 일하던 중 전화가 울렸다. 전화를 받자 이런 소리가 들렸다. "안녕하세요, 구글입니다. 당신을 채용하고 싶습니다." 여러 차례 통화를 해보니, 그들이 나를 찾은 경위는 XMPP-dev 메일링 리스트였고, XMPP 서버 시스템 관리자를 찾고 있다는 사실을 알게 되었다.
즉, 구글은 진심으로 연합을 받아들이는 것처럼 보였다. 얼마나 멋진 일인가? 갑자기 모든 지메일 사용자가 XMPP 사용자가 된다는 의미였기 때문이다. XMPP에 있어서 이보다 좋을 수는 없을 것 같았다. 나는 흥분을 감추지 못했다.
물론 현실은 그렇게 반짝이는 것만은 아니었다. 우선, XMPP 표준을 함께 개발한다고는 했지만, 구글은 누구도 검토할 수 없는 자체 폐쇄 구현을 하고 있었다. 그리고 그들이 스스로 개발에 참여하던 프로토콜을 항상 제대로 준수하고 있지도 않다는 사실이 드러났다. 모든 것을 구현하지도 않았다. 이로 인해 XMPP 개발은 속도를 늦추고, 구글에 맞춰야 했다. 멋진 새 기능들은 구글 토크와 호환되지 않는다는 이유로 XMPP 클라이언트에 구현되지 않거나 사용되지 않았다(예를 들면, 아바타 기능이 XMPP에 들어오는 데는 끔찍할 정도로 오랜 시간이 걸렸다). 연합이 깨지는 일도 종종 있었다. 몇 시간, 때로는 며칠 동안 구글과 일반 XMPP 서버 사이에 통신이 불가능한 경우도 있었다. XMPP 커뮤니티는 구글 서버의 감시자이자 디버거로 전락하여, 이상 현상과 다운타임을 게시하곤 했다(나도 그런 글을 여러 번 올렸는데, 아마 그것이 구글의 채용 연락을 받게 된 계기일 것이다).
게다가 구글 토크 사용자 수가 "진짜 XMPP" 사용자보다 훨씬 많았기 때문에, "구글 토크 사용자는 신경 쓰지 않아도 된다"라고 할 여지가 거의 없었다. XMPP를 새로 접한 이들이 구글 토크 사용자가 아닌 경우, 그들의 경험은 매우 좌절스러웠다. 그들의 연락처 대부분이 구글 토크 사용자였기 때문이다. 이론상으로는 이들과 쉽게 소통할 수 있을 것 같았지만, 실제로는 구글 토크를 그대로 쓸 때보다 못한 열화된 경험을 하게 되었다. 당시 전형적인 XMPP 연락처 목록은 거의 대부분이 구글 토크 사용자였고, 거기에 몇몇 괴짜들만 섞여 있었다.
2013년, 구글은 어차피 대부분의 XMPP 상호작용이 구글 토크 사용자들끼리 이뤄지고 있다는 사실을 깨달았다. 그들은 자신들이 100% 통제하지 못하는 프로토콜을 굳이 존중할 이유가 없었다. 그래서 구글은 플러그를 뽑아 버렸다. 더 이상 연합을 하지 않겠다고 발표한 것이다. 그리고 행아웃(Hangout)으로 시작되는 메신저 만들기 긴 여정을 시작했다(그 뒤로 알로(Allo), 듀오(Duo)가 나왔고, 그 이후는 나도 셀 수가 없다).
예상대로, 구글 사용자들은 눈 하나 깜짝하지 않았다. 사실 아무도 눈치채지 못했다. 최악의 경우, 연락처 중 몇몇이 오프라인으로 보이게 된 정도였다. 그게 전부였다. 하지만 XMPP 연합에는 대다수 사용자가 갑자기 사라져버린 것과 같은 충격이었다. 나 같은 XMPP 근본주의자조차 친구들과 연락을 유지하기 위해 구글 계정을 만들어야 했다. 그들 입장에서 우리는 그냥 오프라인 상태였기 때문이다. 우리 잘못이었다.
XMPP는 여전히 존재하고 매우 활발한 커뮤니티이긴 하지만, 이 타격에서 결코 완전히 회복하지 못했다. 구글의 도입으로 너무 큰 기대를 품었던 탓에 엄청난 실망을 겪었고, 조용히 잊혀져 갔다. XMPP는 틈새가 되었다. 너무 틈새가 된 나머지, 단체 채팅(Slack, 디스코드)이 대세가 되었을 때 자유 소프트웨어 커뮤니티는 이미 XMPP로 가능했던 기능을 위해 다시 새로운 것을 발명했다. 바로 매트릭스(Matrix)다. (면책 조항: 나는 매트릭스 프로토콜을 자세히 공부해 본 적이 없어서, 기술적으로 XMPP와 어떻게 비교되는지 모른다. 다만 같은 문제를 해결하며 XMPP와 같은 공간에서 경쟁하는 것으로 생각한다.)
구글이 XMPP에 참여하지 않았거나, 애초에 XMPP의 일부로 간주되지 않았더라면 지금 XMPP가 달랐을까? 누구도 알 수 없다. 하지만 나는 이렇게 믿는다. XMPP는 더 느리지만 아마도 더 건강하게 성장했을 것이다. 지금보다 더 크고 더 중요한 존재가 되었을 것이다. 기본적인 탈중앙화 통신 플랫폼이 되었을 것이다. 한 가지는 확실하다. 구글이 XMPP에 합류하지 않았다면, XMPP가 지금보다 나빠졌을 이유는 없다는 것이다.
구글이 XMPP에 한 짓은 새로운 것이 아니었다. 사실 1998년에 마이크로소프트의 엔지니어 비노드 발로필(Vinod Valloppillil)은 "오픈소스 공격 무디게 하기(Blunting OSS attacks)"라는 글을 직접 작성했고, 그 안에서 "프로토콜과 애플리케이션을 탈상품화(de-commoditize)하자 […]. 이 프로토콜들을 확장하고 새로운 프로토콜을 개발함으로써, 우리는 오픈소스 프로젝트가 시장에 진입하는 것을 막을 수 있다"고 제안했다.
마이크로소프트는 이 이론을 윈도우 2000 출시와 함께 실전에 옮겼다. 윈도우 2000은 Kerberos 보안 프로토콜을 지원했지만, 그 프로토콜은 확장되어 있었다. 이 확장의 명세는 자유롭게 다운로드할 수 있었지만, 이를 받기 위해서는 구현을 금지하는 라이선스에 동의해야 했다. 한 번 "OK"를 누르는 순간, 오픈소스 버전의 Kerberos 작업에 참여할 수 없게 되는 것이다. 그 목표는 사암바(Samba)와 같은 경쟁 네트워킹 프로젝트를 명시적으로 말살하는 것이었다.
이 일화는 글린 무디(Glyn Moody)가 "Rebel Code"에서 소개한 바 있으며, 오픈소스와 탈중앙화 프로젝트를 박살내는 것이 매우 의식적인 목표라는 점을 잘 보여준다. 이는 우연히 일어나지 않고, 불운 탓도 아니다.
마이크로소프트는 사무용 소프트웨어 시장에서도 비슷한 전술을 사용했다. 마이크로소프트 오피스는 독점 포맷을 사용했다(파일 포맷은 데이터를 주고받는 프로토콜로 볼 수 있다). 대안 제품들(OpenOffice와 이후의 LibreOffice)이 doc/xls/ppt 포맷을 꽤 그럴듯하게 열 수 있게 되자, 마이크로소프트는 새로운 포맷을 내놓았고, 이를 "열려 있고 표준화된" 형식이라고 주장했다. 이 포맷은 의도적으로 매우 복잡했다(무려 2만 페이지의 명세!) 그리고 더 중요한 것은, 틀렸다는 점이다. 그렇다. 명세 안에 일부 버그를 집어넣어, OOXML 포맷을 완전히 구현한 소프트웨어가 마이크로소프트 오피스와 다르게 동작하도록 한 것이다.
이러한 버그와 정치적 로비 활동은 뮌헨 시가 리눅스 도입을 되돌리게 된 이유 중 하나였다. 그러니 이 전략이 효과가 있다는 말이다. 오늘날 docx, xlsx, pptx가 여전히 표준으로 남아 있는 이유도 거기에 있다. 출처: 나는 그 자리에 있었다. 뮌헨 시로부터 간접적으로 돈을 받으며, 명세를 따르기보다는 LibreOffice의 OOXML 렌더링을 마이크로소프트에 더 가깝게 만드는 일을 했다.
업데이트:
역사를 모르는 사람은 그것을 반복하게 되어 있다. 지금 메타와 페디버스에서 벌어지고 있는 일이 꼭 그렇다.
메타가 "페디버스 호환"이 될 것이라는 소문이 있다. 즉, 마스토돈 계정에서 인스타그램의 사람들을 팔로우할 수 있게 될지도 모른다는 것이다.
그 소문에 실제로 어느 정도 진실이 있는지, 메타가 그런 일을 고려하는 것이 가능한지 나는 모른다. 하지만 XMPP와 OOXML에서의 내 경험이 가르쳐 준 것이 한 가지 있다. 메타가 페디버스에 합류한다면, 이로 인해 이기는 쪽은 메타뿐이라는 사실이다. 사실, 이미 반응만 봐도 메타가 이기고 있다는 것을 알 수 있다. 페디버스는 메타를 차단할지 말지를 두고 둘로 갈라진 상태다. 만약 실제로 그렇게 된다면, 이는 조각나고, 좌절감을 주는, 이중 구조의 페디버스를 만들 것이고, 신규 사용자에게는 거의 매력이 없을 것이다.
업데이트: 이 소문은 적어도 한 명의 마스토돈 관리자, fosstodon.org의 kev가 메타로부터 비공개 회의에 참가해달라는 연락을 받으면서 사실상 확인되었다. 그는 가능한 최선의 반응을 보였다. 정중히 거절했을 뿐만 아니라, 무엇보다도 사용자들에게 투명성을 위해 그 메일을 공개했다. 고마워요, kev!
우리는 모두 친구와 가족이 전부 페디버스에 들어와서, 완전히 독점 네트워크를 피할 수 있기를 꿈꾼다. 하지만 페디버스는 시장 지배나 이윤을 추구하지 않는다. 페디버스는 성장을 목표로 하지 않는다. 페디버스는 자유의 공간을 제공하려 한다. 페디버스에 합류하는 사람들은 자유를 찾는 사람들이다. 사람들이 아직 준비되지 않았거나, 자유를 찾지 않더라도 괜찮다. 그들에게는 독점 플랫폼에 머물 권리가 있다. 우리는 그들을 강제로 페디버스로 끌어와서는 안 된다. 어떤 대가를 치르더라도 최대한 많은 사람을 끌어들이려 해서는 안 된다. 우리는 정직해야 하고, 사람들이 그 배후의 가치에 어느 정도 공감하기 때문에 페디버스에 들어오도록 해야 한다.
메타와 "무뇌 성장 만능주의" 경쟁을 벌인다면, 우리는 반드시 패배한다. 그 게임의 달인은 그들이다. 그들은 모두를 자기들의 장으로 끌고 와, 자기들이 파는 무기를 사용해 자신들에게 맞서 경쟁하게 만들려 한다.
페디버스가 이길 수 있는 유일한 길은 자신들의 자리를 지키는 것이다. 자유, 도덕, 윤리, 가치에 대해 이야기하는 것이다. 개방적이고 비상업적이며 감시받지 않는 대화를 시작하는 것이다. 목표가 승리가 아니라는 점을 인정하는 것이다. 포용(embrace)이 목표가 아니다. 목표는 도구로 남는 것이다. 연결된 인간 존재에게 자유의 공간을 제공하기 위해 헌신된 도구 말이다. 어떤 상업적 실체도 결코 제공하지 않을 그런 것.
나는 플룸(Ploum)이다. 작가이자 엔지니어이며, 기술이 사회에 어떤 영향을 미치는지 탐구하는 것을 좋아한다. 이메일이나 RSS로 구독할 수 있다. 나는 프라이버시를 중시하며, 당신의 주소를 절대 공유하지 않는다.
나는 프랑스어로 SF 소설을 쓴다. 나의 새 포스트 아포칼립스-자전거 소설인 Bikepunk를 위해, 출판사는 프랑스어 이외의 언어로 배포해 줄 수 있는 해외 연락처를 찾고 있다. 도와줄 수 있다면, 나에게 연락해 달라!"}