소프트웨어도 맞들면 낫다? 갈수록 힘 얻는 ‘오픈소스’ 이야기

2016/04/18
공유 레이어 열기/닫기
주소가 복사되었습니다.

삼성전자 뉴스룸이 제작한 기사와 사진은 누구나 자유롭게 사용하실 수 있습니다소프트웨어도 맞들면 낫다? 갈수록 힘 얻는 ‘오픈소스’ 이야기, 임직원 칼럼_소프트한 김군 3편, 개성 넘치는 임직원 여섯 명의 매주 색다른 주제로 여러분을 찾아갑니다. 우리 삶 가까이 있는 IT와 흥미진진한 이야기를 만나보세요.오픈소스와 관련된 텍스트이미지

삼성전자 뉴스룸 독자 여러분, 안녕하세요. 지난달 ‘사물인터넷 속 소프트웨어’를 소개해드린 후 한 달여 만에 인사 드리는 ‘소프트한 김군’입니다. 제 칼럼이 어느덧 3회째를 맞게 됐네요. 오늘은 요즘 소프트웨어 세계에서 단연 그 존재감을 드러내고 있는 오픈소스 소프트웨어(open source software, 이하 ‘오픈소스’) 얘길 좀 해볼까 합니다.

 

사용만 자유? 수정, 배포도 ‘마음대로’

오픈소스는 여러분도 익히 알고 있는 ‘프리(free) 소프트웨어’를 포괄하는 개념입니다. 프리 소프트웨어는 단순히 ‘자유롭게 사용할 수 있는’ 소프트웨어를 의미하는 반면, 오픈소스는 여기에 더해 ‘(프로그램의 설계도라 할 수 있는) 소스코드까지 공개돼 누구나 자유롭게 수정, 배포할 수 있는’ 소프트웨어를 일컫죠.

오픈소스는 예의 그 유연한 특성, 그리고 글로벌 IT 기업의 잇따른 동참으로 오늘날 IT 분야에서 빼놓고 얘기하기 어려울 만큼 영향력이 커지고 있습니다. 실제로 요즘 주위를 둘러보면 운영체제(Operating System)는 말할 것도 없고 웹·데이터베이스·그래픽·클라우드·컴퓨팅 등 실로 다양한 분야에서 다양하고 유용한 오픈소스를 쉽게 접할 수 있습니다. △우분투(Ubuntu) △파이어폭스(Firefox) △마이SQL(MySQL) △버추얼박스(VirtualBox) △7집(7-zip) △리브레오피스(LibreOffice) △김프(GIMP) △오픈스택(OpenStack) 등이 대표적이죠.

 

소프트웨어 업계에도 ‘집단지성’ 열풍

전구를 둘러싸고 손을 맞잡은 사람들의 모습 형상화

“백지장도 맞들면 낫다”는 속담, 다들 한 번쯤 들어보셨을 겁니다. 소프트웨어 개발 작업은 팀 단위로 진행되는 게 일반적인데요. 실제로 소프트웨어를 협업 형태로 개발하면 여러 장점을 누릴 수 있습니다. 토론을 통해 더 올바른 방향을 선택할 수 있는 건 물론, 어려운 문제도 함께 해결할 수 있거든요. 코드 안에 숨겨진 잠재적 오류를 찾는 일도 훨씬 더 빠르고 수월해집니다.

이처럼 소프트웨어 개발에서 협업은 구성원의 능력을 하나로 모아 집단지성과 창의성을 발현시키고 그 과정에서 보다 나은 결과물을 탄생시킬 수 있는 데 기여합니다. 그리고 오픈소스는 그 장점을 극대화한 형태라고 할 수 있습니다. 하나의 소프트웨어를 개발하기 위해 적게는 몇 명, 많게는 수백·수천 명의 개발자가 협업에 참여하니까요.

목표가 같은 개발자가 많아지면 집단지성과 창의성의 위력도 그에 비례해 커집니다. 그 결과는 결국 ‘오픈소스의 빠른 업그레이드’로 나타나고요. 기여자 수가 늘수록 오픈소스의 코드는 간결해지고 오류 발생 빈도는 줄어듭니다. 더 안정적이고 유용한 소프트웨어가 완성되는 거죠. 실제로 유명 클라우드 컴퓨팅 오픈소스 중 하나인 오픈스택엔 4000명 이상의 개발자가 참여하고 있습니다. 그 덕에 안정적 코드와 빠른 성장을 바탕으로 클라우드 컴퓨팅 분야의 중심에 우뚝 설 수 있었습니다.
 

클라우드·IoT·빅데이터의 성공 비결은?

오픈소스는 소스코드 공개 형태로 해당 프로젝트에 관심 있는 개발자를 자발적으로 끌어들일 수 있습니다. 이 같은 구조 덕분에 전문 개발자는 물론, 학생과 일반인 할 것 없이 관심 있는 이라면 누구나 참여할 수 있죠. 이 같은 자율성은 오픈소스에 대한 관심이 날로 높아질 수 있는 요인 중 하나입니다.

