
요즘 비밀번호 관리자 쓰시는 분 많죠. 그중에서도 비트워든(Bitwarden)은 무료로 쓸 수 있고 소스 코드도 공개돼 있어서 한국 개발자들 사이에서도 1Password 대신 많이 쓰는 도구거든요. 그런데 이 비트워든이 지난 1~2년 사이에 꽤 큰 내부 공사를 조용히 진행해 왔어요. 사용자 입장에선 UI가 좀 바뀐 정도로 보이지만, 엔진룸 안쪽은 거의 다시 짜고 있는 상황이에요.
무슨 일이 벌어지고 있나요
원래 비트워든은 서버는 C#(.NET), 클라이언트(데스크탑, 브라우저 확장, 모바일)는 각각 다른 언어로 짜여 있었어요. 데스크탑은 일렉트론(Electron) 기반이라 TypeScript가 많고, 모바일은 한때 자마린(Xamarin)으로 짜다가 최근에 네이티브 코드로 다시 쓰는 방향으로 가고 있고요. 문제는 이렇게 클라이언트별로 코드 베이스가 갈라져 있으면 같은 기능을 여러 번 구현해야 하고, 보안 감사도 따로따로 받아야 한다는 거예요. 비밀번호 관리자처럼 암호화가 핵심인 도구에선 이게 진짜 골치 아픈 일이거든요.
그래서 비트워든은 핵심 로직 — 그러니까 암호화, 동기화, 비밀번호 생성 같은 부분 — 을 Rust로 작성한 SDK 하나로 통합하기 시작했어요. 이게 "조용한 리노베이션"의 핵심이에요. Rust로 짠 코어를 만들어 두면, 그 위에 각 플랫폼별 UI 껍데기만 씌우면 되니까 유지보수가 훨씬 편해지고, 보안 검토도 그 코어 하나만 집중하면 되거든요. Rust를 고른 이유도 명확해요. 메모리 안전성이 보장되는 시스템 언어라 암호 라이브러리를 짜기에 딱 맞고, 모바일과 데스크탑 모두에 컴파일이 잘 되니까요.
그런데 왜 논란이 있을까
여기서 한 가지 문제가 생겼어요. 비트워든이 이 새로운 Rust SDK에 일반적인 오픈소스 라이선스(GPL이나 MIT 같은)가 아니라, "비트워든 자체 클라이언트에서만 빌드해서 쓸 수 있다"는 식의 제한을 걸어둔 거예요. 정확히 말하면 소스 코드는 공개돼 있지만, 다른 사람이 가져다가 자기 제품을 만들 수는 없다는 라이선스죠. 이게 뭐가 문제냐면, 비트워든의 매력 중 하나가 "내 서버에 직접 호스팅할 수 있다"였거든요. Vaultwarden 같은 비공식 서버 구현체가 인기 있었던 것도 그 덕분이고요. 근데 코어가 점점 비공식 빌드에서 쓰기 어려운 형태로 바뀌면 자가 호스팅 생태계가 위축될 수 있어요.
비트워든 측은 "라이선스 문구가 모호했고, 사실상 자가 호스팅은 계속 지원한다"고 해명하고 이후 라이선스 표현을 다듬었어요. 하지만 신뢰의 문제는 한번 흔들리면 회복이 쉽지 않잖아요. 커뮤니티에선 여전히 "이건 진짜 오픈소스인가, 아니면 소스 공개 상용 소프트웨어인가"라는 논쟁이 진행 중이에요.
다른 비밀번호 관리자와 비교해 보면
1Password는 애초에 상용이고 코드는 비공개예요. KeePass는 정반대로 완전 오픈소스지만 UI가 옛날 윈도우 프로그램 같아서 일반 사용자가 쓰기 어려워요. 비트워든은 그 사이에 끼어서 "오픈소스 + 모던 UI + 클라우드 동기화"라는 좋은 자리를 차지해 왔는데, 코어를 Rust로 옮기면서 점점 1Password 쪽 모델로 한 발짝씩 옮겨가는 모양새인 거죠. ProtonPass처럼 새로 등장한 경쟁자도 있고, Apple Passwords가 키체인을 정리해서 별도 앱으로 분리한 것도 비트워든 입장에선 신경 쓰이는 흐름이에요.
한국 개발자에게 의미가 있다면
회사에서 비밀번호 관리자 도입을 고민하고 계시면, 비트워든의 이런 변화 흐름은 한 번쯤 체크해 둘 만해요. 자가 호스팅을 진지하게 고민 중이라면 Vaultwarden 쪽 호환성 이슈도 같이 봐야 하고요. 그리고 Rust로 핵심 코어를 다시 쓰는 흐름은 비트워든만의 얘기가 아니에요. Discord도, Cloudflare도, 심지어 안드로이드 일부도 같은 길을 가고 있죠. "보안이 중요한 코어 라이브러리는 Rust로"라는 패턴이 이제 사실상 업계 표준처럼 굳어지는 중이에요. 사이드 프로젝트로 작은 보안 도구를 만들어 본다면, Rust로 코어를 짜고 각 플랫폼별 UI를 따로 두는 구조를 한 번쯤 흉내내 볼 가치가 있어요.
정리하면
비트워든은 사용자 모르게 엔진을 통째로 갈고 있고, 그 과정에서 오픈소스 정체성이 살짝 흔들리는 중이에요. 보안과 유지보수성을 위한 합리적 선택이지만, 커뮤니티의 신뢰는 라이선스 한 줄에도 휘청거릴 수 있다는 걸 보여주는 사례이기도 하고요.
여러분은 어떻게 보세요? 보안이 중요한 코어를 한 언어(Rust)로 통합하는 게 옳은 방향일까요, 아니면 다양성을 잃는 위험이 더 클까요?
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공