[메인터뷰] 윈도우에 숨어 있던 엔진을 깨운, WelsonJS를 만드는 고남현

[메인터뷰] 는 메인테이너가 메인이 되는 인터뷰로, 클라우드브로 커뮤니티가 오픈소스 빌더들의 이야기를 기록하는 시리즈의 세 번째 편입니다.

어느 중공업 업체가 시스템 도구 하나를 만들어 달라고 했습니다. 조건은 단순했지만 가혹했습니다. Windows 2000부터 Windows 10까지, 그 회사가 쓰는 모든 윈도우 버전에서 돌아가야 한다는 것이었습니다.

버전마다 컴파일러도 개발 도구도 다 다릅니다. 그걸 일일이 수배해 버전별 환경을 갖추고 따로 컴파일하는 일은, 스펙 좋은 인력을 데려와도 한 사람의 힘으로는 어려운 규모였습니다. 실제로 박사급인지 석사급인지 모를 사람들을 데려와 시켜봤지만 다들 떠났다고, 의뢰한 쪽은 한숨을 쉬었습니다. 불가능한 일이라고 본 것입니다.

그 이야기가 돌고 돌아 고남현 님에게 닿았을 때, 그는 느낌이 왔다고 했습니다. 될 것 같았습니다. 다만 잘 알려진 길은 아니었습니다.

WelsonJS가 하는 일

고남현 님이 떠올린 것은 윈도우에 원래 들어 있던 엔진이었습니다. 윈도우는 Windows 95 때부터 운영체제 안에 JS 엔진을 기본으로 품고 있습니다. 마이크로소프트가 시스템 내부를 제어하는 용도로 쓰던 것이라, 일반 애플리케이션을 만드는 데 쓴다는 발상은 거의 알려져 있지 않았습니다.

“그 스크립팅 엔진은 말 그대로 스크립트를 넣어주면 작동을 하는 거잖아요. 시스템 제어를 할 수 있는 인터페이스가 다 연결돼 있고요. 마이크로소프트가 제어 용도로 이미 쓰던 거니까, 그걸 그냥 꺼내서 일반 앱 만드는 용도로 쓰자. 그래도 됐어요.”

옛 시스템에 새 프로그램을 추가로 설치하는 일은 위험이 따릅니다. 오래된 현장일수록 무언가 끼워 넣는 것을 꺼립니다. 그런데 이 방법은 이미 운영체제 안에 있는 엔진을 쓰니 그 위험이 없었습니다. 윈도우 버전이 올라갈 때마다 지원되는 API가 조금씩 달라지는데, 그 차이를 폴리필이라는 작업으로 하나하나 메워가며 지금까지 이어왔습니다.

이렇게 산업 현장에서 쓰이는 자바스크립트를 두고 흔히 인더스트리얼 JS라고 부릅니다. 문법은 1990년대 수준에서 멈춰 보안 패치만 받는 터라 비판도 받지만, 산업용이라는 특성상 함부로 갈아엎을 수 없습니다. 차기 윈도우에도 계속 실릴 것으로 그는 봤습니다. 안 쓸 이유가 없는 딱 맞는 도구였던 셈입니다.

나보다 내 프로젝트를 더 잘 아는 사람들

오래 혼자 이어온 프로젝트입니다. 가장 뿌듯한 순간이 언제냐고 묻자, 그는 뜻밖의 답을 했습니다.

“저보다 제 프로젝트를 더 잘 아는 개발자들이 있어요.”

그들은 그 프레임워크로 회사 일을 해야 하는 사람들입니다. 한번은 그중 한 명에게 뭔가를 물었더니 만든 본인보다 설명을 더 잘하더라고, 깜짝 놀랐다고 했습니다. 메인테이너의 손을 떠나 프로젝트가 혼자 자라고, 만든 사람보다 먼저 알려지는 일을 그는 성과로 꼽았습니다.

가장자리에서 핵심을 찾는 법

이 사람이 어떻게 프로젝트를 고르는지가 흥미롭습니다. 그는 모두가 열광하는 곳의 한복판 대신, 그 곁의 가장자리를 봅니다.

“사람들이 열광하는 그 포인트가 아니라, 거기서 조금 변방에 있는 것. 지금은 주목받지 못하지만 앞으로는 이게 핵심이 될 수도 있겠다 싶은 곳이요. 거기서 영감을 얻는 편이에요.”

