2021.09.09

글로벌 칼럼 | 오픈소스의 동력은 이타심이 아니라 이기주의다

Matt Asay | InfoWorld
최근 필자는 한 친구로부터 AWS에 진정 필요한 것은 자체 오픈 소스를 장려할 ‘플래그십 (오픈 소스) 프로젝트’라는 내용의 트위터 DM을 받았다.
 
ⓒ Getty Images Bank

그는 타사의 사례에 빗대어 “AWS의 안드로이드(Android), 쿠버네티스(Kubernetes), 텐서플로(Tensorflow), VS 코드(VS Code)는 대체 어디 있나?”라고 지적했다. 그가 사례로 든 대부분은 구글이 한 것이고 VS 코드만 마이크로소프트 프로젝트이다(비주얼 스튜디오 코드(Visual Studio Code)와 혼동해서는 안 된다. 비주얼 스튜디오 코드는 VS 코드를 기반으로 만들어졌지만 그 자체가 오픈 소스는 아니다).

이는 어디선가 들어 본 듯한 주장이지만 설득력 있는 것은 아니다. 사실 AWS에는 파이어크래커(Firecracker), CDK 등의 널리 알려진 유명 오픈 프로젝트가 있기 때문이다. 그러나 문제는 그게 아니다.

필자가 느낀 문제는, 친구의 말에 마치 기업이 이타주의로 오픈 소스에 기여하고 세상을 사랑과 평화, 오픈 소스 코드로 축복해 긍정적인 오픈 소스 명성을 쌓아야 한다는 주장이 포함된 것처럼 느껴졌기 때문이다. 이런 주장은 트위터 메시지로 써서 주목받기에는 좋지만, 필자는 잘못된 생각이라고 본다. 개발자야 순전히 코드에 대한 애정으로 기여할지 몰라도 기업을 그럴 수 없다. 절대로 그렇게 하지 않는다.

따라서 우리가 AWS 사례를 보면서 물어야 할 것은, 어떤 기업이 코드에 기여하거나 하지 않는 이유여야 한다. 그것이 오히려 더 생산적이고 오픈 소스 전체에 도움이 된다.
 

오픈 소스는 미치도록 어렵다

세상에 리소스가 무한한 기업은 없다. 구글의 광고사업, 어도비(Adobe)의 포토샵(Photoshop), 마이크로소프트의 윈도우(Windows)와 오피스(Office) 같은 효자 제품으로 큰돈을 꾸준히 버는 엄청난 부자 기업도 자원은 언제나 한정되기 마련이다.

바로 여기에 오픈 소스는 ‘힘들다’는 현실이 더해진다. 얼마나 힘드냐고? 리프트(Lyft) 선임 엔지니어이자 성공적인 엔보이(Envoy) 오픈 소스 프로젝트를 만든 맷 클라인은 “미칠 만큼 일이 많다”라고 말했다. 단순히 코딩만 그런 것도 아니고 마케팅, 사업 개발 등 프로젝트의 성공을 위해 들어가는 모든 것이 그렇다. 게다가 그 모든 노력이 성과를 거둘지 미리 알 수 없다. 그는 “성공이 보장된 것이 아니고 이익도 명확하지 않다. 경쟁에서 이길지 알 수 없고 이기지 못하면 순수하게 손해가 된다"라고 말했다.

특정 기업에 소속되지 않고 남는 시간에 오픈 소스에 기여하는 개발자라고 해도 힘든 것은 마찬가지다. 타이드리프트(Tidelift) 공동 창업자 루이 빌라는 "점점 더 많은 개인 시간을 써야 한다. 개발자가 기본 프로그래밍과 대인관계 기술을 배우면 자신에게 이익이 되는 것이 분명하다. 반면, 본업에서 조달, 법률, 보안 등의 전문가에게 위임될 가능성이 높은 문제에 전문가가 되는 것이 과연 스스로 이익이 될지는 상대적으로 분명하지 않다”라고 말했다.

실제로 오픈 소스 프로젝트 관리자는 본인 프로젝트의 엔드투엔드 보안과 파일 수준 라이센싱 등에 대해 고민해야 할 일이 점점 늘어난다. 클라인의 표현대로 미칠 만큼 일이 많아지는 이유다.

리프트는 "이제 코드의 오픈 소스화 여부를 평가할 때 그 성가신 일도 가치 있게 만들어 줄 정도로 외부 관심을 끌 수 있게, 프로젝트에서 ‘이길’ 수 있을지를 오픈 소스 기여 기준으로 삼고 있다"라고 말했다. 클라인도 “나는 오픈 소스 순수주의자가 아니다. 자본주의자다”라고 말했다. 이런 생각을 하는 것은 이들만이 아니다.
 

