"공개SW 덕분에 새로운 경험...깃허브 트렌드서 1위도"

[인터뷰] 2021년 공개SW 개발자 대회 학생 부문 대상(과기정통부 장관상)/Higgs 팀 윤민석

인터뷰입력 :2022/01/13 10:26

"인터넷만 연결돼 있으면 다른 사람의 상상과 고민, 해결방법을 빌릴 수 있다는 점은 정말 놀라운 일입니다. 학생 개발자 혼자 만든 프로젝트가 깃허브 트렌드 1위를 기록하고 있고 1년도 안돼 3k가 넘는 스타를 받는 것은 아무나 경험할 수 있는 일이 아닙니다."

과기정통부와 정보통신산업진흥원(NIPA)이 지난해 개최한 '2021년 공개SW 개발자 대회'에 참가해 학생 부문 대상(과기정통부 장관상)을 받은 윤민석 씨는 "우연히 참가해 너무 소중한 경험을 했다"며 이 같이 밝혔다. 성결대 컴퓨터공학과에 재학 중인 윤민석 씨는 3학년(부전공은 경영학)을 마치고 현재 사회복무요원으로 근무하고 있다. 올 10월 복무를 마치면 내년에 다시 캠퍼스로 돌아갈 예정이다. 지난해 15회를 맞은 국내 최대 규모 공개SW 개발자 대회인 '2021년 공개SW 개발자 대회'에 '파이어폭스 프로톤(Firefox Proton) 디자인 UI/UX 개선 프로젝트'로 참가해 대상의 영예를 안았다.

자유과제로 1등을 한 그는 "여러 모로 운이 좋았다. 개발 계기, 개발할 시간이 많았다는 점, 공모전이 열린 시기 등이 잘 맞아 떨어졌다"며 인터뷰 운을 뗐다. 모질라의 파이어폭스(Firefox) '버전 89(v89)'가 지난해 6월 공개(릴리즈)됐는데 윤민석 씨는 "파이어폭스 브라우저의 디자인을 완전히 바꾸는 과정에서 마음에 들지 않아 이를 개선하는 프로젝트를 추진한 것"이라며 " v1.0이 나오고 충분한 사용자가 확보된 이후 공모전이 열려 여유를 갖고 개선이 가능했다. 피드백을 열심히 해준 커뮤니티가 있어 빠르게 방향을 잡고 다양한 도움을 받을 수 있었다"며 커뮤니티에 고마움을 표했다.

파이어폭스의 디자인 시스템 이름은 물리학(양성자)과 관련한 것이 많다. 예컨대 Photon(광자), Proton(양성자) 등이 그렇다. 윤 씨의 팀명 힉스(Higgs)는 영국의 유명 물리학자 '피터 힉스(P.W. Higgs)'에서 따 온 것이다. "힉스의 명성에 누를 끼치지 않아 다행(웃음)"이라는 그는 "물리학 입자들과 연관이 있어 프로젝트 명을 렙톤(Lepton)이라 지었다"고 설명했다.

윤민석 씨. 지난해 열린 공개SW 개발자 대회에서 대상인 과기정통부 장관상을 받았다..

윤민석 씨가 '파이어폭스 프로톤(Firefox Proton) 디자인 UI/UX 개선 프로젝트'를 택한 이유는 이렇다. 파이어폭스 개발자 버전을 사용하던 중 갑자기 큰 UI 변화가 생겼는데 커뮤니티에서 반발이 심했다. 예컨대, 메뉴 사이 간격이 지나치게 넓다든가, 혼란스러운 탭 상태, 또 아이콘 제거와 일부 애니메이션 삭제 등이 문제가 됐다. 이들을 해결하는 패치들이 일부 존재했지만 각 개인의 요구사항만을 만족하는 소규모였다. 윤 씨는 "내가 보기에 (패치가) 한참 부족했다"면서 "브라우저는 매우 자주 쓰는 프로그램인이니 내가 직접 이상적인 형태를 구현해보자"고 생각했다며 프로젝트 추진 이유를 밝혔다.