웹 접근성도 그렇게 만났습니다. 인터넷 익스플로러가 최강자이던 시절, 새로 올라오는 브라우저들과 호환을 맞추려고 크로스 브라우징을 파고들다가 웹 표준과 웹 접근성이라는 개념에 닿았습니다. 기술적인 문제를 풀려면 그 개념이 나온 배경 이야기부터 알아야 한다는 걸 깨달았고, 그 배경에 빠져들면서 지금의 방향이 잡혔습니다. WelsonJS도, 네트워크 디버깅 도구도 대부분 같은 자리에서 출발했습니다.

보안과 난독화 쪽으로 들어간 것도 비슷합니다. 자연어 처리를 더 잘하고 싶어서 악성코드의 난독화 분석에 발을 들였습니다. 공개하는 기준은 분명합니다. 상용 소프트웨어의 난독화 방식과 겹치지 않는 것만 열고, 겹치는 것은 닫아 둡니다. 공개의 이유는 솔직했습니다. 경력 관리이기도 하고, 어차피 하드디스크를 파기하면 사라질 자료를 어딘가 남겨두는 의미도 있다고 했습니다.

한 번 무너져 본 사람

고남현 님은 12년 전, 2014년에 네 사람짜리 회사를 차린 적이 있습니다. 웹 접근성에 AI를 접목하는 사업이었습니다. 팀은 사회복지사 출신 연구원, 의류 쪽을 연구하던 사람, 부동산 경력자, 그리고 본인으로 꾸려졌습니다. 컴퓨터 비전 대회에서 1위를 했고, IBM이 왓슨을 밀던 시기와 맞물려 직접 찾아올 만큼 기술을 인정받았습니다.

영업은 법을 지렛대 삼았습니다. 장애인차별금지법이 개정되며 과태료 조항이 새로 생기던 때라, 논리가 명확했습니다.

“과태료보다 우리 솔루션이 훨씬 싸다.”

그렇게 고객을 모았지만 순탄치는 않았습니다. "멀쩡한 사람 상대하기도 어려운데 왜 이런 것까지 신경 써야 하냐"는 역풍에 직원들이 지쳐갔습니다. 매출은 대부분 그가 직접 팔아 만들었고, 보안 지식을 살려 데이터 복구 일을 병행하며 버텼습니다.

무너진 것은 한순간이었습니다. 지자체장이 바뀌면서 웹 접근성 관련 예산이 통째로 사라졌습니다. 깊이 있는 연구를 하던 회사가 갑자기 단순 외주로 방향을 틀려니 적응이 되지 않았고, 미수금이 감당할 수 없이 쌓이며 결국 접었습니다. 돌아보며 그는 두 가지를 아쉬워했습니다. 하나는 버는 족족 연구에 재투자하느라 홀딩할 자금을 챙기지 못한 것.

“그때는 너무 버는 대로 재투자하는, 연구에 미쳐 있는 느낌이었어요. 공돌이라 어쩔 수 없었다 싶으면서도요.”

다른 하나는 시기였습니다. LLM이 나오기 직전부터 관련 정책이 쏟아지기 시작했는데, 조금만 더 버텼다면 AI 시대의 흐름에 올라탈 수 있지 않았을까 하는 미련이 남는다고 했습니다.

200만 원이라는 숫자

요즘 그가 오픈소스로 버는 돈은 솔직한 숫자로 남습니다. 작년과 재작년, 도입한 기업이 개인적으로 보내준 도네이션이 한 해 200만 원이 채 안 됐습니다.

“오픈소스라는 관점에서는 다들 크다고 난리인데, 생계라는 관점에서 보면요. 회사를 나와서 오픈소스 전업을 한다면 턱없이 부족한 금액이죠.”

그가 걱정하는 것은 그다음입니다. AI가 단순한 코딩은 사람보다 잘하게 되면서, 사람이 손댈 자리가 까다로운 예외 처리 정도로 좁아지고 있습니다. 그런데 그런 예외가 매일 생기는 것도 아닙니다. 일주일에 예외가 터지는 하루를 빼면 나머지는 비어 버리는 것 아니냐고, 그는 다가올 시간을 가늠했습니다.

송충이와 윌슨 사이

