Beekeeper Studio는 2020년에 100% 무료 오픈 소스 프로젝트로 출시됐어요.

첫 버전을 만드는 데 8개월 동안 저녁과 주말을 쏟았어요. 그전에도 앱을 몇 개 출시했지만 아무도 쓰지 않았죠. 그런데 Beekeeper는 달랐어요. 출시해서 알리기 시작하자마자 사람들이 관심을 보이고 다운로드해서 쓰기 시작했어요.

관심이 얼마나 컸는지 Hacker News 첫 페이지에까지 올랐어요. 그날 일찍 글을 올려 두고 별로 신경 쓰지 않았는데, 몇 시간 만에 초기 사용자가 수천 명이 됐어요.

하지만 그다음이 어려운 부분이었어요. 실제 사람들이 쓰는 실제 앱을 유지하고 개선하는 일이죠…. 얼마나 오래요? 몇 년? 몇십 년?

오픈 소스의 무덤

대부분의 프로젝트, 앱, 비즈니스는 결국 성공하지 못하고 사라져요. 오픈 소스 프로젝트만의 일은 아니지만, 오픈 소스에서는 더 두드러져요. 애초에 대부분의 오픈 소스 프로젝트는 무료로 만들어지니까요. 프로젝트를 지속 가능하게 만드는 데 꽤 큰 걸림돌이죠.

사실 저희가 Beekeeper Studio를 만든 이유도 많은 사랑을 받던 도구인 Sequel Pro가 방치됐기 때문이에요. 제가 써 본 데이터베이스 앱 중 최고였는데도 말이죠.

누가 SequelPro가 사라지길 바랐을까요? 분명 저는 아니었어요. 매일 그걸 쓰던 수천 명의 다른 사람들도 아니었죠. 저는 오히려 반대를 원했어요. Linux에서, 그리고 PostgreSQL과 함께 쓰고 싶었어요.

기꺼이 돈을 냈을 거예요. 정말 대단한 앱이었지만, 아쉽게도 이제는 없어요.

수많은, 정말 많은, 다른 비슷한 앱들도 같은 운명을 맞았어요.

좋은 프로젝트가 사라지는 이유

다른 도구들은 사라졌는데 Beekeeper Studio는 왜 꿋꿋이 버텼을까요? 간단히 말하면 돈과 시간이에요.

돈이라고 했지만 사실 대부분 시간을 말하는 거예요. 시간은 금이니까요(눈 굴리는 소리가 들리네요). 그러니 어떻게 보든 답은 시간, 더 많은 시간, 아니면 돈, 더 많은 돈이에요.

소프트웨어를 만드는 건 어려워요. 좋은 소프트웨어를 만드는 건 더 어렵고요. 느리기도 해요. LLM의 도움을 받아도 많은 시간과 노력이 들어요. 정말이에요, 시간이 엄청 많이 들어요. 얼마나 많은 시간이 필요한지 아무리 강조해도 지나치지 않아요. 시간이 많이 든다고 말씀드렸나요?

인기 있고 활발한 오픈 소스 프로젝트를 혼자서, 저녁과 주말에, 자금 지원 없이 몇 년이고 유지하는 건 그냥 불가능해요. 이슈와 풀 리퀘스트를 관리하는 것만 해도 풀타임 일이에요.

오픈 소스 지속 가능성을 위한 접근 방식

오픈 소스 프로젝트를 지속 가능하게 만드는 방법은 여러 가지예요. Vue.js 같은 핵심적인 대형 프로젝트는 충분히 눈에 띄기 때문에 후원금으로 유지될 수 있어요. React 같은 다른 대형 프로젝트는 개발자에게 직접 급여를 주는 기업 스폰서가 전적으로 자금을 대요.

상업적인 쪽에서는 Kafka나 Trino 같은 대형 인프라 소프트웨어가 '오픈 소스 코어' 프로젝트로 우세해요. 시스템의 핵심은 공개하고, 기업에 유용한 각종 부가 기능을 판매하는 방식이죠. 이 길을 가려면 보통 큰 투자를 유치하고 유니콘 스타트업을 목표로 크게 도전해야 해요. 안타깝게도 이 방식은 프로젝트가 이미 업계 표준이 되어 수백만 명의 개발자에게 널리 채택된 경우에만 통해요.

