Syncthing을 활용해 노트와 사진을 동기화하고, 캘린더·메일·북마크·연락처 등을 파일 기반으로 운영하는 진짜 ‘서버리스’한 개인 기술 환경을 상상해 본다.
Syncthing을 들어본 적이 있는가? 이 도구는 드롭박스처럼 기기들 사이에서 폴더를 동기화해 주지만, 다른 누군가의 컴퓨터가 필요 없다. 클라우드가 아니라, 집의 WiFi를 통해 내 PC와 내 휴대폰이 직접, 자동으로 통신할 뿐이다.
휴대폰의 사진을 컴퓨터와 동기화하는 데 거의 완벽한 해법에 가깝다. 덕분에 구글 포토는 거의 필요 없어질 수 있다. 동시에 텍스트 노트 동기화에도 훌륭히 쓸 수 있다. 단, 여러 기기에서 같은 파일을 오프라인 상태로 동시에 수정하지만 않는다면 말이다.
이걸 보고 문득 생각이 들었다. 개인용 기술이 진짜로 서버리스라면, 얼마나 더 합리적일 수 있을까?
그래서 이런 상상을 해 보게 됐다. 내 캘린더가, 각각의 이벤트를 나타내는 여러 개의 텍스트 파일 묶음이라면 어떨까? 내 메일함은 또 어떤가. POP을 써서 메일을 서버에서 끌어와, 각각을 하나의 이메일 파일로 저장해 버리고, 이후에는 서버에 남겨둘 필요 없이 그 파일들만 동기화한다면?
브라우저는 또 어떤가? 나는 파이어폭스 동기화를 이용해 즐겨찾기, 비밀번호, 설정을 맞추고 있다. 그런데 이 모든 것들이 그냥 파일이라면 어떨까? 어쩌면 파이어폭스 프로필 폴더 자체가 이미 안드로이드와 리눅스 사이에서 공유했을 때도 잘 동작할지 모른다.
내 연락처가 굳이 구글 계정에 있을 필요는 없다. 그것도 그냥 텍스트 파일이면 된다. 구글 지도 방문 기록(location history) 은 솔직히 소름 돋지만, 그게 나만을 위한 것이라면 얘기가 달라진다. 지도에서 내가 저장해 둔 장소들 역시 평범한 텍스트 파일이면 좋겠다. 물론 내 SMS도 파일이어야 한다.
지금으로서는 이에 대한 주된 프라이버시 대안이, 내 하드웨어 위에 직접 "클라우드" 서비스를 셀프 호스팅하는 것이다. VPS 위의 가상 머신이든, 집에 둔 실제 물리 장치든 말이다. 그런데 두 경우 모두 그 장치를 항상 접속 가능하고 안전하게 유지하는 일은 만만치 않은 작업량을 낳는다. 시스템 관리 능력도 필요하고, 데이터가 데이터베이스 안에 들어 있는 경우에는 앱 간에 데이터를 옮기기도 어렵다.
나는 이런 이유로 아주 오랫동안 구글 제품에 머물러 왔다. 이런 것들을 위해 내가 직접 서버를 돌리고 싶지 않기 때문이고, 그렇다고 해서 또 다른 서비스로 옮겼다가 내일 당장 문을 닫거나 개악(enshitify)될지도 모를 곳에 기대고 싶지도 않기 때문이다.
"데이터 동기화"와 "애플리케이션" 부분이 서로 분리될 수 있으면 좋겠다. 그래야, 이제는 내 필요에 맞지 않는 앱 안에 데이터가 갇혀 버릴 확률이 줄어들 것이다.
이런 식이 되려면, 앱의 콘텐츠를 로컬의 텍스트 파일 폴더와 동기화해 주는 플러그인들이 필요할 것이다. 충돌 파일이 생겨도 망가지지 않으면서, 예를 들어 하나의 sqlite 파일 대신 수많은 작은 텍스트 파일들을 만들어 주는 방식으로 말이다.
때로는 아예 전체를 새로 짜야 하고, 전용 앱이 필요할 수도 있다. 예를 들면 안드로이드용 연락처 앱이나 캘린더 앱 같은 것들 말이다.
또 어떤 경우에는, 같은 파일을 두고 모바일과 데스크톱에서 서로 다른 앱을 쓰게 될 것이다. 내가 데스크톱에서는 kanbanmd를 쓰고, 모바일에서는 텍스트 에디터로 내 칸반 보드를 다루는 것처럼 말이다.