오픈소스

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

오픈소스의 정의 등 오픈소스에 대한 일반적인 사항을 정리 한다.

오픈소스 정의

Open Source(공개 SW)는 저작권자가 소스코드를 공개하여 누구나 특별한 제한 없이 자유롭게 사용, 복제, 배포, 수정할 수 있는 소프트웨어 이다. 오픈소스는 자유 소프트웨어 재단(FSF, Free Software Foundation)의 자유 소프트웨어(Free Software)를 포함한 넓은 의미로 사용된다. 오픈소스는 소스를 공개한다는 측면에서 Freeware, Shareware와 구별되며, OSI(Open Source Initiative) 단체가 만들어져 오픈소스에 대한 라이선스와 가이드를 제시하고 있다.

자유 소프트웨어는 무료 소프트웨어를 의미하는 것이 아니라 소프트웨어에 대한 사용, 복제, 배포의 자유와 소스 코드에 대한 접근을 통해 학습, 수정, 개선할 수 있는 자유를 부여하는 소프트웨어 이다.

오픈소스의 역사

Foss history.png

역사 활동
1983년
  • 리차드 스톨만(Richard Matthew Stallman, RMS)이 소스 코드의 사용이 자유로운 운영 시스템을 개발하기 위해 GNU project를 시작
1985년
1989년
  • 1월 : GNU GPL 1.0 발표
1991년
  • 6월 : GNU GPL 2.0 발표
  • GNU LGPL(Library General Public License) 2.0 발표
  • Linus Torvalds가 Linux 커널을 GPL로 공개
1998년
1999년
2001년
  • 대한민국 : 11월, 공개 SW 연구 필요성 제기
2002년
  • 대한민국 : 11월, 공개 SW 육성 안 발표
2003년
  • 대한민국 : 1월, "공개 소프트웨어 활성화 정책 기본방향" 수립
  • 공개 소프트웨어 적용 시범사업
  • 공개 소프트웨어 기술지원센터 설치 및 운영
  • 공개 소프트웨어 인력 양성
  • 한중일 공개 소프트웨어 포럼 참여
  • 공개 소프트웨어 인식 개선을 위한 홍보 사업
2004년
  • 대한민국 : 공개 SW 육성 정부 시범 사업
2007년
  • 6월 29일 : GNU GPL 3.0, GNU LGPL 3.0 발표
  • 11월 : 지식경제부에서 오픈소스 SW 라이선스 가이드 발표
  • 12월 : 지식경제부에서 공개 SW 유지보수 가이드 라인 발표
2008년
  • 대한민국 : 2008년 이후 공개 SW 생산 기반 요소인 커뮤니티 활성화 추진


오픈소스의 장점

장점 설명
낮은 진입비용 오픈소스는 무료로 다운로드 및 소스 코드의 수정/재배포가 가능 하므로 초기 개발 비용이 적게 요구 된다. 일반적으로 1/2 정도의 비용이 적게 드는 것으로 알려져 있다.
빠르고 유연한 개발 오픈소스 커뮤니티는 보통 최신 기술 정보 및 문제점과 해결책을 공유하는 형태로 자유롭게 운영되기 때문에 독점 프로그램에 비해 기술 발전 속도가 빠르다.
오픈 포맷과 프로토콜
호환성
오픈소스는 주로 오픈 포맷 또는 프로토콜을 사용하기 때문에 서로 다른 소프트웨어간 상호 연동성이 보장된다. 모든 기기들이 서로 다른 네트워크을 통해 하나로 연결되는 유비쿼터스 시대에는 필수적인 요소로 볼 수 있다. 또한 오픈소스 운동의 주 원인 역시 상용 프로그램들 간의 비호환성을 해결하는 것이다.
신뢰성과 안정성 오픈소스의 개발 과정을 볼 때, 전세계에 있는 수많은 우수한 개발자들이 직접 개발과 디버깅 과정에 참여하기 때문에 In-house에서 폐쇄적으로 개발되는 독점 프로그램에 비해 비교적 안정적으로 동작한다는 평이 일반적이다. 하지만 이러한 신뢰성과 안정성은 많은 개발자들의 적극적인 참여가 있을 때에만 가능한 것이기 때문에 사용하고자 하는 오픈소스의 개발 과정을 주의깊게 살펴볼 필요가 있다.
네트워킹 지원 오픈소스가 확산된 가장 큰 이유가 다양하고 강력한 네트워킹 기능 지원이라 해도 과언이 아닐 것이다. 대표적으로 아파치는 전세계 웹 서비스의 절반 이상을 차지하고 있을 정도이다. 또한 오픈소스 네트워킹 솔루션은 대부분 상용 프로그램과 호환되기 때문에 상품화에도 아주 잘 활용될 수 있을 것이다.

오픈소스의 단점

