파이어폭스의 방향성과 독립적인 웹 브라우저 기반을 함께 구축할 가능성, 그리고 웹의 미래에 대한 생각.
지난 7월, 파이어폭스에 또 하나의 AI 통합 기능이 추가된 데 자극받아, 나는 마스토돈에 짧은 글타래를 썼다:
독립적이고 슬롭이 아닌 웹에 미래가 조금이라도 있다면, 지금이야말로 모든 파이어폭스 포크가 모질라와 분리된 하드포크를 유지하기 위해 함께 노력하겠다고 약속해야 할 때다.
이것은 어떤 작은 프로젝트 하나만으로 감당하기에는 너무 큰 프로젝트이며, 어쩌면 모두를 합쳐도 그럴지 모른다. 하지만 모질라 같은 조직의 지휘 아래에 맡겨 두기에는 너무도 중요한 일이다.
이처럼 대담한 협력이 없다면, 우리는 이미 패배했다고 나는 두렵다.
모질라와, 그 연장선에 있는 파이어폭스는 자신들이 나아가고자 하는 방향을 제시했고, 지난 10년 동안 일관되게 그 방향으로 움직여 왔다. 거기에는 구원 서사가 없다. 그들은 방향을 틀지 않을 것이며, 지나가는 매주와 매달마다 파이어폭스에는 더 많은 슬롭이 쌓이고 그것을 세운 비전에서는 더 멀어진다.
Tor Browser와 Waterfox 같은 프로젝트들은 최악의 것들을 힘겹게 비활성화하거나 패치로 제거하고 있다. 하지만 릴리스마다 비용은 더 커지고, 빠져나가는 것들도 생긴다.
글타래의 나머지 부분에서 나는 여러 포크가 함께 모여 모질라와 분리된 기반을 유지하는, 어쩌면 Tor Project나 다른 포크가 이미 하고 있는 작업을 활용하는 터무니없이 낙관적인 계획의 대략적인 비전을 제시했다.
그 글타래와 뒤이은 대화는 base browser 프로젝트를 낳았다. 사람들이 모여 아이디어와 방향을 논의할 수 있는 공간을 만들려는 시도다.
어느 정도의 추진력에 힘입어, 나는 파이어폭스에서 모든 AI 통합 코드를 제거하는 패치를 만들기 시작했다. 그 결과 1605개 파일에 영향을 미치고 852297줄을 삭제했으며, 총 37메가바이트에 이르는 터무니없는 패치가 나왔다.
그 뒤 몇 주 동안 나와 소규모 자원봉사 팀은 몇 개의 패치를 더 작업하고, 거대한 AI 패치를 수정했으며, 37Mb를 1메가바이트 미만의 적당한 크기로 줄이는 스크립트를 만들었다. 우리는 git의 기존 되돌릴 수 없는 삭제 플래그와 파일에 다시 패치를 적용할 수 있도록 하는 맞춤형 python을 사용해 이를 해냈다. 특히 cliffmccarthy와 gellge에게, 그리고 패치와 프로젝트의 테스트 및 논의에 기여한 모든 이에게 큰 감사를 전한다.
오늘날 base browser는 현재 Firefox 153 ESR을 기반으로, 사용자에게 적대적인 기능을 단순히 비활성화하는 일반적인 소프트포크 방식과 달리 코드베이스에서 완전히 제거하는 패치 모음을 제공한다.
나는 바로 그것이 고통스러운 이유 때문에 이러한 기능을 완전히 삭제하는 것이 올바른 접근이라고 믿는다. 이 기능들은 규모가 크고 브라우저 핵심부에 점점 더 긴밀하게 통합되고 있다. 또한 전체 파이어폭스 코드베이스에서 차지하는 비율도 점점 커지고 있으며, 솔직히 말해:
나는 이러한 기능들이 웹 브라우저의 핵심 기반 근처에조차 있어서는 안 된다고 믿는다
이제 나는 이 싸움에서 질 준비가 되어 있다. 이런 것을 장기적으로 유지할 만큼 충분한 자금이나 개발 노력이 있다고 믿지 않는다. 우리 모두가 이런 기반을 가능하게 만드는 데 힘을 모으지 않는 한 말이다.
이 노력의 토대는 끊임없이 움직이는 모래와 같다. 파이어폭스는 이미 단순한 AI 통합을 훨씬 넘어, 전체 브라우저 맥락이 사람만큼이나 제3자 AI 에이전트를 위해 만들어진 "스마트윈도우"가 되는 미래를 상상하고 있다.
나는 웹이 그 방향으로 가는 것을 원하지 않으며, 솔직히 따라갈 수도 없다.
내가 이미 말했듯이, 나는 이런 일을 하기에 적합한 사람이 아니다. 하지만 적어도 그것이 일어나도록 해 보기 위해 무언가를 해야 했다.
이 일에서 나오는 것이 몇몇 사람이 소스에서 파이어폭스를 빌드하는 법을 배우는 것뿐이라 해도, 나는 그것을 승리로 여길 것이다. 어떤 프로젝트든 이 패치를 사용하거나 채택하게 된다면 나는 황홀할 것이다.
가장 심각한 통합 기능을 패치로 제거하려는 시도 외에도, 나는 파이어폭스 의존도를 줄일 다른 방법도 살펴보고 있다:
가능한 한 많은 것을 오프라인으로 옮기기 - 기본적인 웹 탐색 작업 일부를 핵심 웹 브라우저에서 분리하는 방법으로 openzim 리더를 사용해 보고 있다. openzim 파일은 더 단순한 브라우저에서도 처리할 수 있는 최소한의 HTML/CSS/JS 부분집합을 지향하는 경향이 있다. 그리고 나는 이미 늘어나는 사이트 모음을 오프라인에서 읽는 방식으로 옮겼다.
가능한 경우 독립형 애플리케이션으로 옮기기 - 대부분의 시간을 데스크톱 컴퓨터에서 보내는 사람으로서, 나는 웹 애플리케이션보다 독립형 애플리케이션을 훨씬 선호한다. 지난 몇 달 동안 마스토돈처럼 오프라인 리더로 대체할 수 없는 일부 서비스를 위한 앱을 더 많이 실험해 왔다. 아직 모든 것에 대한 해결책을 찾지는 못했다.
가능한 경우 피드 리더로 옮기기 - 위와 같은 맥락에서, 피드는 전체 브라우저 없이도 온라인 시스템과 상호작용할 수 있는 또 다른 방법을 제공한다.
하지만 이 모든 것에도, 이러한 전략은 그 자체로 영감을 주는 행위라기보다는 슬롭 지배라는 지배적인 서사에 맞서기 위해 존재한다는 문제가 여전히 있다.
나는 제자리에서 버티기 위해서만 내 노력과 시간과 삶을 쓰고 싶지 않다. 젊은 시절 프로그래밍 책에 파묻히고 머릿속을 코드로 가득 채웠던 이유는 중요한 것을 만들고 싶었고, 세상을 더 잘 이해하고 싶었기 때문이다.
더욱이 나는 과거를 가져와 갈아 버린 뒤, 다시 데운 비전 없는 슬롭으로 내놓는 방식으로는 미래가 도래할 수 없다고 확신한다.
지난 10여 년 동안 웹 표준은 상업적 이해관계의 우선순위에 과도하게 잠식되어 왔다.
어느 정도의 품질 보증과 보안을 갖춘 웹 브라우저를 유지하려면 충분한 자금을 갖춘 팀이 필요하다. 아니면 의존성 트리 안의 그런 팀에 의지해야 한다.
돈에는 좀처럼 조건이 따르지 않는 법이 없으며, 페이지를 불러올 때마다 순수한 철학적 비전과 기대 수익 사이의 긴장을 느낄 수 있다.
2000년대 초반, 파이어폭스가 브라우저 르네상스를 촉발했을 때에는 "브라우저"가 무엇이 될 수 있는지를 둘러싼 큰 흥분이 있었다. 피드, 블로깅 통합, 집단 태깅, 열린 댓글....
웹은 읽을 수 있는 만큼 쓸 수도 있어야 한다는 원래 정신은, 공유할 수 있어야 한다는 생각으로 확장되었다.
그리고 어떤 면에서는 경제와 기술의 영향을 받아, 우리는 그 비전의 근사치를 얻었다..포장되고 정화된 형태로.
나는 Amaya와 훨씬 뒤의 Flock 같은 브라우저가 제시했던 비전을 자주 생각한다. 브라우저는 소비만큼이나 창작을 위한 도구여야 한다는 비전 말이다.
나는 여전히 그 비전을 마음속에 품고 있다. 지난 몇 년 동안 나는 현대 표준이 되어 버린 것에 오염되지 않은 gemini, 즉 프로토콜이지 llm이 아니다 한숨, 그리고 rss와 다른 웹 기술을 지원하는 작은 브라우저를 만드는 실험을 해 왔다.
그것이 그 미래라고 확신하지는 않지만, 어쩌면 하나의 미래가 될 수는 있다.
최근에 영감을 얻은 오래된 구호를 빌리자면...우리에게는 새로운 소음이 필요하다.
나는 여전히 그것을 찾고 있다.