공개소프트웨어

  • 공개소프트웨어
HOME > 공개소프트웨어
공개소프트웨어| 오픈소스 소프트웨어에 대한 기본 지식들을 제공합니다.
 
공개소프트웨어 도입유형 (직접선택)
조회 : 1,609  


공개소프트웨어 도입유형 (직접선택) 

 글쓴이 : 리눅스포탈(www.superuser.co.kr) 박성수(papa@superuser.co.kr)

  공개소프트웨어를 도입하는 방법에는 크게 3가지 방법이 있다. 첫번째는 기관이 직접 선택하여 도입하는 직접선택 도입방법이 그것이고 두번째는 외부 또는 업체의 추천에 의한 간접공급 도입방법이 그것이며 세번째는 기관내부에서 공개소프트웨어를 개발 및 수정하는 내부개발 도입방법이 그것이다.

  물론 이외에도 다양한 방법들이 존재할 수 있지만 공개소프트웨어를 도입하는 거의 모든 경우는 대부분 이 세가지 범주내에 속하기 때문에 이번 절에서는 이들 3가지 방법에 대해서 설명하고 있으며 각각에 대한 의미부터 간략히 살펴보면 다음과 같다.

  직접선택("내부조달"이라고도 함)이란 공개소프트웨어의 직접적인 다운로드에 의한 도입방법으로 특정 공개소프트웨어를 직접 다운로드 하여 사용목적에 맞게 활용하는 것을 의미한다. 물론 다운로드 행위자체가 기관 내부의 직원에 의해 수행되며 기관 내부에서 공개소프트웨어 관련 정보가 어느 정도 확보되어 있어야 가능한 방법이다. 이 방법은 비용발생이 거의 없다는 장점이 있는 반면 위험부담이 존재한다는 단점이 있다.

  간접공급("외부조달"이라고도 함)이란 공개소프트웨어를 외부업체로 부터 공급받는 것을 의미한다. 즉, 외부 업체를 선택하여 선택한 업체에서 특정 공개소프트웨어를 공급하는 것으로 기술지원과 서비스 비용이 발생한다. 비용이 발생하는 대신 직접선택 방법보다는 위험부담을 줄일 수 있는 다소 안전한 방법이라고 할 수 있다.

  직접개발이란 기관내부에서 직접 개발하는 방법을 의미하며 공개되어 있는 수많은 공개소프트웨어들 가운데 도입하고자 하는 용도에 가장 적합한 공개소프트웨어를 선택하고 다운로드하여 기관내부의 개발자들에 의해 수정개발하는 것을 의미한다.

  이들 3가지 도입방법들에 대한 자세한 설명을 하기에 앞서 공개소프트웨어를 도입함으로써 얻을 수 있는 기대효과와 장점들에는 어떤 것들이 있는가를 살펴보기로 하자. 다음은 공개소프트웨어를 도입함에 따른 효과와 장점들을 간단히 설명한 것이다.

  첫번째, 소프트웨어 기반의 독자성 확립이 가능하다.

  즉, 공개소프트웨어를 정부가 개발 활용함으로써 정부의 소프트웨어의 대체방안을 제시하고 소프트웨어 기반의 독자성을 확보함으로써 특정 벤더 및 제품에 종속되지 않는 독자성 확립이 가능하다.

  두번째, 국가 정보화 추진이 가능하다.

  공개소프트웨어를 활용한 국가전략 기간망을 구축함으로써 국가의 보안, 국방, 기타 국가 정보의 유출을 막을 수 있으며 문제 발생시 즉각 대응이 가능한 전략적인 요소가 필요함으로써 공개소프트웨어를 활용한 국가의 정보화를 추진할 수 있다.

  세번째, 소프트웨어의 유지관리의 지속성(영속성)을 보장 받는다.

  원공급자가 폐업하여 사라지거나 지원을 중단하더라도 공개된 소스를 보유하고 있으므로 기관은 해당코드를 새로운 공급자에게 양도함으로써 정보시스템의 유지관리의 지속성(영속성)을 보장받는다.

  네번째, 소프트웨어에 대한 라이센스 구매비용을 현저하게 낮춘다.

  독점소프트웨어는 라이센스 수수료와 함께 서비스 및 기술지원 비용을 발생시키지만 공개소프트웨어는 라이센스 수수료에 대한 비용 대신에 서비스 및 기술지원비용만을 발생시킨다. 따라서 공개소프트웨어를 도입하면 도입비용을 현저하게 낮춘다.

  다섯번째, 높은 호환성을 보장받는다.    공개소프트웨어는 다양한 형태의 소스코드를 배포하고 있으므로 상대적으로 많은 플랫폼에 이식가능하며 또한 이와 같은 플랫폼 독립성(호환성)은 수요자에게 하드웨어의 선택가능성을 넓혀준다.

  여섯번째, 패치와 업그레이드 주기 및 속도가 빠르다.

  모든 것이 공개되어 있는 공개소프트웨어는 많은 개발자들이 함께 공동작업을 하고 있으므로 보안취약성등과 같은 결함을 발견한 후 몇시간 또는 몇일내에 재빨리 패치 및 업그레이드가 이루어 진다. 따라서 보다 안전한 시스템을 운영할 수가 있다.

  일곱번째, 독점소프트웨어를 공급하는 업체로 부터의 구속을 탈피할 수 있다.

  공개소프트웨어는 동일한 제품에 대해서도 공급자가 다수업체가 될 수 있기 때문에 공급자의 불합리성에 보다 적극적으로 대처할 수 있으며 또한 독점소프트웨어에 대한 구속을 회피할 수도 있다. 즉, 독점소프트웨어의 경우에는 선택의 여지없이 사용해야만하는 불합리성이 존재할 수 있지만 공개소프트웨어는 공급업체와 제품이 다수이기 때문에 이와 같은 구속은 존재하지 않는다.

  여덟번째, 소스코드의 수정 및 확장권한을 확보할 수 있다.

  독점소프트웨어는 컴파일된 실행파일 즉, 이진파일형태로 제공되기 때문에 소스코드를 수정하거나 확장을 위한 변경작업을 할 수가 없다. 하지만 공개소프트웨어는 소스코드가 공대되어 있기 때문에 현재 시스템에 적용되어 있는 소프트웨어의 수정과 추가 확장을 위한 변경작업이 얼마든지 가능하다. 즉, 공개소프트웨어를 사용하면 수정 및 확장권한을 보장받는다.

  아홉번째, 공공부문의 정보시스템 통합이 가능하다.

  정부 및 공공부문의 정보시스템 구축시에 핵심모듈을 공개소프트웨어로 구축한다면 공공부문의 개방표준화가 용이하게 되어 정보화 예산을 절감하고 호환성 및 이식성을 확보하여 공공부문 전체의 정보시스템 통합을 촉진한다.   

 열번째, 유지보수 및 업그레이드비용을 절감한다.   

  공개소프트웨어는 소스코드에 바로 접근하여 수정할 수 있는 권한이 확보되므로 이러한 유지보수 및 업그레이드에 투여되는 예산과 필요 사업절차를 최대한 감축하여 추진할 수 있다.   

 열한번째, 소프트웨어 핵심인력 양성이 용이하다.   

  최신기술의 공개, 개발자 커뮤니티등을 통한 기술교육에 의하여 국내 소프트웨어제품의 선진제품과의 기술격차를 줄일 수 있으며, 빠른 신제품 개발등 시장에 즉시 대응이 용이하며 개발의욕 고취를 통한 양질의 핵심소프트웨어 인력양성이 가능하다.   