오픈 소스의 ‘이유’

페이스북과 구글이 각각 파이토치(PyTorch)와 텐서플로 같은 오픈 소스 인공지능(AI) 소프트웨어에 기여한 것을 높이 평가할만하지만 이 기업들이 갸륵한 자선을 베푸는 마음으로 코드를 공개했다고 생각한다면 착각이다.

과거 필자는 오픈 소스를 진입 차선으로 이용하는 클라우드 업체에 지적한 바 있다. 최근에 브루킹스 연구소(Brookings Institution) 연구원 알렉스 엥글러는 이 주제를 다루면서 “구글과 페이스북이 각각 텐서플로와 파이토치라는 자체 딥 러닝 툴을 오픈 소스화한 것은 이미 굳건한 양사의 위치를 한층 더 견고하게 하는 효과를 낼 수도 있다”라고 말했다.

실제로 코드 공개 후 5년이 흐른 지금 구글과 페이스북은 여전히 개발 작업의 대부분을 하고 있다(필자는 구글과 페이스북을 비난하려는 것이 아니다. AWS와 파이어크래커 및 CDK 프로젝트, 그리고 마이크로소프트와 VS코드도 상황은 마찬가지이다).

그것이 왜 중요할까? 오픈 소스가 구글과 페이스북이 활용할 핵심적인 전략적 수단을 제공하기 때문이다. 엥글러는 “구글과 페이스북은 자사의 툴을 업계와 학계에서 가장 널리 쓰이는 툴로 만들었고 이 툴로 진행된 공공 연구에서 도움을 받고 있다. 더 나아가, 자사 시스템에서 훈련된 데이터 과학자와 머신 러닝 엔지니어를 양성하는 효과도 있다. AI 인재 영입 경쟁이 치열한 상황에서 텐서플로와 파이토치는 구글과 페이스북이 첨단 AI 문제 해결에 노력 중인 대표적인 기업이라는 평판을 강화하는 데도 도움이 된다"라고 말했다.

구글과 페이스북의 그런 행보가 나쁘다는 말이 아니다. 단지 기업은 자선사업으로 코드에 기여하는 것이 아니라는 것이다. 리소스는 유한하다. 한 기업이 돈과 인력을 오픈 소스에 기여한다면 다 계산기를 두드려 보고 투자 이익을 거둘 것으로 판단했기 때문이다.
 

자본주의적 오픈 소스의 몇몇 사례

마이크로소프트의 사례를 보자. 마이크로소프트는 깃허브(GitHub)에 적극적으로 기여한다. 직원의 총 수를 기준으로 하면 측정했을 때 세계 최대의 오픈 소스 기여자이다(물론 이 측정 방법이 완벽한 것은 아니기 때문에 다른 측정 방법이 있다면 기꺼이 들어볼 생각이다).

마이크로소프트는 왜 오픈 소스에 기여할까? 몇 년 전 필자는 많은 경우에 오픈 소스는 약자가 강자를 이기기 위한 것이라고 주장했다. 마이크로소프트가 딱 그 경우다. 데스크톱과 기업 데이터센터 분야에서는 강자인 반면 클라우드 분야에서는 존재감이 미미했다. 마이크로소프트는 개발자의 사랑과 클라우드 테이블에서의 한자리를 얻기 위해 오픈소스 '왕따'에서 오픈소스 '영웅'으로 탈바꿈했다. 오랜 세월이 걸리기는 했지만 마이크로소프트 애저(Azure)의 시장 점유율이 높아지는 결실을 보고 있다.

구글의 사례도 보자. 구글 역시 쿠버네티스(멀티클라우드 전쟁에서의 선제 기습 사격으로 구글의 주요 경쟁력으로 자리 잡았다) 또는 안드로이드(애플이 스마트폰 시장을 완전히 장악하지 못하게 저지했다)와 같은 세간의 주목을 받는 프로젝트 이후에 오픈 소스 기업과 빠르게 제휴를 맺고 있다.

이런 행보는 구글 오픈 소스 책임자 크리스 디보나가 지난 2019년에 말한 맥락으로 이해해야 한다. ‘뭔가 너그러운 마법 같은 계약’ 때문이 아니라 ‘고객이 원하는 것을 제공’하는 수단이었다. 경쟁자인 AWS에 맞서 구글 클라우드를 효과적으로 자리 잡게 하는 방법이었다는 것이다.