최근엔 상용 소프트웨어 못지않게, 아니 오히려 더 안정적인 오픈소스 소프트웨어가 적잖습니다. 소스코드 공개로 다른 개발자가 놓친 오류나 누락된 부분을 누구든 수정할 수 있기 때문입니다. 인기 있는 오픈소스의 경우, 수많은 개발자의 기여를 거치며 기술력 또한 상용 소프트웨어에 크게 앞섭니다. 클라우드와 사물인터넷(IoT), 빅데이터 분야가 대표적이죠.

오픈소스는 보다 많은 이를 ‘더 나은 프로그래머’가 되도록 장려합니다. 학생은 공개된 소스코드를 연구하며 좋은 소프트웨어 만드는 법을 스스로 익힙니다. 개발자는 자신이 기여한 패치를 다른 개발자와 공유, 토론하며 점진적으로 성장해가죠. 그뿐 아닙니다. 오픈소스에선 단 한 명이라도 작업을 중단하지 않는 한 프로젝트가 계속 성장해갑니다. 그렇게 되면 사람들은 꾸준히 해당 오픈소스의 혜택을 받겠죠. 이 부분이야말로 오픈소스가 (개발 기한이 지나면 종료되는) 상용 소프트웨어와 확연히 구분되는 점이라고 하겠습니다.

 

소프트웨어별 라이선스 정책 이해 ‘필수’

LICENSE 라는 글에 손가락을 가져다 대고 있다

지금까지 오픈소스의 다양한 장점에 대해 설명해드렸는데요. 하지만 제약이 전혀 없는 건 아닙니다. 가장 큰 문제가 바로 라이선스(license)인데요. 각 오픈소스가 지향하는 라이선스 정책에 따라 일부 오픈소스는 사용 시 그에 상응하는 책임이 따르기도 합니다. 예를 들어 GPL 라이선스를 지닌 오픈소스를 활용해 소프트웨어를 개발하면 소스코드 공개의 의무가 따르므로 라이선스를 충분히 고려하는 게 중요하겠죠. 반면, BSD와 같은 라이선스는 저작권과 라이선스만 명시하면 되므로 책임 문제에 관한 한 비교적 관대한 편입니다.

 

오픈소스, 깃허브(GitHub)로 ‘맛보기’

세상은 소프트웨어로 인해 급속도로 변하고 있습니다. 또한 ‘누구에게나 열려 있고 자유롭게 참여할 수 있는’ 오픈소스는 영향력 있는 소프트웨어 개발에 참여할 수 있는, 가장 쉬운 방법입니다. 이 글을 읽고 계신 여러분도 마음만 먹으면 오픈소스 참여를 통해 ‘소프트웨어로 세상을 더 낫게 바꾸는’ 데 기여할 수 있단 얘깁니다.

github 로고

깃허브(GitHub)는 오픈소스를 쉽게 시작할 수 있는 대표적 창구입니다. 오픈소스 확산의 주역이기도 한 깃허브는 세계 최대의 오픈소스 호스팅(hosting) 업체로 수많은 코드 저장소(2016년 4월 현재 약 2600만 개)를 지원하고 있습니다. 사용자 수도 1000만 명에 이른다고 하니 그 규모가 정말 어마어마하죠?

오픈소스 참여가 처음인 분이라면 일단 동기 부여를 위해 본인이 관심을 갖고 있는 분야부터 둘러보시길 권합니다. (깃허브는 ‘검색’ 기능을 갖추고 있어 분야별 오픈소스를 손쉽게 찾을 수 있습니다.)

깃허브 메인 화면

특히 ‘쇼케이스(showcase)’ 기능은 활성화된 오픈소스를 유형별로 정리해 보여줘 유용합니다. 참여하고자 하는 오픈소스를 깃허브에서 찾아 들어가면 다운로드·사용법과 수정 코드 반영 요령, 라이선스 정책 관련 설명이 고지되는데요. 오픈소스는 프로젝트인 동시에 일종의 커뮤니티이기도 한 만큼 관련 내용을 꼼꼼히 숙지하는 게 좋습니다. 참, 꼭 코딩(coding)이 아니라도 오픈소스에 기여할 방법은 많습니다. 프로그램의 버그(bug)를 보고하거나 오타를 수정하는 일도 그중 하나죠. 실제로 꽤 많은 이가 이 같은 형태로 오픈소스 발전에 나름대로 기여하고 있습니다.

지금까지 오픈소스에 대해 이런저런 얘길 들려드렸는데요. 이번 기회에 여러분도 깃허브에서 관심 있는 오픈소스를 찾아보는 걸로 오픈소스 세계에 첫발을 내디뎌보시는 건 어떨까요? 그럼 전 더 재밌는 내용으로 다음 칼럼에서 찾아오겠습니다!

기획·연재 > 오피니언

기획·연재 > 오피니언 > 임직원 칼럼

삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>

TOP