토스 오픈소스 이야기:�이 중 하나는 터지겠지
박서진 ・ Open Source Conference 2024
발표자 소개
박서진
토스 Head of Frontend Engineering
오픈소스 “es-toolkit” 운영자
GitHub: raon0211
Email: raon0211@gmail.com
sojin.dev
오픈소스를 만드는 이야기
es-toolkit
es-hangul
오늘의 발표: 오픈소스를 만드는 이야기
[1] 왜 오픈소스를 만드는가?
[2] 오픈소스 라이브러리를 성공시키는 방법
[3] 한국에서 오픈소스
왜 오픈소스를 만드는가?
왜 오픈소스를 해요?
왜 오픈소스를 해요?
왜 오픈소스를 해요?
왜 오픈소스를 해요?
아무것도 없으니까
오픈소스를 한다.
왜 오픈소스를 해요?
… 토스도 처음에는
실용적인 목적으로 오픈소스를 시작
2022년 첫 오픈소스 공개, Slash libraries
FEConf 발표
있어 보이려고
언젠가 하고 싶었어서
2022년 첫 오픈소스 공개, Slash libraries
꽃단장
문서화
리팩토링
완성하고 공개하니까 알게 된 것들
오히려 잘 만들어서 공개하니까
힘들었다
공개하고 관심을
가져 주시는 기여자 분들
사공이 많으면 배가 산으로 간다
가지각색의
기능 추가 요청
Pull Request
리뷰 비용
커뮤니케이션
…사공이 많으면 배가 산으로‘도’ 간다
생각지도 못했던
버그 픽스, 최적화
생각지도 못했던
새 기능 추가
생각지도 못했던
문서 개선
오픈소스의 기쁨과 슬픔
생각 이상의
프로젝트 발전
유지보수 비용
Slash libraries
이미 완성된 라이브러리를 공개하니까
오픈소스의 재미가 적음
완성된 것을 자랑하기 위해 내놓는 것이 아니다
사공이 많으면 배가 산으로 간다
아무것도 없으니까 오픈소스를 한다
내가 만들고 싶은 것을,
뜻하지 않은 영웅들의 도움을 얻어가며
만들기 위해서 오픈소스를 한다
es-toolkit
lodash 대체
약 280개 함수 구현 필요
es-toolkit
es-toolkit
es-toolkit
토스 구현�50~60개
외부 기여�140~150개
미구현
호환성 71%
Pull Request 리뷰만으로 완성되어가는 라이브러리
es-toolkit
문서 작성 자동화
상호작용할 수 있는
데모
오타 수정,
일본어, 중국어 번역
es-toolkit 팬클럽
SNS 홍보
오픈소스 기여�(Storybook, Yarn)
플러그인 구현
es-toolkit
어차피 만들어야 할 것을,
도와주는 기여자 분들 덕분에
2년 걸릴 것을 6개월 안에 끝내 감
(+그리고 재밌음)
es-toolkit에서 배웠던 것들
아무것도 없으니까 오픈소스를 한다
오픈소스 라이브러리를
성공시키는 방법
귀여웠던 es-toolkit
토스 안에서는
4~5명 내외의 기여자
뜨뜻미지근한
외부 반응
오픈소스 라이브러리 성공 방정식
관심
=
가치
×
홍보
✨ 라이브러리 가치
사람들이 얼마나 라이브러리를 알아봐줄 것인가?
✨ 라이브러리 가치
내가 불편하다고 느끼는 그 지점에서 시작한다
✨ 라이브러리 가치
es-toolkit
lodash를 쓸 때
낡은 느낌, 찜찜함
lodash를 쓸 때
느려지는 성능
🔊 홍보
메시지가 얼마나 강력한가
🔊 홍보
es-toolkit
A modern JavaScript utility library that’s 2-3 times faster�and up to 97% smaller – a major upgrade to lodash.
🔊 홍보
마케팅 채널의 다양성
오픈소스 라이브러리 성공 방정식
관심
=
가치
×
홍보
오픈소스 라이브러리 성공 방정식
관심
=
가치
×
홍보
×
운
🍀 운
내재적 가치가 있어도,
홍보와 마케팅에 신경 써도,
오픈소스 라이브러리가 관심을 덜 받을 수 있다
🍀 운
가치를 느끼는 사람이 지금은 충분히 많지 않아서
내가 아직 후킹하게 표현하지 못해서
시기가 좋지 않아서
🍀 운
토스 오픈소스
오픈소스 라이브러리 성공 방정식
관심
=
가치
×
홍보
×
운
한국에서 오픈소스
왜 오픈소스는 미국에서 보통 시작할까
왜 오픈소스는 미국에서 보통 시작할까
완벽하지 않아도 지식을 개방하고 공유하는
Geek 스러운 문화가 있으니까
오픈소스의 매력
내 문제에 관심
자동으로 풀린다
빨리 푼다
재밌게 푼다
언제 오픈소스를 시작해야 하는가
뭔가 불편할 때
그 불편함을
탁월하게
그 불편함을
빨리 풀고싶을 때
그 불편함을
재밌게 풀고싶을 때
토스에서 오픈소스를 계속하는 이유
멋진 기여자들과 함께
근사한 배를 산으로 보내려고 하니까
감사합니다