소프트웨어 개발에는 독특한 문화가 있습니다.
바로 서로의 작업물인 코드를 공유하고, 보완점을 찾아주고 발전시키는 문화입니다.
프로그래밍을 하다보면 라이브러리에 대해서 한번은 다 들어볼것 입니다.
말그대로, 도시실에 있는 책을 집어 읽듯이 다른 사람이 만들어 놓은 코드를 받아서 사용하는 것입니다.
그렇기 때문에, 개발자들은 복잡한 소프트웨어의 개발을 밑바닥에서 부터 시작할 필요가 없는 것입니다.
그뿐만 아니라, 개발자 커뮤니티인 "Stack Overflow"에서는 하루에도 수만개의 질문들이 올라오고, 그 질문들에 대한 답변들도 수만개가 달리고 있습니다. (물론 초보적인 질문의 경우, 어느정도의 로스팅은 감당하셔야 합니다 ...)
이처럼 개발자들의 세계에서는 서로의 작업물을 공유하고 발전시키는 문화가 존재합니다.
그리고 그 공유 문화의 중심에는 "오픈소스"가 있습니다.
아래의 순서대로 오픈소스에 대해 알아보도록 하겠습니다:
-오픈소스란?
-오픈소스의 역사와 시작
-오픈소스의 성공
-무료인 오픈소스로 돈을 버는 방법은?
-오픈소스의 문제점
오픈소스란? (Open source software)
오픈소스 소프트웨어란, 말그대로 무상으로 모든 소스 코드가 공개되어 있는 소프트웨어 입니다.
그 뜻인 즉슨, 누구든간에 마음대로 공개된 소스코드를 변경하여 코드를 업데이트 할 수 있다는 뜻입니다.
그렇기 때문에, 다수의 개발자들이 하나의 소프트웨어를 공동으로 개발하여 더 나은 소프트웨어를 단시간에 개발 할 수 있는 장점이 있습니다. 이와같은 공개 참여적인 문화는 소프트웨어 시장의 발전을 일으켰으며, 현재도 일으키고 있는 중입니다.
이 독특한 문화는 어디서부터 시작되었을까요?
오픈소스의 역사와 시작
하드웨어를 중심으로 IT산업이 이루어져있던 60년대와 70년대에 소프트웨어는 하드웨어와 함께 무료로 탑재되어 있었습니다.
당시에 소프트웨어는 무료라는 개념이 강했으며, 소프트웨어는 코드가 공개되어있었습니다.
소프트웨어를 공동으로 개발하고자 하는 목적으로 코드가 공개되어 있던것은 아니었으며, 버그는 잡고자 하는 목적으로 공개되어 있었습니다.
실제로 코드 변경은 대학과 같은 기관에서만 이루어졌습니다.
현재와 같은 형태의 오픈소스의 시작은 MIT의 고장난 프린터로 인하여 시작됩니다.
MIT의 엔지니어로 재직하던 Richard Stallman은 프린터의 코드를 수정하여, 프린터가 고장날 때마다 사용자들에게 "프린터를 고치시오"라는 메시지를 가게 했습니다.
얼마지나지 않아, MIT는 프린터를 새로 교체하였고, 이전과 같이 코드를 손보려던 Richard는 새로운 프린터의 소스코드가 접근 불가능하다는 사실을 알게됩니다. 그 사실에 화난 Richard는 MIT를 나와 1983년, 모두에게 열려있는 운영체제인 GNU 운영체제를 개발하게 됩니다.
이 GNU 운영체제가 현재와 같은 오픈소스 소프트웨어의 시작이되었습니다.
수년이 지나, 90년대에 소프트웨어 붐이 일어나기 시작합니다.
자연스레 소프트웨어 개발은 영리적인 성향을 띄게 됩니다. 마이크로소프트와 같은 기업은 소프트웨어의 소스코드를 하나의 지적 재산으로 보았으며, 소스코드를 철저히 지키기 시작합니다.
그렇기 때문에, 소프트웨어 개발은 소스코드에 접근 권한이 있는 몇몇의 개발자들을 중심으로하여 이루어졌으며, 효율적인 개발이 불가능하였습니다.
그러던중, 1991년 Linus Torvalds라는 한 개발자의 의해 Linux라는 운영체제가 오픈소스로 배포됩니다.
Linus는 LInux의 터미널을 오픈소스로 공개하여, 누구나 코드를 기여해 개발에 참여할 수 있게 하였습니다.
기여자(Contributor)의 코드가 받아들여지게되면, 다음으로 출시되는 버전에 그 개발자의 이름이 등재되었습니다.
그렇게 리눅스는 시간이 갈 수록 더욱 발전하게되었으며,
현재는 전세계의 모든 슈퍼컴퓨터(500대)가 Linux위에서 돌아가며,
전세계 스마트폰의 75%가 Linux를 기반으로 운영되고 있으며,
전세계에서 가장 큰 서버의 96%가 Linux 기반으로 운영됩니다.
매시간 마다 9번씩 Linux는 업데이트 되고 있으며,
매일 10,000줄이 넘는 코드가 Linux에 기여되고 있습니다.
Linux의 성공은 오픈소스 소프트웨어가 상업적으로 개발된 소프트웨어를 뛰어넘을 수 있다는 사실을 증명했습니다.
오픈소스의 성공
현재는 페이스북, 구글의 안드로이드 OS 심지어 골드만 삭스의 데이터 모델링 프로그램도 오픈소스로 대중에게 공개되어 있습니다.
오픈소스의 성공은 구글이 모바일 디바이스에 안도로이드 OS를 배포하며 시작되었습니다. (안드로이드 OS는 리눅스 기반으로 개발됨)
현재는 25억개가 넘는 디바이스가 안드로이드 OS에 의존하고 있습니다.
요즘 만들어지는 자동차에는 F-15기 보다도 많은 양의 소프트웨어 코드가 들어간다고 합니다.
하나의 기업에서 작성하기에는 너무 많은 양의 코드들이 제품에 들어가고 있습니다.
자연스럽게, 기업들은 본인들의 플랫폼과 시스템을 개발하기 위하여 자연스럽게 오픈소스에 의존하게 되었습니다. 이는 플랫폼의 보수유지도 오픈소스에 의존함을 의미하게 됩니다.
현재 Fortune 500의 기업들중 99%가 넘는 기업들이 오픈소스를 활용하고 있습니다.
오픈소스의 가장 큰 장점중 하나는 바로 많은 양의 코딩 없이, 여러 오픈소스 코드를 조합하여 복잡한 소프트웨어를 개발할 수 있다는 사실입니다.
2008년 오픈소스 코드들의 Repository (저장소)인 Git Hub가 시작됨에 따라, 개발자들은 Git Hub에서 필요한 오픈소스 코드들을 가져다가 사용할 수 있게 되었습니다. 그 뿐만 아니라, 개발자들은 기존에 존재하던 오픈소스 코드들을 업데이터 할 수도 있게 되었습니다.
현재 존재하는 거의 모든 오픈소스 프로젝트들은 Git Hub에 등재되어 있습니다.
현재 Git Hub에는 1억 4천만개의 오픈소스 프로젝트들이 등재되어 있으며 그중 5천만개의 프로젝트는 2018년에 추가되었습니다.
2018년 마이크로소프트는 GitHub를 약 $7.5B(약 8.8조원)에 인수하며, 오픈소스의 중요성에 대해 다시 한번 강조하였습니다.
현재는 Intel, Google, Facebook, Amazon, Microsoft등의 기업들이 기업차원에서 오픈소스 프로젝트들에 기여를하고 있습니다.
구글은 2018년에 2만 8천개 이상의 오픈소스 프로젝트에 기여를 하였습니다.
구글같은 테크기업들만 오픈소스에 뛰어들고 있는 것은 아닙니다. 석유 업체인 ExxonMobil은 개발자 툴킷을 오픈소스로 개발하였으며, 세계적 유통 업체인 Walmart도 클라우드 관리 플랫폼을 오픈소스화 하였으며, 투자은행은 Goldman Sachs도 데이터 모델링 프로그램을 오픈소스로 개발하였습니다.
이제는 소프트웨어의 개발 프로세스는 오픈소스로 진행되는것이 일반적인것이 되었습니다.
무료인 오픈소스로 돈을 버는 방법은?
기업에서 무료로 오픈소스 소프트웨어를 배포한다면, 수익은 과연 어떻게 만드는걸까요?
정답은 유지보수 서비스, 유료버전 배포에 있습니다.
1993년에 창립된 Red Hat이라는 회사가 이런 비즈니스 모델을 처음 개발하였는데요, Linux를 기반으로 만든 Red Hat Linux를 유지보수해주는 서비스를 통하여 수익을 창출하고 있습니다.
누구든지 Red Hat Linux를 무료로 설치할 수 있지만, 기업들이 기술지원을 필요로 하거나 더욱 강화된 보안을 원한다면, Red Hat에 일정 비용을 지불하게 됩니다.
성공적인 비즈니스 모델을 가진 Red Hat은 IBM에 의해 2019년에 $34B(약 39조원)에 인수되게 됩니다.
이는 소프트웨어 역사상 가장 큰 인수였던것으로 유명합니다.
2000년대 들어서, Red Hat의 비즈니스 모델을 토대로한 소프트웨어 기업들이 더욱 많이 출시됩니다.
데이터베이스 프로그램을 제공하는 Mongo DB, 그리고 integration 플랫폼인 Mulesoft는 기본 기능들을 무료로 제공하되 추가 기능들은 유로로 제공하는 "Open-core 비즈니스 모델로 수익을 창출합니다.
Mongo DB는 현재 상장되어있으며 현재, $7.29B(약 8.5조원)가량의 시가총액을 보유하고 있습니다.
Mulesoft의 경우, 2018년 Salesforce에 의해 $6.5B(약 약 7.6조원)에 인수되게 됩니다.
이처럼, 오픈소스에는 큰 가능성이 있는것은 분명히 보여집니다.
하지만 개인 Contributor에 대한 보상체계는 아직 없는것이 현실입니다. 실제로 대부분의 오픈소스 프로젝트들은 Contributor들의 자발적인 봉사로 이루어지고 있습니다. 이러한 독특한 점이 오픈소스의 단점으로 적용하고 있는 부분이기도 합니다.
오픈소스의 문제점
바로 위에서 말씀드렸다시피, 오픈소스 프로젝트들은 Contributor들의 자발적인 참여로 이루어지고 있습니다. 실제로, 어떤 오픈소스 프로젝트들은 너무 성공적이어서, 수십개의 기업들에서 차용하기도 합니다. 이뜻은, 우리 생활에 큰 영향을 끼치는 소프트웨어가 목적을 알 수 없는 누군가에 의해 만들어질 수도있다는 것을 의미하기도 합니다.
실제 오픈소스의 취약점은 2014년 Open SSL에서 드러났습니다. Open SSL(Secure Socket Layer) 은 웹 브라우저 서버간의 통신을 암호화하는 오픈소스 라이브러리입니다.
2014년 Open SSL에서 Heartbleed라는 버그가 발견되게 됩니다. 이로 인해, 수십개의 유명 웹 서비스들은 고객 정보를 유출하게 됩니다. 2014년 당시 안전하다고 인증받은 웹서버들중 17%가 이 버그에 취약한것으로 밝혀졌습니다.
놀라운점은 전세계에서 널리 쓰이는 이 OpenSSL은 아주 적은 수의 개발자들에 의해 유지가 된다는 점이었습니다.
그들은 아주 적은 양의 기부금으로 Open SSL을 운영하고 있었습니다.
차후에, Red Hat에서 추가 기부를 하여 Open SSL은 현재까지도 유지되고 있지만, 이 사건으로 인하여 오픈소스가 안전하지만은 않다는 사실이 밝혀지게 되었습니다.
앞으로도 오픈소스의 Contributor들의 작업에 대한 보상체계가 이루어지지 않는다면, Heartbleed와 같은 사태는 계속 일어날것입니다.
다행히, Git Hub에서 위의 문제에 대해 해결하고자, 2019년 Sponsor프로젝트를 시작하게 됩니다. 이는 오픈소스에 기여하는 Contributor들에게 기부를 할 수 있게 만드는 프로젝트인데, 앞으로의 행보는 더욱 더 지켜봐야할 것같습니다.
위에서 제시한대로, Contributor의 보상체계가 강화된다면, 오픈소스는 제2의 성장기를 맞을것으로 보여집니다.
어디까지나 오픈소스 프로젝트는 무료 봉사에 의지할수는 없을것입니다. 그리고 노동에 대한 댓가는 당연시 되어야 할 필요가 있습니다.
오픈소스는 협업과 지식공유 (Knowledge Sharing)가 더이상 Buzzword가 아니라는것을 증명하였습니다.
오픈소스를 통하여 공유의 가치를 다시 한번 느끼며, 결국엔 공유가 중요하다는 생각과 함께 글을 마무리합니다.
결국엔 기록과 공유.
'Tech, Tech, Tech > Tech 산업 이야기' 카테고리의 다른 글
가트너 선정, 2020년 기술 전략 트렌드 (Part 2. 스마트 공간) (0) | 2019.12.18 |
---|---|
가트너 선정, 2020년 기술 전략 트렌드 (Part 1. 인간중심의 기술들) (0) | 2019.12.17 |
배달의 민족, 독일 기업에 4.8조원에 인수되다 (0) | 2019.12.13 |
마이크로 모빌리티, 도심 속 E-스쿠터 열풍의 민 낯 (0) | 2019.12.11 |
We Work의 폭발적인 성장과 몰락 (9개월만에 기업 가치의 80% 증발) (0) | 2019.12.11 |
댓글