외부에서 사람과 돈이 들어와 하나에 집중해야 한다면 어느 쪽이냐고 물었습니다. 그는 두 프로젝트를 양손에 두고 고민했습니다.

하나는 송충이 프록시입니다. 공공기관 건물의 화재 경보를 처리하는 시스템으로 실제 산업 현장에 들어간 이력이 있습니다. 여기에 LLM의 프로토콜 분석 능력을 붙이는 것이 목표입니다. 센서를 연결하면 LLM이 신호를 받아 자동으로 프로파일을 만들고, 화재든 화학물질 유출이든 프로토콜이 제각각인 센서들을 알아서 해석해 붙이는 구조입니다. AI와 호환되도록 사전 작업은 이미 끝내 두었습니다.

다른 하나는 WelsonJS입니다. 이미 기업 실무에서 검증된 프로젝트입니다.

“진짜 새로운 걸 하고 싶으면 송충이를, 가진 것 중 검증된 데 집중하고 싶으면 윌슨을 하고 싶어요. 도전형이면 송충이, 검증형이면 윌슨인 거죠.”

그리고 커뮤니티

고남현 님은 한국에서 오픈소스를 한다는 것의 피로를 정확히 짚었습니다. 오픈소스를 아는 사람과 모르는 사람의 생각이 극단으로 갈린다는 것입니다.

“꾸준히 연구하고 공개도 하고 훌륭하다고 봐주는 분도 있는 반면에, 쟤는 왜 저럴까, 노망이 일찍 들었나 하는 분도 있어요. 양 극단만 있고 중간이 없어요.”

해외에는 오픈소스를 해석하는 다양한 중간 스펙트럼이 있는데 한국은 그게 얇다 보니, 오픈소스 활동이 이직 준비나 이력 관리로 오해받기도 한다고 했습니다. 묵묵히 하는 일이 자꾸 해명할 거리가 되는 환경입니다.

상업화 이야기에서 그가 분명히 선을 그은 지점이 있습니다. 어떤 기업이 큰돈을 후원하더라도 프로젝트를 독점하게 두는 것은 피하고 싶다는 것입니다.

“독점을 하는 순간, 코드 한 줄 안 썼어도 그래픽이나 커뮤니티로 기여한 사람들의 꿈을 확 깨버리는 거거든요. 그러고 싶지 않아요.”

대신 그가 관심을 보인 것은 레퍼런스였습니다. 자기 솔루션을 쓴 기업에 실제로 어떤 도움이 갔는지, 그 실적을 함께 만들고 싶다고 했습니다. 후원해 준 곳에 본인도 무언가 돌려주고 싶다는 마음이었습니다.

클라우드브로가 만들려는 자리가 정확히 거기에 있습니다. 묻혀 있던 좋은 프로젝트를 기술 검증단과 함께 들여다보고 세상에 알리는 일, 그 프로젝트를 기업과 연결해 실제 현장에서 쓰이게 하고 도입 이후의 변화를 레퍼런스로 남기는 일, 그렇게 만들어진 가치가 메인테이너에게 정당한 보상으로 돌아가게 하되 누구도 그 프로젝트를 독점하지 않는 구조. 한 가지를 돕는 게 아니라, 빌더가 오래 버틸 수 있는 환경을 여러 방향에서 받치는 일입니다.

※ 고남현님이 운영하는 캐츠워즈리서치(Catswords Research)는 2014년 12월에 설립된, 자연어 처리와 컴퓨터 비전에 특화된 AI 연구개발 업체입니다. 현재는 오픈소스와 거대 언어 모델 생태계 지원을 통해 AI를 다양한 산업에 접목하고 있으며, 웹어셈블리와 액티비티펍 같은 개방형 신기술에도 적극 참여하고 있습니다.

메인테이너를 메인에 두는 [메인터뷰] 의 세 번째 이야기는, 변방에서 핵심을 찾아내고 윈도우 속 숨은 엔진을 깨운 고남현 님의 이야기로 채웠습니다.


[메인터뷰] 는 클라우드브로 커뮤니티가 오픈소스 빌더들의 이야기를 기록하는 시리즈입니다. 다음 편에서 또 다른 빌더를 소개할게요! 내 프로젝트를 소개하고 싶다면, 언제든 contact@cloudbro.ai로 연락주세요 :smiling_face:

1개의 좋아요