AWS는 어떨까? 사실 AWS는 자체 코드를 오픈소스화할 필요성이 상대적으로 적다. 이미 클라우드 시장 선두 주자여서 경쟁자의 추격에 잠재적으로 도움이 될 만한 내부 자산을 공개할 이유가 없다. 추격을 감수할 만큼의 전략적 가치가 있지 않은 한 회사 내부 승인을 받지 못할 공산이 크다.

파이어크래커 오픈 소스화도 이런 관점에서 읽을 수 있다. 람다(Lambda)와 같은 AWS 서버리스 제품을 작동시키는 새로운 종류의 가상화 기술인 파이어크래커가 발표됐을 때 AWS는 “고객의 서버리스 채택이 늘면서 우리의 기존 가상화 기술이 이벤트 중심적이고 때때로 단기적인 워크로드의 특성에 최적화되지 않았다는 것을 깨달았다. 서버리스 컴퓨팅에 맞게 설계된 새로운 가상화 기술을 구축할 필요성을 느꼈다”라고 설명했다.

필자는 파이어크래커를 공개한 팀 소속이 아니었으므로, 파이어크래커 개발 이유에 대한 내부 사정은 전혀 알지 못한다. 그러나 발표 내용으로 미루어볼 때 AWS는 파이어크래커가 늘면 서버리스 채택도 늘고 이를 통해 그 시장에서 AWS 우위도 늘어나기를 바라고 있음을 알 수 있다. 사악한 의도라고 비난해야 할까? 절대 그렇지 않다. 리프트나 마이크로소프트, 구글 등 다른 모든 기업과 마찬가지로 AWS도 설득력 있는 사업적인 이유가 있지 않은 한 오픈 소스화는 이루어지지 않는다.

어쩌면 필자 친구의 말마따나 AWS는 주요 플래그십 제품의 오픈소스화가 꼭 필요한지도 모른다. 그러나 혹시 AWS가 그렇게 한다면 그것은 트위터의 평범한 사람들 또는 필자 같은 칼럼리스트로부터 더 좋은 평판을 받고 싶어서가 아니다. 구글 등이 그랬던 것처럼 더 많은 기업이 자사 제품을 사용하도록 하기 위해서일 것이다. 오픈 소스 사업은 그렇게 돌아간다. editor@itworld.co.kr


2021.09.09

글로벌 칼럼 | 오픈소스의 동력은 이타심이 아니라 이기주의다

Matt Asay | InfoWorld
최근 필자는 한 친구로부터 AWS에 진정 필요한 것은 자체 오픈 소스를 장려할 ‘플래그십 (오픈 소스) 프로젝트’라는 내용의 트위터 DM을 받았다.
 
ⓒ Getty Images Bank

그는 타사의 사례에 빗대어 “AWS의 안드로이드(Android), 쿠버네티스(Kubernetes), 텐서플로(Tensorflow), VS 코드(VS Code)는 대체 어디 있나?”라고 지적했다. 그가 사례로 든 대부분은 구글이 한 것이고 VS 코드만 마이크로소프트 프로젝트이다(비주얼 스튜디오 코드(Visual Studio Code)와 혼동해서는 안 된다. 비주얼 스튜디오 코드는 VS 코드를 기반으로 만들어졌지만 그 자체가 오픈 소스는 아니다).

이는 어디선가 들어 본 듯한 주장이지만 설득력 있는 것은 아니다. 사실 AWS에는 파이어크래커(Firecracker), CDK 등의 널리 알려진 유명 오픈 프로젝트가 있기 때문이다. 그러나 문제는 그게 아니다.

필자가 느낀 문제는, 친구의 말에 마치 기업이 이타주의로 오픈 소스에 기여하고 세상을 사랑과 평화, 오픈 소스 코드로 축복해 긍정적인 오픈 소스 명성을 쌓아야 한다는 주장이 포함된 것처럼 느껴졌기 때문이다. 이런 주장은 트위터 메시지로 써서 주목받기에는 좋지만, 필자는 잘못된 생각이라고 본다. 개발자야 순전히 코드에 대한 애정으로 기여할지 몰라도 기업을 그럴 수 없다. 절대로 그렇게 하지 않는다.

따라서 우리가 AWS 사례를 보면서 물어야 할 것은, 어떤 기업이 코드에 기여하거나 하지 않는 이유여야 한다. 그것이 오히려 더 생산적이고 오픈 소스 전체에 도움이 된다.
 

오픈 소스는 미치도록 어렵다