Kafka는 독립해서 별도 비즈니스가 되기 전까지 수년간 LinkedIn 내부 팀이 자금을 대고 유지했어요.

이 방식은 규모는 작지만 AG-Grid 같은 컴포넌트 라이브러리에도 통할 수 있어요. 그래도 라이브러리가 어느 정도 표준이 되어야 하죠.

Beekeeper Studio 같은 작은 앱은 선택지가 더 적어요. 다운로드 수가 100만을 넘었는데도 후원 수입은 최대 월 $30에 그쳤어요. 저희는 어떤 분야의 '업계 표준'도 아니에요. 서버에 배포되는 이벤트 처리 엔진이 아니라 사람들이 쓰는 앱이니까요.

저희 모델은 사람들이 원하는 소프트웨어를 파는 거예요

유용하고 사람들이 기꺼이 돈을 낼 만한 것을 파는 건 단순한 수익 모델이에요. 저희가 Beekeeper Studio에 채택한 모델이기도 하고요.

이게 사용자 중심을 유지하면서 프로젝트를 지속하는 가장 깔끔하고 단순한 방법이라고 생각해요. 돈을 낼 의향이 있는 분들께 추가 기능을 판매하는 거죠.

그렇긴 해도, 앱을 무료이자 오픈으로 유지하는 가장 좋은 방법이 일부를 잠그고 돈을 받는 것이라는 아이러니는 무시할 수 없어요. 정말 균형 잡기가 어려워요. 한편으로는 오픈 소스 커뮤니티를 홀대하지 않아야 하고, 다른 한편으로는 유료 버전이 운영비를 감당할 만큼 좋아야 하니까요.

게다가 느려요(좋은 소프트웨어를 만드는 데 시간이 많이 든다고 말씀드렸나요?). 첫 유료 기능을 2022년에 출시했지만, 제가 이 프로젝트에 풀타임으로 전념할 수 있게 된 건 꼬박 4년 뒤인 2026년이었어요.

다행히 이 방식에는 선례가 있어요. Mike Perham의 Sidekiq 같은 훌륭한 오픈 소스 소프트웨어가 커뮤니티를 등지지 않고도 이 모델로 큰 성공을 거뒀어요.

저희는 진심이에요

지금까지 저희 방식은 잘 통하고 있어요. 저희는 수익을 내는 비즈니스이면서, 여전히 커뮤니티의 실질적인 참여와 기여를 이끌어 내는 오픈 소스 커뮤니티 프로젝트이기도 해요. 완전한 오픈 소스는 아니지만 상용 기능의 소스 코드도 공개하고 있어요.

저희는 Beekeeper Studio를 최대한 개방적이고 누구나 쓸 수 있게 유지하는 데 진심이에요. 예를 들어 유료 기능을 꾸준히 무료 기능으로 전환하려고 하고, 한번 출시한 무료 기능은 절대 빼앗지 않으며, 차라리 돈을 받고 싶을 때도 커뮤니티가 기여한 기능은 모두 무료로 공개해요.

그중 최고

프로젝트 지속 가능성에 대한 저희 방식이 저희에게 딱 맞는 균형이라고 생각해요. 덕분에 말도 안 되게 강력한 Community Edition 같은 초능력도 갖게 됐고요.

저희는 오래 함께할 거예요. 그동안 저희가 즐겁게 만드는 만큼 여러분도 저희 소프트웨어를 즐겁게 써 주시면 좋겠어요.

Matthew Rathbone
Beekeeper Studio 창립자

Matthew는 정말 쓰기 좋은 Linux용 데이터베이스 앱을 원해서 2019년에 Beekeeper Studio를 시작했어요. 지금도 회사의 의견 대부분과 코드 일부를 직접 쓰고 있어요.