단점 설명
애플리케이션의 부족 대부분의 사용자들은 윈도우즈 기반의 GUI(Graphical User Interface)를 갖고 있는 Application에 익숙해 있지만, 이에 버금가는 리눅스 기반의 Application이 많이 부족한 것이 현실이다. 또한 리눅스 기반으로 개발된 많은 Application들은 윈도우즈 기반 Application들과 호환되지않는 문제점도 있다.
빈약한 문서 상용 프로그램에 비해 오픈소스는 체계적인 문서를 갖고 있지 못한 단점이 있다. 이는 경우에 따라서는 개발과정의 지연을 초래할 수도 있기 때문에 활용하고자 하는 오픈소스가 얼마만큼 문서화가 잘 되었는지도 살펴보아야 한다.
불확실한 개발 로드맵 오픈소스는 영리를 목적으로 하는 회사에서 개발되는 것이 아니라, 자발적 참여를 바탕으로 웹상에서 자유롭게 개발되는 것이 특징이다. 그렇기 때문에 독점 프로그램에서 볼 수 있는 로드맵을 기대하기 힘든 면이 있다. 오픈소스의 이러한 단점은 오픈소스를 활용하는 개발 과제의 로드맵에 까지 영향을 미칠 수 있기 때문에 활용하고자 하는 오픈소스의 향후 개발 계획이 얼마나 체계적으로 세워져 있는지도 고려해야 한다.
지적재산권 기업이 보유한 특허 및 소스코드가 오픈소스에 포함되는 경우 대부분의 오픈소스 라이센스에서는 일반적으로 특허에 대한 사용료 없이 배포할 것을 요구하고 있다. 따라서 특허에 대한 사용료 없이 배포하기를 원치 않을 경우에는 해당 오픈소스를 사용할 수가 없으며, 또한 사용 후 로얄티를 주장하게 되면 해당 오픈소스에 대한 사용권한이 박탈되는 경우가 일반적이다. 따라서 오픈소스를 활용하여 특허를 구현하거나 기존 소스코드를 포함하고자 할 경우, 반드시 특허 사용료에 대한 입장을 명확히 하여야 할 것이다.

오픈소스의 비용/이익/위험

오픈소스와 관련된 비용/이익/위험은 생각하기에 따라 새로운 비즈니스 기회가 된다.

  • 오픈소스의 비용
비용 설명
License fees 오픈소스는 소스가 공개되는 있는 소프트웨어로, 일반적으로 오픈소스는 무료라는 편견을 가지고 있다. 그러나 오픈소스는 엄연히 라이선스를 가지고 있는 소프트웨어로 라이선스 비용이 발생할 수 있다.
Maintenance 업데이트 및 업그레이드 비용
Support 기술지원 비용
Training 오픈소스에 대한 개발자, 관리자 교육 시간
Planning 분석, 자산 관리, 개발 비용
Management 유지보수(관리, 모니터링, 제어) 비용
IT overhead 설치, 사용, 관리 비용
Security 보안 관련 패치의 설치/개발 비용
Migration and integration 기업이 보유하고 있는 소프트웨어를 오픈소스로 전환할 경우에는 Migration과 Integration에 비용이 발생한다. 특히 OS와 같은 Infra성 오픈소스가 변경될 경우 해당 오픈소스와 관련된 H/W, S/W 등을 고려 하여야 한다. HP의 경우 한때 Migration 관련 무료 컨설팅을 통해 새로운 비즈니스 기회(H/W 판매, 인력 투입 등)를 창출 하기도 했었다.
Hardware/maintenance H/W 유지보수 비용


  • 오픈소스의 이익
이익 설명
Architectural efficiency 필요한 IT 기능을 적시에 사용 가능
Business flexibility 필요할 때 필요한 기능을 가져쓸 수 있음
Vendor leverage 벤더에 대한 영향력 강화
Higher quality IT 아키텍처와 어플리케이션에 대한 결함율 감소
Fast problem solving 커뮤니티를 통한 빠른 문제 해결
Improved IT skills IT 담당자의 역량 강화


  • 오픈소스의 위험
위험 설명
Hidden costs SW 라이프사이클 비용 발생 가능
Lack of support 오픈소스에 대한 지원의 보장이 부족
Missing features 필요한 기능의 부재
Lack of operational management 오픈소스 관리 도구의 부재, 유명한 오픈소스의 경우 관리 도구 또는 모니터링 도구를 판매하는 업체도 있다.
Unpredictable releases 고객의 요구에 부합하지 않는 릴리스 계획
Security 오픈소스의 경우 커뮤니티에서 제공하는 최신 보안 patch의 반영을 소홀히 할 경우 보안 위험이 발생할 수 있다.
IP liabilities 개발자의 라이센스 위반의 위험성 내포

오픈소스에 대한 오해

  • 소스를 공개한 소프트웨어가 오픈소스 이다.
  • 오픈소스는 공짜이므로 마음대로 가져다 써도 된다.
  • 우리는 오픈소스를 전혀 사용하지 않는다.
  • 오픈소스는 관리가 필요 없고 설치만 하여 사용하면 된다.
  • 오픈소스는 성숙도가 낮고 보안 위험이 있다.
  • 오픈소스는 돈이 안돼 비즈니스에 적합 하지 않다.

참고 문헌