개발자 / 오픈소스

IDG 블로그 | 오픈소스 프로젝트의 가장 중요한 부분

Matt Asay | InfoWorld 2020.05.07
오픈소스의 지속 가능성에 대한 그 모든 논쟁에도 불구하고, 프로젝트에 대한 “확실한” 기여에 중점을 두기 쉽다. 모두가 알고 있는 것처럼, 코드이든 현금이든, 문서화이든, 그 무엇이라도 프로젝트 책임자가 볼 수 있고 만질 수 있는 것이다. 하지만 musl libc 프로젝트 설립자인 리치 펠커는 다른 요소를 이야기했다. 처음에는 도발적이거나 충격적으로 보이지만, 결국 옳다는 느낌이 드는 그것은 바로 사용자이다.
 
ⓒ Ambreen Hasan (CC0)

코드 기여자가 아니라 사용자가 오픈소스 프로젝트에서 가장 중요한 부분이다.

펠커는 “사용자, 테스터, 버그 보고자는 코드를 쓰는 것보다 더 귀중하다”라고 강조했다. 다시 말해, 이들은 코드를 기여하는 대신 코드를 어떻게 개발해야 하는지 인사이트를 기여한다. 가장 가까이에 있는 사람이 제안하는 것이라 구현하기도 가장 좋다. 

펠커의 지적은 전임 MySQL CEO 마르텐 미코스(현 해커원 CEO)의 말을 생각나게 한다.

“MySQL에서 우리는 우리에게 절대 돈을 내지 않는 사용자를 사랑한다. 이들은 우리의 에반젤리스트이다. 어떤 마케팅 활동도 열정적인 MySQL 사용자가 친구나 동료에게 MySQL에 대해 이야기할 때만큼 하지 못한다. 우리의 성공은 전 세계 수백만 에반젤리스트를 기반으로 한다. 물론 이들은 우리가 제품을 개발하고 버그를 수정하는 것을 돕는다. 그리고 때로는 MySQL이 싫다고 하는데, 이 역시 도움이 된다. 왜냐하면, 불만은 보통 개선을 위한 좋은 제안을 담고 있기 때문이다.”

오픈소스 분야에서 이른바 ‘받기만 하는 사람’을 비난하는 것이 표준이 되었다. 모든 기업과 개인 하나하나가 사용하는 것이 개발자보다 더 오픈소스에 기여하는 것이라는 사실을 금방 잊어버린다. 예외는 없다. 예를 들어, 개츠비 JS(Gatsby JS)는 최근 다소 놀라운 오픈소스 코드를 새로 출시하면서 리액트부터 웹팩, 바벨, 그래프QL 등등 수많은 오픈소스 프로젝트에 신세를 졌다는 것을 인정했다. 

오픈소스 프로젝트는 늘 이렇게 돌아간다. 모든 오픈소스 프로젝트, 모든 코드 기여자에게는 수천 명, 혹은 수백만 명의 사용자가 있다. 그리고 펠커가 말하는 것처럼, 아주 좋은 일이다.

펠커에게 오픈소스에서 가장 과소평가된 집단은 바로 사용자이다. 필자가 musl lib 프로젝트에서 기여자의 중요성을 강조하려고 하자, 펠커는 말을 가로 막았다. 펠커는 “musl을 기반으로 배포판을 만들고 자신이 찾은 모든 문제를 보고하는 사람들, 수정해야 할 필요가 있는 이식성 문제를 발견했을 때 다른 프로젝트의 업스트림에 보고하는 사람들, 서로 다른 단체 간의 모든 코디네이션 작업을 하는 사람들”이 가장 중요하다고 강조했다. 또한 많은 피드백을 받지 못했다면, musl을 구축하는 데 10~100배는 시간이 더 걸렸을 지 모른다고 덧붙였다.

Matplotlib 프로젝트 책임자인 토마스 카스웰도 최근 같은 이야기를 했다. 처음 Matplotlib에 합류했을 때 카스웰은 스택 오버플로우 문제에 답하는 사용자였다. 실제로 프로젝트를 배우는 최상의 방법은 스택 오버플로우 같은 곳에서 질문에 답하는 것인데, 서로 다른 사용례와 만나는 자리이기 때문이다. 코드를 건드리지 않고 코드 속의 버그를 바로잡는 이상적인 방법이기도 하다. 이 방법은 결국 카스웰이 프로젝트에 코드를 기여하도록 만들었는데, 어떤 코드를 기여할지에 대한 인사이트는 사용자의 코드로부터 배운 것이다.

기여자가 오픈소스 프로젝트의 토대가 되는 것은 옳지만, 기여의 계층 구조를 다시 생각해야 할지도 모른다. 만약 누군가 프로젝트에 코드를 기여했는데, 이를 사용할 사람이 아무도 없다면 어떻게 되겠는가? 사용자는 오픈소스 프로젝트의 생명력이다.  editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.