
16년 된 오픈소스 프로젝트의 귀환
웹에서 비디오 플레이어를 다뤄본 적 있다면 Video.js라는 이름을 한 번쯤 들어봤을 거예요. 2010년에 처음 나온 이 라이브러리는 HTML5 비디오가 아직 불안정하던 시절부터 웹 비디오 재생의 표준 같은 역할을 해왔거든요. 그런데 이 프로젝트의 원래 창시자가 16년 만에 프로젝트를 다시 가져와서, 처음부터 새로 작성한 v10 베타를 발표했어요.
그리고 그 결과가 놀라운데요. 번들 크기가 기존 대비 88% 줄었어요. 웹 개발에서 번들 크기는 곧 사용자 경험과 직결되잖아요. 특히 모바일 환경에서 큰 JavaScript 번들은 로딩 시간과 배터리 소모에 직접적인 영향을 주거든요.
왜 처음부터 다시 써야 했을까
Video.js는 원래 Flash 시대에 태어났어요. Flash가 있던 시절과 없는 시절을 모두 거치면서, 호환성 레이어와 레거시 코드가 계속 쌓여왔죠. 플러그인 시스템, 스킨 시스템, 다양한 미디어 소스 지원 등 기능은 풍부해졌지만, 그만큼 코드베이스도 비대해진 거예요.
v10에서 이걸 어떻게 88%나 줄였냐면요. 첫째, Flash 관련 코드를 완전히 제거했어요. 2026년에 Flash를 지원할 필요는 없으니까요. 둘째, 브라우저 호환성 코드를 대폭 정리했어요. 예전에는 IE 같은 구형 브라우저까지 지원하느라 폴리필(polyfill)이 잔뜩 있었는데, 이제는 모던 브라우저만 타겟으로 하면서 이런 코드가 필요 없어진 거예요. 셋째, 내부 아키텍처를 현대적으로 재설계했어요. 커스텀 클래스 시스템 대신 표준 Web Components와 ES 모듈을 활용하고, 불필요한 추상화 레이어를 걷어냈어요.
이게 뭐냐면, 집을 리모델링하는 것과 비슷해요. 10년 넘게 여기저기 증축하고 고치다 보면 구조 자체가 비효율적이 되거든요. 그럴 때는 기초부터 새로 짓는 게 오히려 더 효율적인 경우가 있는데, Video.js v10이 정확히 그 케이스예요.
기존 비디오 플레이어들과의 비교
웹 비디오 플레이어 시장에는 여러 선택지가 있어요. Plyr은 가볍고 예쁜 UI로 인기가 있고, Shaka Player는 Google이 만든 것으로 DASH와 DRM 지원이 강력하고, hls.js는 HLS 스트리밍에 특화돼 있어요. Media Chrome은 Web Components 기반으로 최근 주목받고 있고요.
Video.js v10은 이 중에서도 범용성과 가벼움 사이의 균형을 새롭게 잡으려는 시도로 보여요. 기존 Video.js는 "기능은 많지만 무겁다"는 평가를 받았거든요. 88% 크기 감소라면, 가벼운 플레이어들과도 충분히 경쟁할 수 있는 수준이 되는 거예요.
또한 16년간 쌓인 커뮤니티와 플러그인 생태계가 여전히 Video.js의 큰 자산이에요. CDN 서비스들, 비디오 호스팅 업체들, 미디어 회사들이 Video.js를 기반으로 커스터마이징해서 쓰고 있는 경우가 많거든요.
한국 개발자에게 주는 시사점
이 사례에서 배울 수 있는 점이 여러 가지 있어요.
오픈소스 메인테이너십에 대한 이야기가 먼저 눈에 들어와요. 원작자가 프로젝트를 떠났다가 16년 만에 다시 돌아온 건 드문 일이에요. 오픈소스 프로젝트에서 메인테이너 번아웃은 정말 흔한 문제인데, 이 경우처럼 원작자가 새로운 에너지를 가지고 돌아와서 프로젝트를 리부트하는 건 커뮤니티에게도 좋은 신호예요.
레거시 코드 리팩토링의 가치도 보여줘요. "돌아가는 코드는 건드리지 마라"라는 말이 있지만, 때로는 과감한 재작성이 더 나은 결과를 가져올 수 있어요. 물론 이건 매우 어려운 판단이에요. 대부분의 "처음부터 다시 쓰자" 프로젝트는 실패하거든요. 하지만 Video.js처럼 명확한 이유(레거시 부채가 너무 많이 쌓임)가 있고, 경험 있는 개발자가 주도하면 성공할 수 있다는 것도 보여주죠.
만약 여러분이 미디어 관련 웹 프로젝트를 하고 있다면, v10 베타를 한번 살펴볼 가치가 있어요. 특히 기존에 Video.js를 쓰고 있었다면, 마이그레이션 계획을 세워볼 시점이에요.
정리하자면
88% 크기 감소는 단순한 최적화가 아니라, 10년치 기술 부채를 청산한 결과예요. 때로는 용기 있는 재작성이 점진적 개선보다 더 큰 도약을 만들어낸다는 것을 보여주는 사례죠.
여러분이 관리하는 프로젝트 중에 "이건 다시 써야 하는데..."라고 생각하면서도 못 건드리고 있는 게 있나요? 어떤 조건이 갖춰지면 재작성을 결심하실 수 있을까요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공