세상에 리소스가 무한한 기업은 없다. 구글의 광고사업, 어도비(Adobe)의 포토샵(Photoshop), 마이크로소프트의 윈도우(Windows)와 오피스(Office) 같은 효자 제품으로 큰돈을 꾸준히 버는 엄청난 부자 기업도 자원은 언제나 한정되기 마련이다.

바로 여기에 오픈 소스는 ‘힘들다’는 현실이 더해진다. 얼마나 힘드냐고? 리프트(Lyft) 선임 엔지니어이자 성공적인 엔보이(Envoy) 오픈 소스 프로젝트를 만든 맷 클라인은 “미칠 만큼 일이 많다”라고 말했다. 단순히 코딩만 그런 것도 아니고 마케팅, 사업 개발 등 프로젝트의 성공을 위해 들어가는 모든 것이 그렇다. 게다가 그 모든 노력이 성과를 거둘지 미리 알 수 없다. 그는 “성공이 보장된 것이 아니고 이익도 명확하지 않다. 경쟁에서 이길지 알 수 없고 이기지 못하면 순수하게 손해가 된다"라고 말했다.

특정 기업에 소속되지 않고 남는 시간에 오픈 소스에 기여하는 개발자라고 해도 힘든 것은 마찬가지다. 타이드리프트(Tidelift) 공동 창업자 루이 빌라는 "점점 더 많은 개인 시간을 써야 한다. 개발자가 기본 프로그래밍과 대인관계 기술을 배우면 자신에게 이익이 되는 것이 분명하다. 반면, 본업에서 조달, 법률, 보안 등의 전문가에게 위임될 가능성이 높은 문제에 전문가가 되는 것이 과연 스스로 이익이 될지는 상대적으로 분명하지 않다”라고 말했다.

실제로 오픈 소스 프로젝트 관리자는 본인 프로젝트의 엔드투엔드 보안과 파일 수준 라이센싱 등에 대해 고민해야 할 일이 점점 늘어난다. 클라인의 표현대로 미칠 만큼 일이 많아지는 이유다.

리프트는 "이제 코드의 오픈 소스화 여부를 평가할 때 그 성가신 일도 가치 있게 만들어 줄 정도로 외부 관심을 끌 수 있게, 프로젝트에서 ‘이길’ 수 있을지를 오픈 소스 기여 기준으로 삼고 있다"라고 말했다. 클라인도 “나는 오픈 소스 순수주의자가 아니다. 자본주의자다”라고 말했다. 이런 생각을 하는 것은 이들만이 아니다.
 

오픈 소스의 ‘이유’

페이스북과 구글이 각각 파이토치(PyTorch)와 텐서플로 같은 오픈 소스 인공지능(AI) 소프트웨어에 기여한 것을 높이 평가할만하지만 이 기업들이 갸륵한 자선을 베푸는 마음으로 코드를 공개했다고 생각한다면 착각이다.

과거 필자는 오픈 소스를 진입 차선으로 이용하는 클라우드 업체에 지적한 바 있다. 최근에 브루킹스 연구소(Brookings Institution) 연구원 알렉스 엥글러는 이 주제를 다루면서 “구글과 페이스북이 각각 텐서플로와 파이토치라는 자체 딥 러닝 툴을 오픈 소스화한 것은 이미 굳건한 양사의 위치를 한층 더 견고하게 하는 효과를 낼 수도 있다”라고 말했다.

실제로 코드 공개 후 5년이 흐른 지금 구글과 페이스북은 여전히 개발 작업의 대부분을 하고 있다(필자는 구글과 페이스북을 비난하려는 것이 아니다. AWS와 파이어크래커 및 CDK 프로젝트, 그리고 마이크로소프트와 VS코드도 상황은 마찬가지이다).

그것이 왜 중요할까? 오픈 소스가 구글과 페이스북이 활용할 핵심적인 전략적 수단을 제공하기 때문이다. 엥글러는 “구글과 페이스북은 자사의 툴을 업계와 학계에서 가장 널리 쓰이는 툴로 만들었고 이 툴로 진행된 공공 연구에서 도움을 받고 있다. 더 나아가, 자사 시스템에서 훈련된 데이터 과학자와 머신 러닝 엔지니어를 양성하는 효과도 있다. AI 인재 영입 경쟁이 치열한 상황에서 텐서플로와 파이토치는 구글과 페이스북이 첨단 AI 문제 해결에 노력 중인 대표적인 기업이라는 평판을 강화하는 데도 도움이 된다"라고 말했다.