결국, 그는 적당하게 조정된 메뉴 간격, 익숙한 탭 모양과 복잡한 탭 상태의 일관적 표현, 각종 아이콘,

각 OS에 어울리는 디자인, 다크 모드 및 테마컬러의 적용 범위 강화, 명확하며 부드러운 애니메이션,

접근성 개선 등을 이뤄냈다. 윤 씨는 "이미 구현한 기능 내에서는 세계 최고수준의 UI/UX를 제공하고 있다고 생각한다"면서 "앞으로 더 나은 커스텀 가능성과 각종 기능을 만들어 더 나은 브라우징 환경을 만들어가고 싶다"는 계획을 밝혔다.

윤민석 씨는 '2021년 공개SW 개발자 대회'에 참가하면서 많은 것을 느꼈다. 가장 인상 깊은 건 라이센스 관련 교육과 검증과정이었다. "코드를 업로드해 분석기를 돌리면 비슷한 코드가 있는 레포들을 나열시켜주는 서비스는 매우 신선한 경험"이었다면서 "1차 과정을 합격한 사람들만 써볼 수 있는데 공개 서비스로 운영하면 라이센스 문제로 골머리를 앓는 사람들 상당수가 큰 도움이 될 것 같다"는 의견을 밝혔다. 이어 "코로나 때문에 온라인으로만 행사가 진행돼 다른 개발자들을 만날 기회가 사라진건 아쉽다"고 말했다.

윤 씨가 오픈소스에 관심을 가진 건 고등학교때부터다. "역사나 사회, 경제적인 측면에서 각종 오픈소스 라이센스 정책이나 오픈소스 협업모델 자체는 고등학생때부터 관심을 갖고 있었다"면서 "(오픈소스)는 능력에 따라 개발하고 필요에 의해 클론과 다운로드가 일어난다. 누구나 의사결정 과정에 참여하고 기여하거나 새로운 프로젝트로 분기할 수도 있다. 개인을 넘어 기업이 코드를 공개하고 품앗이하는 모습이 신기했다"면서 "하지만 고등학생때는 컴퓨터에 접근할 시간이 적고 직접적인 기여가 힘들었고 프로그래밍 지식이 적었다"고 회고했다. 대학에 들어간 그는 잠시 오픈소스를 잊고 지냈다. 과제 기여 투명성을 위해 깃(Git)을 도입한 적은 있었지만 CS전반과 각종 도메인의 기초적인 부분들을 배우기 벅찼기 때문이다. 휴학하고 나서야 ZSH 환경, 블로그 테마 등을 공개하며 조금씩 코드를 공개하기 시작했다. 윤 씨는 "이 때도 각종 공개SW 도움을 받았다"면서 "소스가 공개돼 있다보니 원하는 기능을 직접 구현 할 수 있었고, 비슷한 사례의 기존 구현 방식을 살펴볼 수 있어 유용했다"고 말했다.

윤민석 씨.

그가 한 첫 풀 리퀘스트(PR,Pull Request, 수정 제안)는 ZSH란 터미널 환경을 만들며 'P10k'라는 좋은 라이브러리(현재 스타가 24k정도로 유명한 프로젝트지가 됨)를 'Awesome Zsh Plugins'라는 문서에 추가한 것이다. 또 의미있는 첫 PR은 한국어 임베딩이란 책의 샘플코드 중 이상하게 동작하는 정규식을 수정한 거였다. 이 후 사용하다 불편한 프로그램, 관심이 가는 프로젝트에 조금씩 기여하고 있다. "무조건 해야겠다보다 내가 할 수 있는만큼 자연스럽게 하고 있다"는 그는 'PR'에 관심있는 사람들에게 몇 가지 조언도 했다.

