오픈소스
난 업무 시간이 아닌 때에도 swc 관련 작업을 한다. 취미로 시작한 프로젝트고, 다른 사람들이 내 프로젝트에 PR을 보냈는데 업무시간까지 기다렸다가 리뷰하는 건 예의가 아닌 것 같아서이다.
그런데 언제부턴가 이게 시간 낭비로 느껴지기 시작했다. 처음엔 아닐 거라고, 가치 있는 작업이라고 합리화를 했다. 그런데 합리화가 점점 힘들어져서 기부금을 사용하게 됐다. 정말 얼마 안 되는 금액이지만, 사람들이 기부해준 돈을 받는 대가? 이런 느낌? 그런데 합리화가 힘들어서 기부금을 활용할 정도라는 건… 뭔가 문제가 있다는 뜻이라는 걸 깨달았다.
오픈소스 프로젝트 관리의 어려움
오픈소스 프로젝트를 관리하는 건 스트레스가 상당하다. 주된 이유는
- 시간이 너무 많이 들고, 보상은 너무 적다.
- 기여자이기 때문에 업무를 맡길 수 없다.
- 커뮤니티의 사용자들이 스트레스를 준다.
정도이다. 하나씩 얘기해보겠다.
시간 / 보상
이건 요즘 얘기가 워낙 많이 나오니 다들 알 것이라 생각한다. 개발자들이 들이는 시간의 합은 오픈소스 프로젝트나 상용 프로젝트나 큰 차이가 없다. 근데 오픈소스 프로젝트의 메인테이너가 들이는 시간은 상용 프로젝트하고 비교도 안되게 많다. 업무시간에만 딱 보고 개인 시간엔 안 볼 수 있는 것도 아니다.
보상? 오픈소스 프로젝트의 보상은 처참하다. 보상이 잘 되었으면 오픈소스의 유지 가능성에 대한 글이 쏟아지지도 않았을 것이다.
그나마 난 운이 좋은 편에 속한다. Deno와 Vercel 덕분에 돈과 명예 둘 다 어느 정도 얻었다. 근데 내가 얼마나 많은 노력을 들였는지 나는 안다. 이 노력을 감안하면 보상은 없는 수준에 가깝다고 생각한다.
그렇긴해도 내가 재밌었기 때문에 보상은 이 정도면 만족한다. 더 이상 내 개인적인 시간을 투자하기 싫을 뿐, 이미 투자한 시간을 후회하진 않는다.
업무 분배
내가 생각하는 오픈소스의 제일 큰 문제가 이것이다. 공식적으로 코어 컨트리뷰터인 사람한텐 맡길 수 있는데, 그냥 기여하는 사람한텐?
오픈소스에선 모든 이슈가 기본적으로 코어 팀의 책임이다. 그리고 코어 팀을 확장하는 건 오로지 운에 기댈 수밖에 없다. 보상이 없어서 그렇다. 뭐 대학교 동아리 임원진도 아니고…
내가 타입스크립트 타입 체커를 오픈소스로 공개하지 않고 상용으로 판매하려던 제일 큰 이유가 이것이다. 난 아주 오랜 시간 swc를 혼자 개발해왔고, 이 문제에 너무 지쳤다.
사설이지만 Vercel의 지원 하에 타입 체커를 오픈소스로 공개할 계획이었는데, 회사와 내가 생각하는 타입 체커의 가치가 너무 달라서 오픈소스화가 되지 않을 가능성도 있다.
OSS 커뮤니티
난 솔직히 오픈소스 때문에 성격 버렸다.
문서가 없다고 해서 문서 추가하고 푸시한다음 잘 보이는지 확인하려고 해당 페이지 열었는데 이미 있더라. 중복이라 다시 지웠다. 물론 이 정도로 황당한 케이스는 자주 발생하진 않는다.
그런데 문서가 있는데 찾아보지 않고 질문하는 경우는 오질나게 많다. 예전엔 대답해줬는데 지금은 그냥 문서가 있는지 확인하고 있으면 씹는다. 이전 단락에서 언급한 케이스는 문서를 읽어봤다는 뉘앙스가 있어서 문서를 바로 추가한 것이다. 이 단락에서 얘기하는 케이스는 질문만 봐도 문서를 안 읽었다는 게 티나는 케이스이다.
그리고 나한테 러스트 기초를 물어보는 사람도 오질나게 많다. 어릴 때, 그러니까 성격 버리기 전엔
그래도 내 프로젝트 써보겠다고 그러는건데…
라는 생각으로 가르쳐줬다. 근데 나도 바쁜 상황에서 저런 질문을 꾸준히 받다보니 성격이 변하더라.
참고로 Deno도 첫 요청은 외주가 아니고 요청이었다. 내 프로젝트를 쓰고 싶다는 요청이라 기쁜 마음으로 그냥 해줬다. 지금이었다면 안 해줬을 것이다.
Sorry, but I’m too busy.
이러고 말았겠지.
약간의 변명
지금도 PR을 보내는 사람한텐 The rust programming language 문서까지 찾아가면서 링크 달고 리뷰해준다. 근데 기여하지도 않는 사람들한테까지 그러고싶진 않다.
결론
타입스크립트 타입 체커를 다시 라이센스 판매형으로 돌릴지는 잘 모르겠다.
그리고 내 개인 시간엔 다른 사업 준비를 할 계획이다. 이 사업도 오픈소스 기반이긴 하지만 얘는 수익 모델이 있어서 훨씬 상황이 낫다.
2020/03/25 추가
물론 안 지키고 있다. swc 작업이 제일 재밌어서 그냥 그때그때 하고싶은 거 하기로 했다. 살다보면 어차피 기회는 엄청나게 많을거라는 생각으로 지금은 재미 위주로 살 생각이다.