열두번째, 공개소프트웨어의 사용은 사용자 즉, 수요자의 권리회복에 큰 역할을 한다.   

  공개소프트웨어 활성화는 소프트웨어산업이 공급자 위주의 시장으로부터 소프트웨어 수요자(사용자, 정부) 위주의 시장으로 전환하는데 큰 역할을 한다. 그리고 수요자의 권리회복에 큰 역할을 하게 될 것이다. 즉, 소프트웨어를 구매하면서 소스코드가 아닌 실행파일만을 제공받아서 사용해야하는 것은 누가 처음부터 정해둔 것이 아니다. 독점소프트웨어 업체들이 그들의 소프트웨어를 공급하면서 독점지위를 유지하기 위하여 소스코드가 아닌 실행파일 형태로 제공하고 있다. 하지만 이것은 지극히 공급자 위주의 관점이며 소프트웨어를 구매하는 수요자의 입장에서는 소프트웨어 구매와 함께 소스코드를 요구할 수도 있다고 볼 수 있다. 단순히 소스코드만을 요구하는 것이 아니라 공급업체가 없어지거나 사라지더라도 도입한 시스템의 유지보수와 패치 및 업그레이드등을 보장받으려면 소스코드가 공개되어 있지 아니하고서는 불가능한 일이기 때문이다. 따라서 소비자들이 이러한 유지보수, 패치, 업그레이드등을 보장받으려면 독점소프트웨어로는 그 한계가 있기 때문에 공개소프트웨어를 사용하여 그 권한을 보장받을수 있는 것이다.    

  자, 이제 정부나 기관의 직접선택(내부조달)에 의한 공개소프트웨어 도입에 대하여 알아보도록 하자.   