"다른 사람 프로젝트에 수정 제안 보내기를 처음하려면 긴장하고 거절당하면 어쩌나 하나 하는 두려움이 생긴다. 또 PR을 어떻게 무엇을 해야하나 싶은 사람들도 많을 거라 생각한다. 처음 기여를 하는 분들에게 가장 좋은 타깃은 문서 오타 수정이나 괄호 맞추기다"면서 "특히 괄호를 코드 예제에서 잘못쓰는 경우 버그 원인이 되거나 실행이 안된다고 판단, 프로젝트를 사용하지 않을수도 있으니 상당히 중요하다. 이 둘은 프로젝트에 대한 깊은 지식이나 기술이 필요없으며, 관리자들도 거절할 이유가 없는 무조건 성공하는 PR이라 할 수 있다"는 팁을 전했다.  이어 그는 "또 다른 쉬운 타깃은 깃허브 액션과 같은 자동화다. 의외로 코드 포맷팅, 배포 등의 자동화 스크립트가 짜여져있지 않은 프로젝트들이 많이 있다. 작업 자동화로 반복적인 귀찮은 일을 줄일 수 있다. 만약 커다란 변경이 필요하면 우선 이슈를 생성해 관리자와 의논해 필요없는 작업은 하지 않거나 조언을 받는 것도 좋다"고 덧붙였다.

윤민석 씨는 지난해 가장 기억에 남는 오픈소스 활동으로 '프리텐더드(Pretendard)'를 꼽았다. Emacs NG라는 Emacs 에디터 포크 팀에도 참여하고 있다. 앞으로의 계획에 대해 그는 "올해는 이번에 만든 파이어폭스 테마 프로젝트 개선과 러스트(Rust) 언어를 사용한 토이 프로젝트와 책쓰기가 목표"라며 "UX에 관심이 많아 웹 프론트쪽으로 취업할 생각을 하고 있다"고 밝혔다. 이어 "몇년전에 기획해 놓은 메모 프로그램이 있는데 아직 비슷한 프로젝트가 나오지 않아 이를 기반으로 창업을 할 수도 있다"고 덧붙였다.

관련기사

우리나라가 공개SW 강국이 되려면 어떻게 해야 하냐고 묻자 "공개SW는 특성상 능력에 따라 개발하고 필요에 의해 클론과 다운로드가 일어나지만 개발자들이 돈, 명예, 동기 등을 분배받는 프로세스도 중요하다"면서 "현재의 개발자 대회, 컨트리뷰션 대회, 개발자 커뮤니티 지원 등은 개인 개발자들이 공개SW에 참여하고 무언가를 얻어가기에 매우 좋은 프로세스다"고 말했다. 개발자 대회에서 업그레이드 부문을 더 신경써주면 좋겠다는 그는 "각 개인이 모여 활동하기에는 시간과 물질적 제약이 많기 때문에 지속가능한 시스템을 만들기 위해서는 다양한 방면에서 투자가 필요하다"면서 "정부와 기업, 학계등에서 보다 많은 관심이 필요하다"고 제안했다.

국립국어원이 만든 세종 코퍼스를 개선한 문종 프로젝트를 카카오가 공개하려 했을때 재배포 권한이 없어 불가능했던 사례를 들며 "기초적인 데이터나 라이센스 해결에 정부가 보다 힘써줬으면 좋겠다"고 덧붙였다. 소프트웨어정책연구소에 따르면 우리나라가 공개SW를 서비스에 활용하는 비율은 34.4%, 소스코드를 공개한 SW개발기업은 20%, 세계에서 국내기업의 오픈소스 프로젝트 참여 비율은 0.2%밖에 안된다. 이런 수치를 언급한 그는 "경제 규모와 산업비율을 생각할때 우리나라는 상당히 폐쇄적인 환경이다. 이를 타파하기 위해서는 일종의 문화를 만들어나갈 필요가 있다"면서 "기업은 컨퍼런스를 열어 업계와 사용자들에게 자체제작 라이브러리나 솔루션의 코드 및 사례등을 공유하고 서로 협력해야 한다. 또 학계는 학부생 때부터 적당한 라이브러리를 사용하거나 깃(Git)을 활용하는 식으로 과제를 내는 등 오픈소스 생태계와 협업모델에 익숙하게 만들어주고 논문과 실험 코드를 공개하는 식의 관습이 생겨났으면 좋겠다"고 밝혔다.