스티브 잡스와 애플을 공동 창업한 것으로 유명한 스티브 워즈니악이 최근 이색적인 발언으로 세간의 주목을 끌고 있다. 미국의 IT잡지 와이어드는 ‘애플이 안드로이드 폰을 만들어야 한다’는 워즈니악의 다소 충격적인 주장을 보도했다. 워즈니악의 주장은 애플에 경쟁업체의 소프트웨어를 사용해 제품을 만들라는 것으로, 마치 코카콜라에 펩시콜라를 코카콜라 병에 담아 판매하라는 말과 같다. 물론 워즈니악은 애플의 발전을 염원하는 차원에서 이러한 주장을 펼쳤을 것이다. 하지만 안드로이드 진영과의 경쟁이 치열하게 전개되고 있는 상황에서 회사 창업자의 입에서 나온 발언이라는 점에서 애플과 애플의 제품을 사랑하는 이들에게는 당황스러운 일이 아닐 수 없다.
소비자 입장에서는 이 같은 일이 현실화되는 것도 재미있을 듯하다. 애플에서 만드는 안드로이드 폰. 어쩌면 지금껏 보지 못한 새로운 스마트폰이 등장하여 사람들의 생활에 일대 혁신을 가져오지 않을까 궁금해지기 때문이다. 애플에서 안드로이드 폰을 만드는 것은 가능할까? 결론부터 얘기하자면 애플의 의지만 있다면 언제라도 가능한 일이다. 안드로이드 폰의 핵심 요소인 운영체제(OS)가 오픈소스, 다시 말해 공개 소프트웨어(open source software)이기 때문이다.
누구나 열람 가능 ‘오픈소스’
모바일 OS 개발을 꿈꿔오던 세계 최대의 검색엔진 업체 구글(Google)은 2005년 소프트웨어 개발업체 안드로이드사를 인수하였다. 이후 구글은 삼성전자를 비롯한 세계 유수의 IT기업들을 규합하여 ‘오픈 핸드셋 얼라이언스(OHA)’라는 개방형 휴대전화 동맹을 결성하였고, 이 동맹을 통해 개발한 소프트웨어 안드로이드(모바일 OS)를 2007년 오픈소스로 발표하기에 이른다. 여기서 오픈소스란 소프트웨어의 소스코드를 누구나 제한 없이 열람할 수 있도록 공개하는 것을 말한다. 또한 소스코드는 디지털기기를 작동하게 하는 설계도와 같은 것으로, 소스코드만 알면 누구나 유사한 소프트웨어를 만들 수 있고 또 이를 활용하여 스마트폰과 같은 디지털기기를 제작할 수 있다. 이러한 이유에서 소스코드는 기밀사항으로 분류되어 특별히 관리하는 것이 일반적이다.
하지만 구글은 그렇게 하지 않았다. 원하는 사람은 누구나 자유롭게 사용할 수 있도록 안드로이드의 소스코드를 만천하에 공개한 것이다. 또한 오류를 수정하고 기능을 개선하여 재배포하는 것도 구글은 허용하였다. 이러한 정책 덕분에 삼성과 LG를 비롯한 수많은 모바일 제조사들이 안드로이드를 탑재한 모바일 폰을 시장에 출시할 수 있었고, 수억 명의 소비자들은 IT가 주는 혜택을 받으며 이전과는 다른 삶을 살아가고 있다. 오늘날 안드로이드가 시장점유율 1위의 스마트폰 OS가 될 수 있었던 것도 그것이 오픈소스, 즉 개방형 소프트웨어였기에 가능한 일이었다.
오픈소스의 특징을 곰곰이 들여다보면 떠오르는 경제용어가 하나 있다. 바로 ‘공공재’이다. 공공재란 배제성과 경합성이 없는 재화나 서비스를 말한다. 즉, 돈을 내지 않아도 소비할 수 있고, 내가 소비해도 다른 사람의 소비 기회가 줄어들지 않는 것이 공공재인 것이다. 따라서 사람들은 값을 치르지 않고 공공재를 이용(무임승차자)하려는 유혹에 빠지기 쉬워 시장에서는 공공재가 과소생산되기 쉽다.
홍보·기술 혁신 위해 공개
오픈소스 소프트웨어도 마찬가지다. 오픈소스는 원하는 사람이라면 누구든 비용 지불 없이 사용할 수 있고, 한번 공개된 오픈소스는 무한정으로 다운받아 사용할 수 있다. 하지만 안드로이드의 예에서 볼 수 있듯이 오픈소스는 정부가 아닌 소프트웨어 개발자, 즉 시장이 생산하고 공급하기도 한다. 놀라운 일이 아닐 수 없다. 공공재는 무임승차하려는 사람들 때문에 시장에서 생산되기 힘든 재화이지 않은가. 그런데 개발자들이 수많은 시간과 노력, 때로는 막대한 비용을 들여 공공재를 생산하고 있으니 말이다. 그 이유는 무엇일까?
개발자들이 공들여 만든 소프트웨어를 오픈소스로 공개하는 이유는 크게 세 가지다. 첫째, 소프트웨어 개발 경력을 쌓고 자신들을 홍보하기 위해서다. 오픈소스를 개발해 경험을 쌓고 명성을 얻으면 개발자 본인이나 회사를 알릴 수 있고, 이를 통해 수익을 올리거나 좋은 일자리를 구할 수 있다. 둘째, 기술적인 측면에서 오픈소스는 타인의 지식이나 기술을 활용할 수 있어 적은 노력과 비용으로도 양질의 제품을 생산할 수 기회를 부여한다. 또한 소스코드를 공개하면 다른 개발자들의 의견을 들어 보다 높은 기술적 혁신도 이루어낼 수 있다. 일례로 오픈소스로 운영되고 있는 온라인 백과사전 ‘위키디피아’는 항목당 오류는 인쇄본 백과사전과 비슷하지만, 오류 수정에 있어 인쇄본과는 비교할 수 없을 정도의 신속함을 보여주고 있다. 인쇄본 백과사전은 다음 개정판에서야 오류 수정이 가능하지만, 위키디피아는 수시로 오류 수정이 가능하기 때문이다. 셋째, 오픈소스는 사회적 관점에서도 뛰어난 효과를 발휘한다. 오픈소스는 개발자의 지적 호기심을 충족시키고, 공공의 이익을 위한다는 자기만족과 성취감을 느끼게 하는 수단이 된다. 이러한 이유로 일부 개발자들은 오픈소스를 사회운동으로 발전시켜 사회구성원 전체에게 공평한 디지털 혜택을 제공해야 한다고 주장하고 있다.
美 유망직업 1위
이처럼 일부의 소프트웨어 개발자들은 오픈소스를 통해 IT 발전의 성과를 모든 사람들이 누릴 수 있도록 이타심을 발휘하는 한편, ‘공공재는 정부가 생산하는 것’이라는 잘못된 인식을 앞장서서 반박하고 있다. 그렇다면 일반적인 경제학적 견해로는 이해하기 힘든 특이하고 혁신적인 공공재, 오픈소스를 만들어내는 소프트웨어 개발자가 되기 위해서는 어떤 노력이 필요할까? 또한 직업적인 관점에서 소프트웨어 개발자의 미래는 어떠할까?
미국의 경제전문지 포브스는 지난해 ‘2014년 유망직업’을 발표하면서 소프트웨어 개발자를 유망직업 1위로 선정하였다. 또한 한 조사에 따르면 우리나라 대학생(남학생)들도 10년 후인 2024년에 가장 유망한 직업으로 IT 및 소프트웨어 개발을 꼽은 것으로 나타났다. 이는 디지털기기의 보편화로 소프트웨어의 중요성이 높아졌고, 애플리케이션과 같은 관련 소프트웨어의 필요성과 활용도가 커지면서 나타난 결과로 보인다. 따라서 직업으로서 소프트웨어 개발자의 미래는 상당히 밝을 것으로 전망된다. 그렇다면 소프트웨어 개발자가 되기 위해서는 필요한 능력은? 소프트웨어 개발과 관련된 직종에 종사하기 위해서는 무엇보다 소프트웨어와 장치 및 도구, 그리고 프로그래밍과 관련된 컴퓨터 언어에 대한 이해가 필수적이다.
이러한 능력은 대학의 컴퓨터공학이나 전기·전자공학·정보통신 등 학과에 진학함으로써 축적할 수 있다. 비전공자의 경우 사설 교육기관에서 훈련을 받거나 관련 자격증을 취득하면 소프트웨어 개발자로 활동할 수 있다.
■ 소브트웨어 개발자
디지털기기를 구동시키는 시스템과 시스템 상에서 구현되는 어플리케이션을 개발 등을 진행하는 사람을 말한다. 소프트웨어 개발자는 컴퓨터와 컴퓨터 언어에 대한 폭넓은 이해가 필요하며, 관련 분야에서 쌓은 경험도 중요하다.
■ 무임승차자
free-rider. 공공재는 한 사람이 소비한다고 해서 다른 사람의 소비 기회가 줄어드는 경합성이 없고, 값을 지불하지 않는 사람이 소비하지 못하도록 막는 배제성이 없는 재화나 서비스를 말한다. 따라서 사람들은 대가를 치르지 않고 공공재를 소비하고 싶어지는데, 이러한 사람들을 가리켜 무임승차자라 한다.
정원식 < KDI 전문연구원 kyonggi96@kdi.re.kr >
소비자 입장에서는 이 같은 일이 현실화되는 것도 재미있을 듯하다. 애플에서 만드는 안드로이드 폰. 어쩌면 지금껏 보지 못한 새로운 스마트폰이 등장하여 사람들의 생활에 일대 혁신을 가져오지 않을까 궁금해지기 때문이다. 애플에서 안드로이드 폰을 만드는 것은 가능할까? 결론부터 얘기하자면 애플의 의지만 있다면 언제라도 가능한 일이다. 안드로이드 폰의 핵심 요소인 운영체제(OS)가 오픈소스, 다시 말해 공개 소프트웨어(open source software)이기 때문이다.
누구나 열람 가능 ‘오픈소스’
모바일 OS 개발을 꿈꿔오던 세계 최대의 검색엔진 업체 구글(Google)은 2005년 소프트웨어 개발업체 안드로이드사를 인수하였다. 이후 구글은 삼성전자를 비롯한 세계 유수의 IT기업들을 규합하여 ‘오픈 핸드셋 얼라이언스(OHA)’라는 개방형 휴대전화 동맹을 결성하였고, 이 동맹을 통해 개발한 소프트웨어 안드로이드(모바일 OS)를 2007년 오픈소스로 발표하기에 이른다. 여기서 오픈소스란 소프트웨어의 소스코드를 누구나 제한 없이 열람할 수 있도록 공개하는 것을 말한다. 또한 소스코드는 디지털기기를 작동하게 하는 설계도와 같은 것으로, 소스코드만 알면 누구나 유사한 소프트웨어를 만들 수 있고 또 이를 활용하여 스마트폰과 같은 디지털기기를 제작할 수 있다. 이러한 이유에서 소스코드는 기밀사항으로 분류되어 특별히 관리하는 것이 일반적이다.
하지만 구글은 그렇게 하지 않았다. 원하는 사람은 누구나 자유롭게 사용할 수 있도록 안드로이드의 소스코드를 만천하에 공개한 것이다. 또한 오류를 수정하고 기능을 개선하여 재배포하는 것도 구글은 허용하였다. 이러한 정책 덕분에 삼성과 LG를 비롯한 수많은 모바일 제조사들이 안드로이드를 탑재한 모바일 폰을 시장에 출시할 수 있었고, 수억 명의 소비자들은 IT가 주는 혜택을 받으며 이전과는 다른 삶을 살아가고 있다. 오늘날 안드로이드가 시장점유율 1위의 스마트폰 OS가 될 수 있었던 것도 그것이 오픈소스, 즉 개방형 소프트웨어였기에 가능한 일이었다.
오픈소스의 특징을 곰곰이 들여다보면 떠오르는 경제용어가 하나 있다. 바로 ‘공공재’이다. 공공재란 배제성과 경합성이 없는 재화나 서비스를 말한다. 즉, 돈을 내지 않아도 소비할 수 있고, 내가 소비해도 다른 사람의 소비 기회가 줄어들지 않는 것이 공공재인 것이다. 따라서 사람들은 값을 치르지 않고 공공재를 이용(무임승차자)하려는 유혹에 빠지기 쉬워 시장에서는 공공재가 과소생산되기 쉽다.
홍보·기술 혁신 위해 공개
오픈소스 소프트웨어도 마찬가지다. 오픈소스는 원하는 사람이라면 누구든 비용 지불 없이 사용할 수 있고, 한번 공개된 오픈소스는 무한정으로 다운받아 사용할 수 있다. 하지만 안드로이드의 예에서 볼 수 있듯이 오픈소스는 정부가 아닌 소프트웨어 개발자, 즉 시장이 생산하고 공급하기도 한다. 놀라운 일이 아닐 수 없다. 공공재는 무임승차하려는 사람들 때문에 시장에서 생산되기 힘든 재화이지 않은가. 그런데 개발자들이 수많은 시간과 노력, 때로는 막대한 비용을 들여 공공재를 생산하고 있으니 말이다. 그 이유는 무엇일까?
개발자들이 공들여 만든 소프트웨어를 오픈소스로 공개하는 이유는 크게 세 가지다. 첫째, 소프트웨어 개발 경력을 쌓고 자신들을 홍보하기 위해서다. 오픈소스를 개발해 경험을 쌓고 명성을 얻으면 개발자 본인이나 회사를 알릴 수 있고, 이를 통해 수익을 올리거나 좋은 일자리를 구할 수 있다. 둘째, 기술적인 측면에서 오픈소스는 타인의 지식이나 기술을 활용할 수 있어 적은 노력과 비용으로도 양질의 제품을 생산할 수 기회를 부여한다. 또한 소스코드를 공개하면 다른 개발자들의 의견을 들어 보다 높은 기술적 혁신도 이루어낼 수 있다. 일례로 오픈소스로 운영되고 있는 온라인 백과사전 ‘위키디피아’는 항목당 오류는 인쇄본 백과사전과 비슷하지만, 오류 수정에 있어 인쇄본과는 비교할 수 없을 정도의 신속함을 보여주고 있다. 인쇄본 백과사전은 다음 개정판에서야 오류 수정이 가능하지만, 위키디피아는 수시로 오류 수정이 가능하기 때문이다. 셋째, 오픈소스는 사회적 관점에서도 뛰어난 효과를 발휘한다. 오픈소스는 개발자의 지적 호기심을 충족시키고, 공공의 이익을 위한다는 자기만족과 성취감을 느끼게 하는 수단이 된다. 이러한 이유로 일부 개발자들은 오픈소스를 사회운동으로 발전시켜 사회구성원 전체에게 공평한 디지털 혜택을 제공해야 한다고 주장하고 있다.
美 유망직업 1위
이처럼 일부의 소프트웨어 개발자들은 오픈소스를 통해 IT 발전의 성과를 모든 사람들이 누릴 수 있도록 이타심을 발휘하는 한편, ‘공공재는 정부가 생산하는 것’이라는 잘못된 인식을 앞장서서 반박하고 있다. 그렇다면 일반적인 경제학적 견해로는 이해하기 힘든 특이하고 혁신적인 공공재, 오픈소스를 만들어내는 소프트웨어 개발자가 되기 위해서는 어떤 노력이 필요할까? 또한 직업적인 관점에서 소프트웨어 개발자의 미래는 어떠할까?
미국의 경제전문지 포브스는 지난해 ‘2014년 유망직업’을 발표하면서 소프트웨어 개발자를 유망직업 1위로 선정하였다. 또한 한 조사에 따르면 우리나라 대학생(남학생)들도 10년 후인 2024년에 가장 유망한 직업으로 IT 및 소프트웨어 개발을 꼽은 것으로 나타났다. 이는 디지털기기의 보편화로 소프트웨어의 중요성이 높아졌고, 애플리케이션과 같은 관련 소프트웨어의 필요성과 활용도가 커지면서 나타난 결과로 보인다. 따라서 직업으로서 소프트웨어 개발자의 미래는 상당히 밝을 것으로 전망된다. 그렇다면 소프트웨어 개발자가 되기 위해서는 필요한 능력은? 소프트웨어 개발과 관련된 직종에 종사하기 위해서는 무엇보다 소프트웨어와 장치 및 도구, 그리고 프로그래밍과 관련된 컴퓨터 언어에 대한 이해가 필수적이다.
이러한 능력은 대학의 컴퓨터공학이나 전기·전자공학·정보통신 등 학과에 진학함으로써 축적할 수 있다. 비전공자의 경우 사설 교육기관에서 훈련을 받거나 관련 자격증을 취득하면 소프트웨어 개발자로 활동할 수 있다.
■ 소브트웨어 개발자
디지털기기를 구동시키는 시스템과 시스템 상에서 구현되는 어플리케이션을 개발 등을 진행하는 사람을 말한다. 소프트웨어 개발자는 컴퓨터와 컴퓨터 언어에 대한 폭넓은 이해가 필요하며, 관련 분야에서 쌓은 경험도 중요하다.
■ 무임승차자
free-rider. 공공재는 한 사람이 소비한다고 해서 다른 사람의 소비 기회가 줄어드는 경합성이 없고, 값을 지불하지 않는 사람이 소비하지 못하도록 막는 배제성이 없는 재화나 서비스를 말한다. 따라서 사람들은 대가를 치르지 않고 공공재를 소비하고 싶어지는데, 이러한 사람들을 가리켜 무임승차자라 한다.
정원식 < KDI 전문연구원 kyonggi96@kdi.re.kr >