공개소프트웨어의 직접적인 다운로드에 의한 도입은 도입기관에게 소프트웨어의 새로운 접근법을 제공한다. 누구나 예측 가능 하듯이, 특정 공개소프트웨어를 직접 다운로드 한다는 것은 독점소프트웨어를 공급업체로 부터 구매하는 것에 비한다면 그 자체로 위험을 내포하고 있다.   

  물론 다운로드를 하는 것은 기관 내부의 직원에 의해 수행될 것이다. 이 경우 다운로드하는 프로그램이 정말 깨끗하고 믿어도 좋은 소프트웨어인가를 확인하기 전까지는 다소 불안한 요소를 내포하고 있다. 즉, 다운로드하는 소프트웨어내에 트로이목마와 같은 바이러스 코드가 들어있다거나 키로거(key-logger)와 같은 악성 소프트웨어에 의한 감염을 포함한 소프트웨어가 될 수 있기 때문이다.   

  그리고 또다른 문제점은 도입을 하기 위하여 다운로드한 소프트웨어의 보상과 보증이 명확하지 않고 보장되지 않는다는 것이다. 즉, 공개소프트웨어 솔루션을 기관내부에서 직접선택하여 도입하려고하는 경우에는 소프트웨어의 보증과 보상을 보장받지 못하므로 이에 대한 위험감소 대책을 고려해야만 한다.   

  또한 공개소프트웨어를 직접선택하여 도입하는 기관들은 공개소프트웨어의 배포처에 대한 상세한 정보를 확보해야만 하며 배포사이트가 바뀌거나 또는 없어지는 위험요소 또한 고려해야만 한다.   

  이에 대한 대책으로는 공개소프트웨어를 도입하는 기관은 지역내에 기술지원이 가능한 개발업체가 하나이상 존재하는 공개소프트웨어를 선택하는 것이 현명하다. 또한 그 업체에 문의하여 지원요청에 대한 기술지원이 가능한가에 대한 답변을 확인해 두는 것도 좋다. 이와같은 대책을 마련해 둔다면 공개소프트웨어를 도입한 기관이 직접 해결하지 못하는 문제와 매우 민감한 상황에서도 도입기관의 안정성을 제공해 준다.  이러한 안전장치들은 특히 해당 공개소프트웨어가 매우 중요한 업무를 위해 도입되었을 때에 그 가치는 빛을 더욱 발할 것이다.    

  즉, 도입기관의 담당 기술직원은 대부분 매일의 주기적이고 반복적인 업무는 능히 수행할 수 있다 하더라도 기술지원업체를 미리 확인하고 점검해 두는 것은 2중 3중의 안전장치를 가지는 것이며 시스템 가용성을 더욱 높이는 것이며 이에 따른 위험요소는 더욱 감소시키는 결과를 가져올 것이다.   

  기관에서 공개소프트웨어를 도입하기에 유리한 분야들에 해당하는 소프트웨어들을 하나씩 예로 들어 보자. 즉, 다음 표는 공개소프트웨어가 주로 선택 및 채택되고 있는 용도를 정리한 것이다.

 

               
 네트워크 인프라 도메인 네임 서버 (DNS), IP 주소 할당 (DHCP), 웹 서비스, 어플리케이션 서비스, 프록시 서버, 디렉토리 패킷 쉐이핑 및 통신 최적화를 위한 소프트웨어 포함
  데이터베이서 서버 탁월한 오픈 소스 데이터베이스 서버로는 Firebird SQL (이전에는 Interbase), Ingres, MaxDB (이전에는 Adabas), MySQL PostgreSQL이 있다. 또한, 다수의 사유재산 데이터베이스 서버도 이제 오픈 소스 운영 체제에서 이용이 가능하다
 보안 시스템 방화벽, 침입 탐지 및 분석, 허니포트(honeypots), IPSEC 및 기타 가상 사설망(VPN) 시스템, 패킷 스니핑(packet-sniffing) 및 분석, 바이러스 백신 소프트웨어 및 스팸 방지 필터링 포함
인터넷 및 인트라넷 출판 웹 서버, 컨텐츠 관리 시스템 (CMS) 플랫폼 및 워크플로우 관리 도구 포함
문서 관리 자동 전자 문서 캡처 시스템, 개정 관리 시스템, 데이터 캡처 기술, 문서보관 시스템 포함
이메일 및 통신 이메일, 일반 그룹웨어 (그룹 캘린더 관리, 주소록 공유, 알리미 서비스, 공유 폴더) 및 인스턴트 메시지 교환 서버를 위한 다수의 솔루션 포함
  어플리케이션 서버 PHP, Perl, Python ZOPE 스크립트 툴, Java Java 2 Enterprise Edition (J2EE) 서버 (: JBOSS Mono), dotGNU .NET 오픈 소스 어플리케이션 서버에 기반한 광범위하게 사용되고 있는 웹 어플리케이션 서버 포함. 또한, 현재 다수의 사유재산 어플리케이션 서버가 오픈 소스 운영 체제에서 실행되고 있다
