오픈소스[ Open Source ]
1. 정의
오픈소스란 소프트웨어 등을 만들 때 해당 소프트웨어가 어떻게 만들어졌는지 알 수 있도록 일종의 프로그래밍 ‘설계지도’인 소스코드를 무료 공개, 배포하는 것.
리눅스(Linux) 운영체제가 대표적으로, 누구나 무료로 이용할 수 있는데다 공개된 코드를 기반으로 프로그램을 마음대로 변형할 수도 있다.
인터넷을 이용하는 다수의 기술자가 소프트웨어를 공동으로 개발할 경우 보다 나은 소프트 웨어를 단기간에 개발할 수 있다는 개념에서 추진됐다.
1970년대에는 대부분의 소프트웨어 소스코드가 무료로 배포되었으며 1980년대에는 프로그 래머 리차드 스톨먼(Richard Stallman)이 유닉스 개발자들을 중심으로 FSF(자유 소프트웨 어 재단 Free software Foundation)에서 ‘GNU프로젝트’를 이끌며 소프트웨어의 무료 배포 와 소스 공개를 주도했다.
1998년부터 일부에서 ‘자유 소프트웨어’라는 말 대신 ‘오픈소스 소프트웨어’라는 표현을 사 용하기 시작해 지금은 ‘오픈소스 소프트웨어’라는 말이 널리 퍼졌다. 그러나 GNU 프로젝트 는 ‘자유’라는 이념을 피력하기 위해서 ‘자유 소프트웨어’라는 용어를 사용하는 것을 좋아한 다.
오픈소스의 참여방법은 개발에만 한정되는 것이 아니라, 버그 리포팅, 문서 번역, 또는 기부 등까지 넓은 범위에서 정의된다.
+ GPL(GNU Public License)
자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이센스이다. 미국의 리처드 스톨 만(Richard Stallman)이 GNU-프로젝트로 배포된 프로그램의 라이센스로 사용하기 위해 작 성했다.
① 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다
② 컴퓨터 프로그램의 복사를 언제나 프로그램의 코드와 함께 판매 또는 무료로 배포할 수 있다
③ 컴퓨터 프로그 램의 코드를 용도에 따라 결정할 수 있다
④ 변경된 컴퓨터 프로그램 역시 프로그램의 코드 와 함께 자유로이 배포할 수 있다’라는 네 가지 조항을 명시하고 있다.
오픈 소스 운동을 주도하는 OSI(Open Source Institute)가 내린 오픈 소스의 정의
1. 자유로운 재배포 : 소프트웨어는 공짜로 배포되거나 유료로 팔릴 수 있다.
2. 소스 코드 공개 : 소스 코드는 배포되는 프로그램 안에 포함되거나 개발자들이 자유롭게 얻을 수 있도록 공개되어야 한다.
3. 소스 코드 수정 후 배포 : 수정된 프로그램을 재배포하는 것은 허용되어야 한다.
4. 저작자의 소스 코드 원형 유지 : 수정된 부분은 단지 패치로서만 배포되게 할 수 있다.
5. 개인 및 단체에 대한 차별 금지 : 어떤 대상에게도 공개가 금지되지 않는다.
6. 열정의 분야에 대한 차별 금지 : 상업적인 사용자가 배제되어서는 안 된다.
7. 라이선스의 적용 : 라이선스는 프로그램을 받는 모든 이에게 적용되어야 한다.
8. 제품 종속적 라이선스 금지 : 전체 프로그램의 일부로서만 라이선스가 될 수는 없다.
9. 다른 소프트웨어를 제한하는 라이선스 금지 : 배포되는 소프트웨어에 포함된 다른 소프 트웨어가 반드시 오픈 소스이어야 한다고 주장할 수 없다.
10. 기술적 중립 라이선스
* 이 정의에서 보다시피 오픈 소스의 엄격한 정의는 자유 소프트웨어와 유사하다.
2. 오픈소스의 장점
1. 비용절약
• 무료
• 한 두 카피가 아니라 수십 수백 카피일 경우, 엄청난 비용을 절약할 수 있다.
• 업그레이드 비용을 따졌을 경우, 더 큰 비용의 절감이 가능하다.
2. 자유로움
• 특정 OS나 특정 애플리케이션에 종속되지 않는다.
• 유료 소프트웨어라면 울며 겨자 먹기로 본 소프트웨어만 사용해야하지만, 오픈소스라면 다 른 OS, 애플리케이션으로 변경해 자유롭게 이용할 수 있다.
3. 편리함
• 소프트웨어의 설치가 편리하다.
• 필요에 따라서는 연관된 여러 소프트웨어들을 패키지로 묶어서 배포하기도 한다.
4. 호환성
•유료, 특히 MS의 경우 독자적인 파일 포맷을 고집해서 일부러 호환성을 떨어뜨려서 시장 을 독점하려는 경향이 있으나, 오픈소스는 파일 포맷도 오픈되어 있어 뛰어난 호환성을 자 랑한다.
5. 안전성
• 합법적이지 않은 방법을 통해서 설치한 소프트웨어는 해킹 프로그램의 주요 침투 경로이지 만, 오픈소스는 검증된 이미지를 배포하므로 바이러스를 걱정할 필요가 없다.
6. 편안함
• 유료 소프트웨어를 불법으로 몰래 사용한다는 마음의 부담 없이 당당하게 사용할 수 있다.
7. 검증이 가능함
• 공개되어 있는 소스에 대해 수많은 전문 지식을 가진 사람들에 의해 투명한 검증이 가능하 다.
3. 오픈소스의 단점
1. 사용에 익숙지 않음
• 사용하던 기존 유료 소프트웨어에 대한 익숙해져 있어, 새 프로그램에 적응하는 데 사용상 의 어려움이 있다.
2. 호환성의 문제
• 기존 유료 소프트웨어와의 호환성 우려된다.
3. 실현하기 어려움 오픈소스가 실현되기 어려운 이유
⑴ 언어상의 문제
• 우리나라의 개발자들이 영어에 익숙하지 않아서, 문제가 생겼을 때 질문을 하기가 쉽지 않 다.
⑵ 금전적인 문제
• 한국에서 생산자로 자처하고 싶지만 우리에게는 외국과 같이 대형 스폰서가 없다.
⑶ 폐쇄적인 한국형 오픈소스
4. 느린 속도
• 많은 사람이 사용하기 때문에 속도가 떨어진다.
4. 오픈소스 예시
리눅스[ linux ]
리누스 토발즈는 헬싱키대학에 재학중이던 시절 학교 수업중 교육용 유닉스(UNIX)인 미닉스(Minix)를 배우면서 보다나은 미닉스를 만들어보기 위해 취미삼아 운영체제를 만들기 시작했다.
그는 고가의 장비를 소유할 수 없는 처지였기에 대형 컴퓨터에서 사용하는 유닉스 소스 코 드를 수정해 개인PC에서도 사용할 수 있는 공개 운영체제(OS)로 개발하고 자신의 이름을 따서 ‘리눅스 0.01 버전’으로 명명했다. 리누스는 리눅스의 소스코드를 공개했으며, 이를 바탕으로 수만명의 프로그래머들이 다양한 응용 프로그램을 내놓아 성능이 개선되고 있다.
리눅스 운영체제가 대표적으로, 누구나 무 료로 이용할 수 있는데다 공개된 코드를 기반으로 프로그램을 마음대로 변형할 수도 있다. 리눅스는 오픈소스를 주장하는 소프트웨어 공유 운동단체인 GNU 프로젝트의 전폭적인 지 원과 전세계 프로그래머의 참여하에 전세계 서버용 OS의 27%를 점유할 만큼 급성장했다.
리눅스의 마스코트는 펭귄이다. 맛있게 식사를 마친 후 편안히 앉아있는 상태를 그린 것인 데 이 펭귄을 디자인한 사람은 Larry Ewing이라는 사람이고 펭귄 이름은 Tux라고 한다. 마이크로소프트사의 Windows에 대항하고 있는 게 리눅스를 필두로 한 OpenSource(이하 오픈소스) 진영이다. 현재 오픈소스 진영에는 Sun, 구글, 레드햇등 많은 회사들이 참여하고 있다.
오픈소스의 의미는 소스를 공개해서 함께 만들어가는 것으로 프로그램 소스가 개인의 소유권이 될 수 없다. 자신 또한 다른 사람의 소스를 이용하고 수정하며 다른 사람 또한 저 작권자를 변경 할 수 있으며 코드를 수정 할 수 있다.
일단 오픈소스에 대해 알기 위해서는 일단 무료 운영체제인 리눅스에 대해 알 필요가 있다. 리눅스의 역사는 UNIX와 GNU로부터 시작되는데 리눅스는 자유롭게 배포할 수 있는 UNIX 의 버전이며 다양한 플랫폼에서 사용할 수 있게 만들어진 운영체제라고 할 수 있겠다.
2006년 전세계 리눅스 OS 소프트 웨어 매출이 2007년 대비 23.4% 성장 2013년까지 연평균 16.9% 성장, 전세계 리눅스 OS 매출은 2012년 10달러, 2013년에는 12억 달러 subscription과 무료 (non-paid) 도입을 합친 전체 리눅스 서버 OS 시장은 연평균 1.1% (2008~2013)의 낮은 성장률 매출 선도 기업은 Red Hat 과 Novell로 두 업체의 점유율은 2006년 전세계 OS 매출의 94.5% 신규 서버 OS subscription의 경우, Ped Hat과 NOvell은 2006년 전세계 리눅스 subscription의 90% 전체 리눅스 서버 OS에서 무료 리눅스 서버 OS 도입이 차지하는 비중은 2007년 41.4%에 서 2006년 43.3%
아파치 [Apache]
1995년 처음 발표된 월드와이드웹(WWW:World Wide Web) 서버용 소프트웨어이다. NCSA(National Center for Supercomputing Applications:미국국립수퍼컴퓨터활용센터) 소속 개발자들이 개발한 NCSA httpd 1.3 웹서버를 자신들이 개량한 것으로 소스코드까지 공개되고 있다. NCSA httpd 1.3 서버에 패치(patch)파일을 제공했던 개발자들이 ‘A PAtCH server’라는 용어에서 아파치라는 이름을 따왔다.
1995년 3월 18일 공개된 아파치0.2가 NCSA httpd 1.3에 패치파일을 제공하였다. 패치파일을 꾸준히 개선해 제공하고 있으며, 최고 수준의 성능을 발휘하기 때문에 월드와이 드웹 서버용 소프트웨어로 가장 많이 사용되고 있다.
오픈소스(open source) 라이선스에 따라 무료로 배포되어 원하는 사람들이 자유롭게 사용할 수 있다. 유닉스·윈도 등을 비롯해 거의 모든 운영체제와 시스템에서 운용이 가능하다. 아파치소프트웨어재단(Apache Software Foundation)이라는 단체가 오픈소스 프로젝트의 아파치 커뮤니티를 지원하고 있다. 이 재단은 아파치 인큐베이터 프로젝트·아파치 앤트 프 로젝트 등의 아파치 프로젝트를 진행중이다.
KLDP
실제로 우리나라에서 자체적으로 개발되고 있는 오픈소스로, 오픈소스 소프트웨어 사용자와 개발자의 커뮤니티인 KLDP (http://www.kldp.org)가 있다. 생산자의 역할을 할 수 있는 곳은 KLDP가 거의 유일하다.
한국어 리눅스 문서화 프로젝트(Korean Linux Documentation Project, KLDP)는 한국인 리눅스 사용자들을 중심으로 이루어진 오픈소스, 자유소프트웨어 프로젝트 사이트, 또는 그 곳에 모인 공동체를 가리킨다. 1996년 10월 5일에 권순선의 개인 홈페이지로 출발하여 리눅스 관련 문서를 한글로 번역 해서 인터넷으로 제공하는 것을 주 활동으로 운영되었고, 현재는 문서화뿐만 아니라 커뮤니 티, 개발자 공간, 프로젝트 호스팅 등 다양한 활동들을 진행해 나가고 있다.
이름에서 알 수 있듯이 범세계적인 리눅스 공동체의 리눅스 문서화 프로젝트의 한국어판 프 로젝트로 시작되어, “리눅스 한글문서 프로젝트”, “리눅스 문서 한글화 프로젝트” 등의 이름 으로 불리었으나, 시간이 흐르면서 문서화에 한정되지 않고 오픈소스 전반으로 활동 영역을 넓히고, 한국어 사용 리눅스 사용자들의 사랑방으로 기능하고 있다.
5. 오픈소스의 성장
2009년 8월 3일, IT 시장조사기관 IDC 에 따르면 2008년 전세계 오픈소스 소프트웨어 매출은 29억 달러를 기록
연평균 22.4% 씩 성장해 오는 2013년 81억 달러에 이를 것으로 전망
오픈 소스의 긍정적인 현황에 88%의 조직인 상업적 소프트웨어의 대안으로 오픈소스 사용
나머지 12%는 향후 1년 이내에 오픈소스를 사용할 계획 있음