1. 오픈소스 소프트웨어의 사례
Linux 커널
Linux 커널은 토발즈가 최초로 개발했고, 이후 많은 사람들의 자발적 참여와 기여 덕택에 오늘날 가장 인기 있는 운영체제 중 하나가 되었다. 토발즈는 현재까지도 Linux 커널 개발의 중심에 있으며, Linux 개발 커뮤니티에는 수천 명의 개발자가 서로 협력하고 아이디어를 공유하며 Linux를 더 좋은 운영체제로 만들어가고 있다.
흔히들 레드햇 리눅스, 데비앙 리눅스, 젠투 리눅스라고 말하지만 엄밀한 의미에서 리눅스는 리눅스 커널만을 의미한다. 우리가 소위 말하는 레드햇이니 데비앙, 젠투 리눅스는 배포판을 의미하지, 리눅스 자체를 의미하지 않는다. 리눅스 커널은 리누스 토발즈를 위시한 세계 각지의 개발자에 의해 오늘도 활발하게 개발되고 있다. 이렇게 개발되는 이 커널을 리눅스라 말한다.
이러한 커널에는 말 그대로 커널만 있기 때문에 이것만 가지고는 아무것도 할 수 없다. 이 커널을 가지고 각 개발 업체들이 컴파일러(gcc, g++), 편집기(vi, emacs등), 웹브라우저(모질라 등)과 같은 응용 어플리케이션을 추가해서 만든 것이 리눅스 배포판이다. 배포판은 배포판을 만드는 업체에서 붙이는 이름에 따라 레드햇, 데비앙, 젠투 등으로 나뉘어진다. 배포판이 다르다고 해서 리눅스 커널이 달라지는 것은 아니다. 배포판이 다름으로 인해 포함되는 응용 어플리케이션의 종류는 다르지만 리눅스 커널은 버전이 다르다는 것과 벤더에 따라 약간의 수정이 가해졌다는 것 빼고는 동일하게 사용되고 있다.
리눅스의 종류는 수백 가지이지만 대표적으로 꼽을 수 있는 다섯 가지 계열이 있다.
- 데비안 계열
* 데비안 GNU/LINUX - GNU에게 공식적으로 유일하게 후원받는 배포판. 그래서 설치와 업데이트가 간단하다.
* 우분투
* Linux Mint
* KALI Linux
* CrunchBang Linux
* 하모니카 - 정부가 주도해서 만든 리눅스 민트 기반의 개방형 OS
* 기린 - 중국정부가 주도하여 만든 리눅스 그냥 딴거 쓰자...
* Damn Small Linux - 아주 조그만 리눅스. 즉 초 경량형.
* elementary OS
* Steam OS
- 레드햇 계열
* Redhat Enterprise Linux(RHEL) - 레드햇에서 개발하여 판매하는 배포판. 안전성이 높다
* Fedora - 다른 리눅스에 비해 최신 기술등의 업데이트가 자주 이루어짐
* CentOS - RHEL를 무료로 이용할 수 있는 리눅스! 때문에 많은 서버들이 사용하고 있다.
* 타이젠 - 모바일, 웨어러블 기기 등을 지원하는 다목적 운영체제.
- 슬랙웨어 계열
* Slackware Linux - 가장 유닉스 다운 리눅스
* OpenSUSE - 긴 역사와 높은 안정성으로 인기가 좋다.
* Slax - 리눅스를 간단하게 체험하고자 할때 좋다.
- 맨드리바 계열
* Open Mandriva Lx
* Mageia
* PCLinuxOS
- 안드로이드 계열
* Android - 자신의 스마트폰이 아이폰이 아니라면 지금 쓰고 있는게 안드로이드다.
* chrome OS
* Remix OS - Jide사의 PC용 안드로이드 기반 운영체제
* Polaris OS - 안드로이드 기반으로 PC와 유사한 경험을 제공하는 운영체제
Apache
Apache는 현재 가장 많이 이용되는 웹서버이다. 오늘날 Apache의 전신은 1995년까지 NCSA(National Center for Supercomputer Applications)에 의해 개발되었다. 이후 핵심 개발자인 Rob McCool를 포함 많은 개발자들이 NCSA를 떠나면서 NCSA 주도의 웹서버 개발이 정체되었다. 그래서 많은 웹마스터들은 스스로 필요한 기능을 개발하고 버그를 수정해나가야만 했다.
이런 상황에서 소수의 몇몇 웹마스터들이 이메일과 정기적인 미팅을 통해 NCSA가 개발한 웹서버를 공식적으로 유지 보수하기 시작하였다. 이들은 자신들을 Apache Group이라 명명하였고, 오늘날 Apache Software Foundation의 근간이 되었다. Apache Software Foundation(ASF)은 1999년에 설립되었고 지금은 Apache 개발을 주도하고 있다.
Apache 소프트웨어들은 현재 ASF에서 자체적으로 개발한 Apache License Version 2.0하에 배포되고 있다. Apache License에 따르면, 누구든 자유롭게 Apache 소프트웨어를 다운받아 부분 혹은 전체를 개인적 혹은 상업적 목적으로 이용할 수 있다. 또한, 재배포 시에도 원본 소스 코드 혹은 수정한 소스 코드를 반드시 포함시킬 것을 요구하지 않는다. 다만, 재배포하고자 할 경우에는 Apache License, Version 2.0을 포함시키고 ASF에 개발된 소프트웨어임을 명확히 밝힐 것을 요구한다. 아울러 ASF가 승인하지 않는 ASF 공식 마크를 임의로 사용할 수 없다.
BIND
BIND(Berkeley Internet Name Daemon)는 일반 IT유저에게는 잘 알려져 있지 않지만 가장 많이 이용되는 DNS(Domain Name System)이다. 즉 BIND는 호스트명을 IP주소로 변환시켜주는 프로그램으로 인터넷의 인프라를 구성하는 매우 중요한 요소다. BIND는 모든 Unix 시스템에서는 사실상의 표준으로 자리 잡았으며, 다른 많은 다른 시스템에 포함되어 있기 때문에 사실상 인터넷 표준이라 할 수 있을 것이다.
BIND는 1984년에 Paul Mockapetris에 의해 처음 개발되었고, 현재는 Paul Vixie가 주도하고 있는 ISC(Internet Software Consortium)에서 주도적으로 개발을 책임지고 있다. 참고로 ISC는 1993년에 UUNET의 지원을 받아 Rick Adams가 설립했으나, 지금은 SUN, HP, IBM, SGI 등 주요 소프트웨어 기업의 지원을 받고 있다.
BIND는 ISC에서 자체 개발한 라이센스를 적용하고 있으며, 개인적 혹은 상업적 용도 구별 없이 자유롭게 이용, 복제, 수정 및 재배포가 가능하다.
Mozilla Firefox
Mozilla는 Netscape가 시작한 오픈소스 브라우저 프로젝트이다. 이 프로젝트의 일원이었던 Dave Hyatt와 Blake Ross는 Netscape가 받고 있는 상업적 후원이 오히려 Mozilla 브라우저 개발에 악영향을 미친다고 믿었다. 그래서 이들은 실험적으로 Mozilla Project에서 파생한 작은 Firefox Project를 별도로 시작하여 핵심 기능을 갖춘 브라우저 개발에 착수하였다. 그런데 2003년 4월, Mozilla Foundation은 기존 Mozilla Project보다 오히려 Firefox Project에 더 전념할 계획을 밝혔다. 이후 Firefox Project는 몇 번 명칭이 바뀌는 과정을 거쳤다. 원래 Phoenix라 명명되었지만, Phoenix Technologies 사와 상표권 분쟁이 생겨 Firebird로 변경하였다. 하지만 Firebird 역시 Firebird란 무료 데이터베이스 소프트웨어 프로젝트로부터 거센 항의를 받았다. 결국 Mozilla Firebird로 다시 이름을 고쳤지만, 계속된 반발 때문에 2004년 2월 오늘날의 이름인 Mozilla Firefox로 다시 변경하였다.
Firefox는 오픈소스 소프트웨어이며 현재 MPL, GPL, LGPL 세 가지 라이센스 하에 배포되고 있다. 이 세 가지 라이센스는 모두 공통적으로 누구나 소스 코드를 보고 수정하며 재배포하는 것을 허용한다. 원래 Firefox는 MPL에 의해 배포되었다. 그런데 파생물의 상업적 이용을 제한적으로 허락하는 MPL은 GPL 혹은 LGPL과 호환될 수 없기 때문에 FSF로 부터 많은 비난을 받았다. 이 문제를 해결하기 위해 Mozilla는 Firefox를 MPL, GPL, 그리고 LGPL하에 다시 라이센싱하였다.
이후, 개발자들은 이 세 가지 라이센스 중 자신들의 목적에 가장 잘 부합하는 라이센스를 선택할 수 있게 되었다. 그런데 하나 유의할 점은, Firefox의 일부 상용 컴포넌트를 포함하고 있기 때문에, 이 상용 컴포넌트는 위에서 언급한 세 가지 라이센스의 적용을 받지 않는다. 대신, 이들은 Mozilla End User License Agreement(EULA)의 제한을 받고 있다.
[출처](http://egloos.zum.com/tactlee/v/1579303\
오픈소스 GIS 및 객체기반 수문모형을 활용한 수자원 기술 SW
전통적으로 수자원 분야에서는 특히 수문해석 분야에 있어 다양한 기관에서 개발한 오픈소스 모형들이 존재하는데, 이는 연구성과의 확산과 신기술 개발, 모형 SW개발 및 디버깅 등의 용이성 확보를 위한 커뮤니티의 형성 등에 큰 역할을 해왔다.
공간정보(GIS) 분야에서는 기존의 기능적 한계를 넘어서기 위한 목표로 오픈소스에 대한 기술적 발전이 빠르게 이루어져왔고, 이미 전 세계적으로 다양한 곳에서 성공적으로 활용되고 있으며 최근 선진국(일본, 유럽 등) 및 개도국(베트남 등)에서도 정부 및 공공기관 주도의 오픈소스 GIS 도입 추세에 따라 오픈소스 기반의 GIS Tool이 보편화되고 있다. 그 중 대표적인 사례로 EU 회원국과 관련가맹국간의 공간정보 공유와 활용을 위한 통합 공간정보인프라(SDI)인 INSPIRE를 들 수 있다. 그 외에도 프랑스의 국립지리원, 미국 국방부에서도 오픈소스 GIS가 성공적으로 활용되고 있다. 국내에서도 국토교통부, 국립공원관리공단 등을 중심으로 공공분야의 정보제공서비스를 목적으로 오픈소스 GIS가 활발히 도입되어 활용되는 추세이다.
- 오픈소스 GIS 기반의 공간정보처리 Tool 개발 (K-GIS)
K-GIS는 오픈소스 GIS를 기반으로 개발된 SW이며, 공간정보 처리를 위한 사용자 편의환경 (GUI)을 제공하고 다양한 수자원 지형공간 정보처 리 알고리즘을 구현하고자 한다. 현재까지 개발된 주요 기능은 ① 유출분석을 위한 티센망 자동생성 기능을 통하여 면적강우량을 결정하는 티센계수를 산정하고, ② 분포형 수문분석 모형의 입력자료 생성을 위해 전지구적으로 제공되는 DEM(30∼ 90m)을 기반으로 격자 형태의 하천과 유역을 생성하고 격자기반 모형의 입력양식에 맞게 ASCII 형태로 변환, ③ 미계측 유역 신규 댐적지 선정을 위한 댐 저수용량 산정 등이다.
오픈 소스 프레임워크를 활용한 검색엔진 구현
IT 기술 발전과 스마트 기기들의 사용 증가로 인해 인터넷에서는 많은 데이터가 생산되고 소비된다. 이로 인해 정보 검색 기술의 중요성이 높아지고 있지만 정보 검색 기술은 많은 배경 지식을 요구하여 접근하기 어려운 기술로 인식되고 있다. 그러나 Luene의 등장으로 인해 검색 기술에 대한 배경 지식이 부족해도 Lucene을 사용하여 검색 엔진 을 구현할 수 있는 배경을 마련되었다.
검색엔진은 웹에 존재하는 사이트나 문서들을 검색 하기 위한 프로그램이다
검색엔진은 기본적으로 웹 사이트나 문서를 크롤링하는 웹 크롤링과 크롤링한 데 이터를 인덱싱 작업을 담당하는 인덱서, 마지막으로 사 용자 검색요구에 맞게 인덱싱된 데이터와 비교해주는 검색기로 분류된다.
검색엔진을 구현하기 위해서 는 많은 배경 지식을 갖춘 전문 인력과 많은 개발 비용 이 소모되어 IT 선도 기업이나 전문기관의 소유물로 인 식되었다. 하지만 Lucene 등장으로 인해 배경 지식 없 이 소수의 개발자도 검색엔진을 구현할 수 있는 배경을 마련하였다.
IT 기술의 발전으로 인해 데이터 생산과 소비가 급격 하게 증가하고 있다. 이로 인해 많은 데이터 속에서 사 용자가 원하는 정보를 효과적으로 찾을 수 있게 해주는 검색엔진의 기술 중요성이 높아지고 있다. 검색엔진은 인터넷을 검색하는 공용 검색엔진과 내부 인트라넷을 검색하는 내부 검색엔진으로 분류된다. 기존의 검색 엔 진을 구현하기 위해서는 많은 개발 비용이 소모되어 접 근하기 어려운 기술로 인식되고 있었다. 하지만 Lucene 의 등장으로 인해 적은 개발 비용으로 검색엔진을 쉽게 구현할 수 있게 배경을 마련하였다.