파일 및 프린트 서버 Unix NFS, Microsoft SMB/CIFS 및 Novell Netware NCP와 같은 대부분의 주요 파일 공유 프로토콜을 포함하는 툴
백업시스템 몇몇 네트워크에 부착된 백업시스템들은 주로 오픈 소스 플랫폼에 구축되어 있다
제한된 기능의 워크스테이션 기본 웹, 이메일, 터미널 액세스 그리고 통화 센터, 키오스크 및 이와 유사한 용도를 위한 사무실 생산성 관련 기능을 제공하는 고정 용도의 워크스테이션
 고성능 컴퓨팅 여기에는 다수의 마이크로프로세서 (수직 평가), 다수의 저비용 시스템 (수평 평가) 및 기타 유형의 수퍼컴퓨터에 기반한 클러스터를 장착한 장착한 단일 영상 시스템이 포함된다
 고성능 기술 워크스테이션 과학적 분석, 계량, 모델링, 3D 컴퓨터로 생성된 이미지 (CGI) 및 비디오 처리 기능과 같은 컴퓨터의 처리 기능을 강화한 어플리케이션용 멀티 프로세서, 64-비트 및 대용량 메모리 시스템

   각기관들은 공개소프트웨어가 자체 환경 및 우선순위에 따라 일정한 역할을 수행할 수 있는지의 여부를 판정해야 한다.  직접선택 방법으로 공개소프트웨어를 도입한다면 다음과 같은 도입 절차(흐름도, workflow)에 따르는 것이 좋다.

직접선택 워크플로우
1단계  기존의 공개소프트웨어 솔루션을 파악한다.
2단계  유력한(우선되는) 공개소프트웨어 솔루션을 선택한다.
3단계  솔루션의 목적에 맞는 적합성과 비용적 가치를 검토한다.
4단계  솔루션의 품질과 보안성을 분석한다.
5단계  예비 프로젝트를 수행한다.
6단계  예비 프로젝트 결과를 통하여 기본적 수준의 예측사항들을 검토한다.
7단계  공개소프트웨어 실제 프로젝트 수행에 대한 계획을 수립한다.
8단계  공개소프트웨어 실제 프로젝트를 수행한다.

 
   그리고 다음은 직접선택(내부조달) 방법으로 공개소프트웨어를 도입할 때에 체크해야 할 리스트이다. 특정 공개소프트웨어 제품이 기관의 요구조건을 충족시킬 경우 도입에 앞서 해당 기관에서 보다 상세한 검토를 수행하기로 결정하기로 하였다면 다음과 같은 체크리스트를 작성하고 평가과정을 거치도록 해야 한다.   즉, 공개소프트웨어를 내부조달 방법으로 도입할 때에는 특정 공개소프트웨어 선택을 하기 전에 도입기관이 체크(조사)해야 할 사항들은 다음과 같다.

 
직접선택 사전 체크리스트
체크항목1 기관에서 사용되는 운영체제 플랫폼에서 해당 공개소프트웨어가 실행되는가?
체크항목2 해당 공개소프트웨어가 기존의 운영체제 플랫폼에 대해 획득, 시험, 배치해야 하는 추가적인 시스템 구성요소, 라이브러리 또는 모듈을 필요로 하는가?
체크항목3 해당 공개소프트웨어의 설치 절차가 이해하기 쉽고 명확하게 정의되어 있는가?
체크항목4 도입기관이 목적에 대한 적합성 여부를 결정할 수 있도록 공개소프트웨어를 설치, 배치, 시험할 수 있는 내부 전문지식을 갖추고 있는가?
체크항목5 해당 공개소프트웨어의 설치 및 제거 절차가 명확하게 정의되어 있는가?


 
   일부 공개소프트웨어들은 유용하기는 하지만 설치가 까다로운 경우도 있기 때문이다. 그리고 일부 공개소프트웨어 패키지는 자동 삭제 유틸리티나 스크립트를 제공하지 않는다. 하지만 삭제 툴 없이 제공되는 공개소프트웨어는 일반적으로 설치된 디렉토리를 삭제하면 소프트웨어 자체가 삭제된다.  

 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1007


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수