내부에서의 성공, 그리고 외부 공개에 대한 고민

642025년 10월 18일3

리액트로 재구축된 채팅창 검색 기능은 조용하지만 확실한 성공을 거두었다. 페이스북 내부의 다른 팀 엔지니어들이 이 소문을 듣고 리액트 팀의 문을 두드리기 시작했다.

“우리 팀 광고 관리자 페이지에도 리액트를 써볼 수 있을까요? 지금 코드는 너무 복잡해서 아무도 건드리려고 하질 않아요.”
“사진 업로드 UI를 개선하고 있는데, 리액트의 컴포넌트 모델이 완벽해 보입니다.”

리액트 팀은 작은 성공에 고무되었다. 그들은 다른 팀들을 적극적으로 도우며, 리액트의 사용 사례를 페이스북 내부에서 점차 넓혀나갔다. 리액트로 만들어진 컴포넌트들은 하나같이 안정적이었고, 유지보수가 용이했으며, 개발자들의 만족도는 매우 높았다.

어느덧 리액트는 페이스북 내부에서 ‘차세대 프론트엔드 기술’로 인정받는 분위기가 형성되었다.

어느 날 오후, 톰은 팀 회의에서 중요한 안건을 꺼냈다.
“이제 우리 내부에서는 리액트의 가치가 충분히 증명된 것 같습니다. 다음 단계에 대해 고민해 볼 때가 됐어요.”

그의 시선은 조던 워크를 향해 있었다.
“조던, 당신은 이 기술을 페이스북만의 전유물로 남겨둘 생각입니까? 아니면… 세상에 공개할 생각입니까?”

그 질문에 회의실의 공기가 미묘하게 바뀌었다. 외부 공개, 즉 오픈소스(Open Source)로의 전환은 완전히 다른 차원의 문제였다.

찬성과 반대 의견이 팽팽하게 맞섰다.

크리스가 먼저 신중론을 펼쳤다.
“아직 너무 이릅니다. 지금 리액트는 페이스북의 환경에 너무 맞춰져 있어요. 외부 개발자들이 이걸 쓰려면 문서도 새로 써야 하고, 빌드 시스템도 정비해야 합니다. 배보다 배꼽이 더 커질 수 있어요.”

그의 말은 현실적이었다. 오픈소스 프로젝트를 유지하는 데는 엄청난 노력과 책임감이 뒤따랐다. 버그 리포트에 응대하고, 외부 개발자들의 기여(Contribution)를 검토하고, 커뮤니티와 소통하는 일은 전담 인력이 필요할 정도의 큰일이었다.

맷은 다른 각도에서 우려를 표했다.
“세상에 공개했을 때, 사람들이 과연 이걸 좋아할까요? 버추얼 DOM 같은 개념은 너무 생소하고, 무엇보다… 자바스크립트 안에 HTML 같은 걸 쓴다는 아이디어는 분명 큰 반발을 살 겁니다.”

그가 지적한 것은 바로 JSX의 문제였다. 팀은 내부적으로 XHP의 경험을 살려, React.createElement를 직접 쓰는 대신 XML과 유사한 문법을 자바스크립트 안에서 사용할 수 있는 확장 기능(훗날 JSX라 불리는)을 실험하고 있었다. 이 편의 기능이 외부 커뮤니티에게는 오히려 ‘웹 표준을 무시하는 이단적인 행위’로 비칠 수 있다는 우려였다.

하지만 조던 워크의 생각은 달랐다.
“저는 공개해야 한다고 생각합니다.”

그의 목소리는 조용했지만 단호했다.
“리액트는 단순히 페이스북의 문제를 해결하기 위해 태어난 기술이 아닙니다. 이것은 웹 개발의 복잡성이라는, 우리 모두가 겪고 있는 공통의 문제를 해결하기 위한 하나의 철학입니다. 이 아이디어가 정말로 가치가 있다면, 더 넓은 세상의 개발자들과 함께 발전시켜 나가야 합니다.”

그에게 오픈소스는 단순히 기술을 나누는 행위가 아니었다. 전 세계의 뛰어난 개발자들로부터 피드백을 받고, 다양한 사용 사례를 통해 리액트를 더욱 견고하고 성숙한 기술로 만들어나갈 수 있는 최고의 기회였다.

톰은 양측의 의견을 모두 들은 뒤, 깊은 생각에 잠겼다.
페이스북 내부의 안정적인 성공에 안주할 것인가, 아니면 거센 비판과 논쟁이 예상되는 외부 세계로 나아가 더 큰 성장을 도모할 것인가.

그것은 리액트의 운명을 결정할 중요한 갈림길이었다.