구글과 페이스북의 그런 행보가 나쁘다는 말이 아니다. 단지 기업은 자선사업으로 코드에 기여하는 것이 아니라는 것이다. 리소스는 유한하다. 한 기업이 돈과 인력을 오픈 소스에 기여한다면 다 계산기를 두드려 보고 투자 이익을 거둘 것으로 판단했기 때문이다.
 

자본주의적 오픈 소스의 몇몇 사례

마이크로소프트의 사례를 보자. 마이크로소프트는 깃허브(GitHub)에 적극적으로 기여한다. 직원의 총 수를 기준으로 하면 측정했을 때 세계 최대의 오픈 소스 기여자이다(물론 이 측정 방법이 완벽한 것은 아니기 때문에 다른 측정 방법이 있다면 기꺼이 들어볼 생각이다).

마이크로소프트는 왜 오픈 소스에 기여할까? 몇 년 전 필자는 많은 경우에 오픈 소스는 약자가 강자를 이기기 위한 것이라고 주장했다. 마이크로소프트가 딱 그 경우다. 데스크톱과 기업 데이터센터 분야에서는 강자인 반면 클라우드 분야에서는 존재감이 미미했다. 마이크로소프트는 개발자의 사랑과 클라우드 테이블에서의 한자리를 얻기 위해 오픈소스 '왕따'에서 오픈소스 '영웅'으로 탈바꿈했다. 오랜 세월이 걸리기는 했지만 마이크로소프트 애저(Azure)의 시장 점유율이 높아지는 결실을 보고 있다.

구글의 사례도 보자. 구글 역시 쿠버네티스(멀티클라우드 전쟁에서의 선제 기습 사격으로 구글의 주요 경쟁력으로 자리 잡았다) 또는 안드로이드(애플이 스마트폰 시장을 완전히 장악하지 못하게 저지했다)와 같은 세간의 주목을 받는 프로젝트 이후에 오픈 소스 기업과 빠르게 제휴를 맺고 있다.

이런 행보는 구글 오픈 소스 책임자 크리스 디보나가 지난 2019년에 말한 맥락으로 이해해야 한다. ‘뭔가 너그러운 마법 같은 계약’ 때문이 아니라 ‘고객이 원하는 것을 제공’하는 수단이었다. 경쟁자인 AWS에 맞서 구글 클라우드를 효과적으로 자리 잡게 하는 방법이었다는 것이다.

AWS는 어떨까? 사실 AWS는 자체 코드를 오픈소스화할 필요성이 상대적으로 적다. 이미 클라우드 시장 선두 주자여서 경쟁자의 추격에 잠재적으로 도움이 될 만한 내부 자산을 공개할 이유가 없다. 추격을 감수할 만큼의 전략적 가치가 있지 않은 한 회사 내부 승인을 받지 못할 공산이 크다.

파이어크래커 오픈 소스화도 이런 관점에서 읽을 수 있다. 람다(Lambda)와 같은 AWS 서버리스 제품을 작동시키는 새로운 종류의 가상화 기술인 파이어크래커가 발표됐을 때 AWS는 “고객의 서버리스 채택이 늘면서 우리의 기존 가상화 기술이 이벤트 중심적이고 때때로 단기적인 워크로드의 특성에 최적화되지 않았다는 것을 깨달았다. 서버리스 컴퓨팅에 맞게 설계된 새로운 가상화 기술을 구축할 필요성을 느꼈다”라고 설명했다.

필자는 파이어크래커를 공개한 팀 소속이 아니었으므로, 파이어크래커 개발 이유에 대한 내부 사정은 전혀 알지 못한다. 그러나 발표 내용으로 미루어볼 때 AWS는 파이어크래커가 늘면 서버리스 채택도 늘고 이를 통해 그 시장에서 AWS 우위도 늘어나기를 바라고 있음을 알 수 있다. 사악한 의도라고 비난해야 할까? 절대 그렇지 않다. 리프트나 마이크로소프트, 구글 등 다른 모든 기업과 마찬가지로 AWS도 설득력 있는 사업적인 이유가 있지 않은 한 오픈 소스화는 이루어지지 않는다.

어쩌면 필자 친구의 말마따나 AWS는 주요 플래그십 제품의 오픈소스화가 꼭 필요한지도 모른다. 그러나 혹시 AWS가 그렇게 한다면 그것은 트위터의 평범한 사람들 또는 필자 같은 칼럼리스트로부터 더 좋은 평판을 받고 싶어서가 아니다. 구글 등이 그랬던 것처럼 더 많은 기업이 자사 제품을 사용하도록 하기 위해서일 것이다. 오픈 소스 사업은 그렇게 돌아간다. editor@itworld.co.kr


X