src.hwp

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "src.hwp"

Transcription

1 제정일: 2011년 12월 21일 T T A S t a n d a r d 공개소프트웨어분류체계및프로파일 Open Source Software Categorization & Profile

2 제정일: 2011년 12월 21일 공개소프트웨어분류체계및프로파일 Open Source Software Categorization & Profile 본문서에대한저작권은 TTA 에있으며, TTA와사전협의없이이문서의전체또는일부를 상업적목적으로복제또는배포해서는안됩니다. Copyrightc Telecommunications Technology Association All Rights Reserved.

3 서 문 1. 표준의목적 본표준은공개소프트웨어를도입하고활용하는데필요한공개소프트웨어의기술분류 체계와공개소프트웨어프로파일로서, 공개소프트웨어개발및공개소프트웨어기반정 보시스템구축/ 전환시참조할수있는정보제공을목적으로한다. 2. 주요내용요약 공개소프트웨어라함은저작권이존재하지만저작권자가소스코드를공개하여누구나 자유롭게수정, 재배포할수있는자유로운소프트웨어를의미한다. 공개소스소프트웨어분류체계는다양한공개소프트웨어를쉽게검색하고활용할수 있게하며, 공개소프트웨어프로파일은공개소프트웨어도입/ 활용시실질적으로활용할 수있는공개소프트웨어정보를제공하여공개소프트웨어도입/ 활용이활성화될수있 도록한다. 3. 표준적용산업분야및산업에미치는영향 공개소프트웨어분류체계및프로파일은활용도높은공개소프트웨어를선별할수있는표준화된지침을제공함으로써, 공공및민간의정보시스템구축시공개소프트웨어활용이용이하도록지원하며, 더나아가공개소프트웨어활용으로인한정보시스템구축의자원효율성과신뢰성확보를지원한다. 4. 참조표준( 권고) 4.1. 국외표준( 권고) - 해당사항없음 4.2. 국내표준 - TTA, TTAK.KO , 범정부기술참조모델 2.0, i

4 5. 참조표준( 권고) 과의비교 5.1. 참조표준( 권고) 과의관련성 모델 공개소스소프트웨어분류체계중최상위단계인서비스영역분류는범정부기술참조 v2.0의서비스영역분류체계를따름 5.2. 참조한표준( 권고) 과본표준의비교표 TTAK.KO 비고 분류체계 o 최상위분류체계 - 서비스접근및전달 - 플랫폼및기반구조 - 요소기술 - 인터페이스및통합 - 보안 o 최상위분류체계 - 서비스접근및전달 - 컴포넌트기술 - 보안 - 인터페이스및통합 - 플랫폼및기반구조 공개소프트 웨어특성에 맞게수정 6. 지적재산권관련사항 본표준의 지적재산권확약서 제출현황은 TTA 웹사이트에서확인할수있다. 본표준을이용하는자는이용함에있어지적재산권이포함되어있을수있으므로, 확인후이용한다. 본표준과관련하여접수된확약서이외에도지적재산권이존재할수있다. 7. 시험인증관련사항 7.1. 시험인증대상여부 - 해당사항없음 7.2. 시험표준제정현황 - 해당사항없음 ii

5 8. 표준의이력정보 8.1. 표준의이력 판수 제정 개정일 제1판 제정 개정내역 제정 8.2. 주요개정사항 - 해당사항없음 iii

6 Preface 1. Purpose of Standard This standard is a technical categorization of OSS(Open Source Software) and an OSS profile which is needed to introduce and use the OSS, and its purpose is to provide information that can be referenced when OSS is developed and implementation and migration of information system based on OSS is conducted. 2. Summary of Contents OSS is the free software that can be freely modified and distributed by everyone since the copyrighter opened the source code even though its copyrighter exists. The categorization of OSS helps search and use various OSS, and OSS profile activates adoption and usage of OSS by providing practically useful OSS information when OSS is adopted and used. 3. Applicable Fields of Industry and its Effect The categorization of OSS and the profile supports easy usage of OSS when public and private information system is implemented, and moreover supports the resource efficiency and reliability possession due to OSS usage by providing a standardized guide which selects frequently used OSS. 4. Reference Standards(Recommendations) 4.1. International Standards(Recommendations) - None 4.2. Domestic Standards - TTA, TTAK.KO , Technical Reference Model 2.0, iv

7 5. Relationship to Reference Standards(Recommendations) 5.1. Relationship of Reference Standards(Recommendations) Open Source Software Categorization is based on Technical Reference Model Differences between Reference Standard(Recommendation) and this Standard TTAK.KO Remarks Category o Top Level Category - Service Access and Delivery - Platform and Infrastructure - Component Technology - Interface and Integration - Security o Top Level Category - Service Access and Delivery - Component Technology - Security - Interface and Integration - Platform and Infrastructure modified 6. Statement of Intellectual Property Rights IPRs related to the present document may have been declared to TTA. The information pertaining to these IPRs, if any, is available on the TTA Website. No guarantee can be given as to the existence of other IPRs not referenced on the TTA website. And, please make sure to check before applying the standard. 7. Statement of Testing and Certification 7.1. Object of Testing and Certification - None 7.2. Standards of Testing and Certification - None v

8 8. History of Standard 8.1. Change History Edition Issued date Contents The 1st edition Established 8.2. Revisions - None vi

9 목 차 1. 개요 공개소프트웨어(Open Source Software) 공개소프트웨어분류체계(Categorization) 와프로파일 1 2. 공개소프트웨어분류체계 서비스접근및전달(Service Access and Delivery) 컴포넌트기술(Component Technology) 보안(Security) 인터페이스및통합(Interface and Integration) 플랫폼및기반구조(Platform and Infrastructure) 공개소프트웨어프로파일 공개소프트웨어프로파일개요 공개소프트웨어프로파일세부항목 공개소프트웨어프로파일작성양식 26 vii

10 Contents 1. Introduction Open Source Software Open Source Software Categorization & Profile 1 2. Open Source Software Categorization Service Access and Delivery Component Technology Security Interface and Integration Platform and Infrastructure Open Source Software Profile Open Source Software Profile Profile Specifications Profile Template 26 viii

11 공개소프트웨어분류체계및프로파일 (Open Source Software Categorization & Profile) 1. 개요 1.1. 공개소프트웨어(Open Source Software) 소프트웨어의역사는컴퓨터의등장과함께시작되었지만, ' 오픈소스' 라는말이등장 한것은 1980 년대초반으로파악된다. 1970년대까지는대부분의소프트웨어가소스코 드와함께무료로배포되었으나, 소프트웨어자체가중요산업으로발전하고기업들간 의경쟁이심화되면서소프트웨어의소스코드역시기업의중요한비밀이되었으며, 러한추세에의해소스코드는철저한비공개로전환되게되었다. 이러한상업화및소스코드비공개에대한반발로 1983년 Free Software 운동이일어 났으며, UNIX 운영체제의무료공개버전을만들기위한 GNU(GNU is Not Unix) 프로젝트 가리차드스톨만(Richard Stallman) 에의해주도적으로시작된것이공개소프트웨어의 시발점이라할수있다. 이후, 1992 년당시대학생이었단리누즈토발즈(Linus Benedict Torvalds) 가 UNIX를 개조하여새로운커널을개발하였고, 이를 GNU 체계에결합하면서 GNU/ 리눅스가완성 되었으며, 이사건을전기로전세계에공개소프트웨어산업이활기를찾게되었다. 공개소프트웨어라함은저작권이존재하지만저작권자가소스코드를공개하여누구나 자유롭게수정, 재배포할수있는자유로운소프트웨어를의미한다. 여기서저작권은공 개소프트웨어를만든개인이나단체의소유권을지칭하며, 소스코드의공개라함은누구 라도소스코드를읽을수있고사용자가능력이있다면각종버그의수정은물론이고그 것을개작하여기능을추가할수있으며, 함을의미한다. 누구나소프트웨어개발에참여할수있어야 이 1.2. 공개소프트웨어분류체계(Categorization) 와프로파일 전세계적으로수십만종의공개소프트웨어가존재하며, 각공개소프트웨어에대한분류방 식과정보제공은다양한방법으로제공되고있다. 본표준의공개소프트웨어분류체계는크게 5 개카테고리 ( 서비스접근및전달, 컴포넌트 기술, 보안, 인터페이스및통합, 플랫폼및기반구조 ) 하위에 2레벨의세부카테고리와최하 위레벨의해당공개소프트웨어로구성되어있다. 공개소프트웨어프로파일은공개소프트웨어를선정하기위해점검해야할 로구성하여용도에부합하는최적의공개소프트웨어선정에도움을줄수있다. 22개정보항목으 1

12 2. 공개소프트웨어분류체계(Categorization) 공개소스소프트웨어분류체계는다양한공개소프트웨어를쉽게검색하고활용할수 있게하는데목적이있다. 공개소스소프트웨어분류체계는범정부기술참조모델 v2.0을 기반으로구성되었으며 3 단계로세분화된다. 서비스접근및전달 메인카테고리 접근채널 서브카테고리( 레벨1) 웹브라우저 서브카테고리( 레벨2) FireFox, Google Chrome... 카테고리에속하는공개 소프트웨어들 ( 그림 2-1) 공개소스소프트웨어분류체계정의단계 2.1. 서비스접근및전달(Service Access and Delivery) 서비스접근및전달카테고리는외부사용자또는시스템에서서비스컴포넌트를이용 하기위해사용되는공개소프트웨어들로구성된다. 서비스접근및전달카테고리는 3 개의서브카테고리로구성되어있다. 3개의서브카 테고리는최종사용자가서비스를이용하기위한접근수단을정의하는접근채널 (Access Channel), 외부사용자가내부사용자와의업무를위해사용하는협업 (Collaboration) 그리고서비스를제공하는데사용되는프로토콜을정의하는 서비스전 송 (Service Transport) 으로이루어진다. 2

13 < 표 2-1> 서비스접근및전달카테고리 서브카테고리( 레벨1) 서브카테고리( 레벨2) 데스크톱환경 (Desktop Environment) 웹브라우저 (Web Browser) 접근채널 (Access Channel) 이미지툴 (Image Tools) 원격제어 (Remote Control) 멀티미디어 (Multimedia) 메일 (Mail Client) 협업 (Collaboration) 오피스 (Office Suite) 메신저 (Instant Messenger) 재버 (Jabber Client) 웹미팅 (Web Meeting) 간이전자우편전송프로토콜 (SMTP: Simple Mail Transfer Protocol) 포스트오피스프로토콜(POP)/ 인터넷메시지접속프로토콜(IMAP) 서비스전송 (Service Transport) DNS(Domain Name System) 동적호스트설정통신규약 (DHCP: Dynamic Host Configuration Protocol) LDAP(Lightweight Directory Access Protocol) FTP(File Transfer Protocol) 3

14 접근채널(Access Channel) 접근채널카테고리는해당서비스를이용하는외부사용자나시스템이내부응용서비 스등을이용할수있도록지원하는인터페이스및소프트웨어등으로구성된다. < 표 2-2> 접근채널서브카테고리 데스크톱환경 (Desktop Environment) 웹브라우저 (Web Browser) 이미지툴 (Image Tools) 원격제어 (Remote Control) 멀티미디어 (Multimedia) 운영체계사용자들을위한그래픽유저인터페이스를지원하는소프트웨어 예 : GNOME, KDE 웹기반응용서비스를이용하기위한인터페이스를제공하는사용자응용소프트웨어 예 : amule, Firefox, Google Chrome, Google Chromium, Kmail, Konqueror 이미지에디터지원소프트웨어 예 : Blender, Gimp, Inkscape 외부에서원격접속을통해조직의컴퓨터를사용할수있게지원하는소프트웨어 예 : MultiVNC, RealVNC 음악이나영상등멀티미디어파일을편집할수있도록지원하는소프트웨어 예 : Amarok, LiVES, Mplayer, PiTiVi, Rhythmbox 협업(Collaboration) 협업카테고리는외부사용자또는내부사용자가업무협업을위해사용하는소프트웨 어들로구성된다. < 표 2-3> 협업서브카테고리 메일 (Mail Client) 오피스 (Office Suite) 이메일클라이언트소프트웨어 예 : Evolution, Sylpheed, ThunderBird 업무를위해필요한워드, 스프레드시트, 프리젠테이션등으로구성 된소프트웨어 예 : KOffice, NeoShine Office, OpenOffice, RedOffice, xmind 4

15 메신저 (Instant Messenger) 재버 (Jabber Client) 웹미팅 (Web Meeting) 협업을위한메시지송수신소프트웨어예 : Adium, GNU Board4, Kopete, nateon, Pidgin, Spicebird XML 기반의 XMPP(Extensible Messaging and Presence Protocol) 을사용하는메신저소프트웨어예 : Gajim, JWChat, Psi, Spark IM Client 웹비디오등을통한영상회의지원소프트웨어예 : 1video Conference, DimDim, OpenMeeting 서비스전송(Service Transport) 서비스전송카테고리는내 외부서비스제공을위해사용하는프로토콜소프트웨어들 로구성된다. < 표 2-4> 서비스전송서브카테고리 SMTP(Simple Mail Transfer Protocol) POP/IMAP DNS(Domain Name System) DHCP(Dynamic Host Configuration Protocol) LDAP (Lightweight Directory Access Protocol) FTP (File Transfer Protocol) 이메일을사용하기위해쓰이는프로토콜로주로메일을보내는데사용하는소프트웨어 예 : Courier-MTA, Postfix, qmail, sendmail, XMail 이메일을사용하기위해쓰이는프로토콜로주로메일을받는데사용하는소프트웨어 예 : Courier IMAP, Cyrus IMAP, Dovecot, qpopper 인터넷도메인이름들을알아내기위해사용하는소프트웨어 예 : BIND, djbdns, NSD, unbound 중앙에서조직내의 IP 주소를관리하고할당해주는소프트웨어 조직이나, 개체, 그리고인터넷이나기업내의인트라넷등네트워크상에있는파일이나장치들과같은자원등의위치를찾을수있게해주는소프트웨어 예 : Apache Directory Server, Fedora Directory Server, OpenDS, OpenLDAP 인터넷상의컴퓨터들간에파일을교환하기위한표준프로토콜로소프트웨어 예 : FileZilla, ProFTPD, publicfile, Pure-FTPd, vsftpd, WU-FTPD, zftpserver 5

16 2.2. 컴포넌트기술(Component Technology) 컴포넌트기술카테고리는컴포넌트기반및분산아키텍처, 서비스지향아키텍처전 반에걸쳐서비스컴포넌트를구축, 통합, 활용할수있도록해주는하부기반과소프트 웨어들을말한다. 컴포넌트기술카테고리는응용서비스구축에필요한기술요소로프 로그래밍(Programming), 패키지(Package), 데이터관리(Data Management), 데이터교 환(Data Exchange) 및데이터표현(Data Presentation) 으로구성되어있다. < 표 2-5> 컴포넌트기술서브카테고리 서브카테고리( 레벨1) 서브카테고리( 레벨2) 프로그래밍 (Programming) Script Execution Environment 콘텐츠관리시스템 (CMS: Content Management System) 고객관계관리CRM: Customer Relationship Management) 소셜네트워크서비스 (SNS: Social Networking Service) 전자상거래 (EC: Electronic Commerce) 기업자원관리 (ERP: Enterprise Resource Planning) Wiki 패키지 (Package) Forum/BBS Online Learning 그룹웨어 (Groupware) 포탈 (Portal) 기업콘텐츠관리 (ECM: Enterprise Content Management) 설문시스템 (Survey System) 지리정보시스템 (GIS: Geographic Information System) ILMS(Integrated Library Management System) 데이터웨어하우스 (DWH: Data WareHouse) ETL(Extract/Transform/Load) 데이터관리 (Data Management) OLAP(On-Line Analytical Processing) KDD(Knowledge Discovery and Data mining) 정보검색 (Full-Text Search) 디지털저장소 (Digital Repositories) 6

17 서브카테고리( 레벨1) 서브카테고리( 레벨2) 데이터교환 (Data Exchange) 데이터표현 (Data Presentation) 압축 (Archiver) 리포팅 (Reporting) 프로그래밍(Programming) 프로그래밍카테고리는컴포넌트를구성 생성하기위해사용되는프로그래밍소프트웨 어들로구성된다. < 표 2-6> 프로그래밍서브카테고리 스크립트 (Script) 실행환경 (Execution Environment) 다른프로그램에의해번역되거나수행되는프로그램이나명령어들로웹사이트의입력폼이나기타서비스를제공하기위해사용되는소프트웨어 예 : Jindo, Perl, PHP, Python, Ruby, Squirrel 컴퓨터를실행하는데활용되는컴파일러소프트웨어 예 : GCC, OpenJDK 패키지(Package) 패키지카테고리는특정의기능을처리하기위해사용되는다양한응용소프트웨어들 로구성된다. < 표 2-7> 패키지서브카테고리 콘텐츠관리시스템 (Content Management System) 텍스트나이미지등의디지털콘텐츠를통합적으로관리, 배포하는처리하는소프트웨어 예 : Apache Lenya, DotNetNuke, Drupal, ez publish, Geeklog, Jahia, Joomla, Mambo, MODx, Moodle, Movable Type, NetCommons, OpenCMS, Plone, Pred Shimane CMS, TextPattern, Typo3, Wordpress, Xoops, Xoops Cube Legacy 7

18 CRM (Customer Relationship Management) SNS (Social Networking Service) EC (Electronic Commerce) ERP (Enterprise Resource Planning) Wiki Forum/BBS Online Learning 그룹웨어 (Groupware) 포탈 (Portal) ECM (Enterprise Content Management) 설문시스템 (Survey System) 고객관리프로세스를자동화한소프트웨어 예 : CentricCRM, SugarCRM 온라인인맥구축을목적으로참가자가서로에게친구를소개하여, 친구관계를넓힐것을목적으로개설된커뮤니티형웹사이트소프트웨어 예 : elgg, OpenPNE 인터넷상에서물건을사고팔수있는전자상거래를지원하는소프트웨어 예 : EC-CUBE, Magento, oscommerce, PrestaShop, Zen Cart 조직의기간업무즉회계, 인사, 재무를포함한구매, 생산, 물류등을통합관리해주는소프트웨어 예 : Adempiere, Compiere ERP, ERP5, Nseer, Openbravo ERP 사용자들의협업을통해웹사이트의콘텐츠를구성할수있도록해주는소프트웨어 예 : HDWIKI, MediaWiki, Pukiwiki, TiddlyWiki, XWiki, Yukiwiki 구성원끼리메시지들이나파일들을공유하고교환하기위한목적을가지고만든게시판소프트웨어 예 : MyBB, Textcube, XE (XpressEngine) 웹을통하여미리계획된특정한방법으로학습자의지식또는능력을육성하기위한의도적인상호작용활동으로웹을기반으로한소프트웨어 예 : Atutor, Dokeos 서로떨어져있는사람들끼리함께협동하여일할수있도록해주는소프트웨어 예 : Aipo, dotproject, egroupware, eyeos, GroupOffice, Kolab Groupware, Lucane Groupware, open-xchange, OpenGroupWare, phpgroupware, PHProjekt, Thetis, Zimbra 주요정보및어플리케이션을통합하여사용자들에게조직전반의정보를제공하는단일창구소프트웨어 예 : JBoss Portal, JetSpeed 2, Liferay Portal, OpenPortal, uportal 문서, 웹콘텐츠, XML 컴포넌트, 오디오및비디오등의멀티미디어정보등을통합관리할수있도록해주는소프트웨어 예 : Alfresco, Nuxeo 설문조사관리를위한소프트웨어 예 : LimeSurvey, phpsurvey 8

19 지리정보시스템 (Geographic Information System) ILMS (Integrated Library Management System) 지구상에서발생하는공간상의위치, 속성정보를컴퓨터를통해관리하고처리및분석을통하여사용자에게원하는정보를제공하는소프트웨어 예 : OpenJump, QuantumGIS, gvsig 도서관관리를위한소프트웨어 예 : Evergreen, Koha, PMB 데이터관리(Data Management) 데이터관리카테고리는조직에서이루어지는모든데이터와정보를관리하기위해필 요한저장, 추출, 분석및검색등의소프트웨어들로구성된다. < 표 2-8> 데이터관리서브카테고리 데이터웨어하우스 (DWH : Data WareHouse) ETL (Extract/Transform/Load) 조직의각부문에서수집된모든데이터 ( 또는중요한데이터 ) 를관리하는소프트웨어 예 : Bizgres, Cloudbase, Infobright, MonetDB 데이터를추출, 변환및적재할수있게지원하는소프트웨어 예 : CloverETL, Enhydra Octopus, Pentaho Data Integration (Kettle), Talend OLAP (On-Line Analytical Processing) 사용자로하여금데이터를다른관점으로쉽게, 출하고바라볼수있게해주는소프트웨어예 : JPivot, Mondrian, OpenOLAP 또한선택적으로추 KDD (Knowledge Discovery and Data mining) 정보검색 (Full-Text Search) 디지털저장소 (Digital Repositories) 이전에는발전되지않았던데이터들간의상호관계를분석하는데이터마이닝소프트웨어 예 : MUSASHI, WEKA 인터넷에서정보를수집하고찾아주는소프트웨어 예 : Apache Lucene, Chimera Search, Hyper Estraier, Ludia, Namazu, Senna 데이터를보관되고조직적인방식으로유지되는사용되는소프트웨어 예 : adore, DSpace, FedoraCommons 9

20 데이터교환(Data Exchange) 데이터교환카테고리는소프트웨어응용프로그램내에서또는응용프로그램간에데 이터를전송하고표현하는데필요한소프트웨어로구성된다. < 표 2-9> 데이터교환서브카테고리 압축 (Archiver) 데이터압축소프트웨어 예 : peazip 데이터표현(Data Presentation) 데이터표현카테고리는화면상에사용자와시스템을연결하여표현하는데필요한소 프트웨어로구성된다. < 표 2-10> 데이터표현서브카테고리 리포팅 (Reporting) 시스템의데이터또는정보를화면에쉽게제공할수있도록지원하는소프트웨어 예 : BIRT, Jasper Report, JFreeReport, Pentaho Reporting, WinDirStat 2.3. 보안(Security) 보안카테고리는시스템의안정적인운영과서비스를제공하기위해서하드웨어, 소프 트웨어, 네트워크등의정보자산을보호하기위한소프트웨어를말한다. Security 카테고 리는정보자원을보호하기위해응용보안(Application Security), 시스템/ 네트워크보안 (System/Network Security), 암호화/ 복호화(Encryption/Decryption), 인증(Certification) 으 로구성되어있다. 10

21 < 표 2-11> 보안카테고리 서브카테고리( 레벨1) 서브카테고리( 레벨2) 응용보안 (Application Security) 시스템/ 네트워크보안 (System/Network Security) Encryption/Decryption Certification 안티바이러스 (Anti-Virus) 콘텐츠필터링 (Contents Filtering) Anti-Spam Mail 방화벽 (Firewall) 침입탐지시스템 (IDS: Intrusion Detection System) 패킷분석 (Packet Analysis) Encryption 싱글사인온 (SSO: Single Sign-On) 접근통제 (Access Control) 응용보안(Application Security) 응용보안카테고리는응용단계에서수행되는보안소프트웨어들로구성된다. < 표 2-12> 응용보안서브카테고리 안티바이러스 (Anti-Virus) 콘텐츠필터링 (Contents Filtering) Anti-Spam Mail 악성소프트웨어( 바이러스) 를찾아제거하는소프트웨어 예 : Clam AntiVirus Contents 예 : SafeSquid 분석기반의웹접근관리소프트웨어 일방적 대량으로발송되는메일을차단하는소프트웨어 예 : Maia mailguard, MailWasher Server, SpamAssassin 11

22 시스템/ 네트워크보안(System/Network Security) 시스템/ 네트워크보안카테고리는 로구성된다. 정보시스템및네트워킹을보호하는소프트웨어들 < 표 2-13> 시스템/ 네트워크보안서브카테고리 방화벽 (Firewall) 침입탐지시스템 (Intrusion Detection System) 패킷분석 (Packet Analysis) 외부로부터의침입을보호하기위한소프트웨어 예 : IPCop Firewall, iptables 정보시스템의보안을위협하는침입행위가발생할경우이를탐지, 적극대응하기위한침입탐지및차단소프트웨어 예 : prelude IDS, Snort 네트워크를통한전송되는패킷분석소프트웨어 예 : BigBrother, WireShark 암호화/ 복호화(Encryption/Decryption) 암호화/ 복호화카테고리는수학적알고리즘을활용하여자료를암/ 복호화하는소프트 웨어들로구성된다. < 표 2-14> 암호화/ 복호화서브카테고리 암호화 (Encryption) 자료를암호화하는소프트웨어 예 : GnuPG, OpenSSL 12

23 인증(Certification) 인증(Certification) 카테고리는불법적인사용자의침입을막기위해신분(identification) 등을확인하여시스템보안을유지하는소프트웨어로구성된다. < 표 2-15> 인증서브카테고리 SSO (Single Sign-On) 접근통제 (Access Control) 단한번의로그인만으로각종시스템이나인터넷서비스에접속하게해주는보안소프트웨어 예 : CAS, OpenSSO 시스템을사용할수있는자격을가지고있는사용자만시스템이나자원에접근할수있도록제어하는소프트웨어 예 : AppArmor, SELinux 2.4. 인터페이스및통합(Interface and Integration) 인터페이스및통합카테고리는이기종의시스템과정보제공자들을결합하기위한서비스의발견, 상호작용및통신기술을바탕으로상호운용성과확장성제공을위한소프트웨어로, 인터페이스와통합으로구성된다. < 표 2-16> 인터페이스및통합카테고리 서브카테고리( 레벨1) 서브카테고리( 레벨2) 인터페이스 (Interface) IP-PBX 비즈니스프로세스관리 (BPM: Business Process Management) 통합 (Integration) ESB(Enterprise Service Bus) Web Service 서비스지향아키텍처 (SOA: Service Oriented Architecture) Cooperation with Windows 13

24 인터페이스(Interface) 인터페이스카테고리는정보를전송하고교환하는데있어사전에정의된프레임워크에 기반을두고상호작용이일어나도록하는소프트웨어로구성된다. < 표 2-17> 인터페이스서브카테고리 IP-PBX 데이터네트워크를통해보이스와비디오를전달하는인터넷전화소프트웨어 예 : Asterisk, FreeSwitch 통합(Integration) 통합카테고리는독립적으로운영되고있는응용프로그램또는서비스들을연계및연결해서여러요소가상호협력하여새로운비즈니스가치를제공할수있도록, 이질적인컴퓨팅환경에서기능및콘텐츠를공유할수있게하는소프트웨어로구성된다. < 표 2-18> 통합서브카테고리 BPM (Business Process Management) ESB (Enterprise Service Bus) 웹서비스 (Web Service) SOA (Service Oriented Architecture) Cooperation with Windows 업무를프로세스화하여관리할수있게하는사업공정관리소프트웨어 예 : Intalio BPMS, JBoss jbpm, Intalio BPMS 애플리케이션간에데이터전송, 데이터의재포맷, 데이터관리기 능을제공하는소프트웨어 예 : Celtix ESB, FUSE ESB, JBoss ESB, MuleESB, Open ESB, SunOpen ESB, WSO2 ESB 네트워크상에서서로다른종류의컴퓨터들간에상호작용을하기위한소프트웨어 예 : Apache Axis2,JAX-WS, JBossWS, NuSOAP, XFire 기업의정보시스템을공유와재사용이가능하도록관리하는소프트웨어 예 : Apache ServiceMIX 네트워크환경에서협업을돕는소프트웨어 예 : Samba 14

25 2.5. 플랫폼및기반구조(Platform and Infrastructure) 플랫폼및기반구조카테고리는서비스를구축, 유지, 사용할수있도록지원하는플랫폼, 기반구조및관련장치와연관된오픈소스소프트웨어들로구성된다. 플랫폼및기반구조카테고리는 6 개의서브카테고리로구성되어있다. 6개의서브카테고리 는데이터베이스 (Database), 운영체제 (Operating system), 서비스전송서버(Service Delivery Server), 시스템관리(System Management), 소프트웨어공학 (Software Engineering), 기반구조 (Infrastructure) 로이루어진다. < 표 2-19> 플랫폼및기반구조카테고리 서브카테고리( 레벨1) 서브카테고리( 레벨2) 데이터베이스 (Database) DBMS(Database Management System) DBMS Management Tool DBMS Development Tool Linux 운영체제 (Operating system) BSD UNIX 기타 서비스전송서버 (Service Delivery Server) Web Proxy Java Platform, Enterprise Edition Server Integrated Monitoring Software Monitoring Network Monitoring 시스템관리 (System Management) Log Monitoring BackUp Log Management Configuration Management Management Tool Service Desk 15

26 서브카테고리( 레벨1) 서브카테고리( 레벨2) Ajax RIA (Rich Internet Applications) (Frame work)java Platform, Enterprise Edition O/R Mapping Ruby Framework IDE (Integrated Development Environment) Diagnostic Tools 소프트웨어공학 (Software Engineering) 기반구조 (Infrastructure) BTS (Bug Tracking System) RCS (Revision Control System) Forge Unit Test Test Coverage Integration Test Load Test Performance Analyzer Other Java Platform, Enterprise Edition Server Virtualization Infrastructure Virtualization Management Tool Cloud Infrastructure Cloud Management Tool Cloud API BI (Business Intelligence) Infrastructure Distributed File System Distributed Memory Caching System Cluster Messaging Layer Replication FileSystem 16

27 데이터베이스(Database) 데이터베이스는정보를저장, 변경및추출을가능하게하는소프트웨어와데이터베이 스를관리하기위한소프트웨어로구성된다. < 표 2-20> Database 서브카테고리 데이터베이스 (Database Management System) 데이터베이스관리도구 (DBMS Management Tool) 데이터베이스개발도구 (DBMS Development Tool) 데이터베이스와사용자중간에서데이터에대한위치를고려하지않고서도데이터베이스내데이터를기록하거나접근할수있도록관리하는소프트웨어 예 : Apache Derby, CUBRID, Firebird, HSQLDB, MariaDB, MaxDB, MySQL, PostgreSQL, SQLite 데이터베이스의성능, 상태및현황관리를쉽게할수있도록지원하는소프트웨어 예 : DbVisualizer, phpmyadmin, phppgadmin, SqlDbx 데이터베이스에서사용되는쿼리등을 GUI 환경등에서쉽게작성할수있도록지원하는통합개발환경소프트웨어 예 : sqldevelopper, Tora 운영체제(Operating system) 운영체제는부트스트랩프로그램에의해컴퓨터내에최초로적재된후에, 컴퓨터내의 다른프로그램들을관리하는소프트웨어로대표적인 Linux, BSD, Unix 등으로구성된다. < 표 2-21> 운영체제서브카테고리 Linux BSD UNIX 기타 1989 년리누즈토발즈(Linus Tovals) 가유닉스를기반으로개발한 공개용운영체제로써, 1991년 11월버전 0.02가일반에공개된이 후확산되기시작 예 : Android, Asianux, CentOS, Debian, Fedora, Ginux, Google Chrome OS, NeoShine Linux, opensuse, RedFlag Linux, SULinux, Ubuntu, Vine Linux UC 버클리에서개발되고배포되는특별한버전의유닉스운영체계소프트웨어 예 : FreeBSD, NetBSD, OpenBSD 1969 년에벨연구소에서어셈블리어로개발한운영체제 예 : OpenSolaris 기타운영체계소프트웨어 예 : Symbian OS 17

28 서비스전송및서버(Service Delivery Server) 서비스전송및서버는외부의서비스요청에대해해당서비스를제공할수있도록 지원하는소프트웨어로구성된다. < 표 2-22> 서비스전송및서버서브카테고리 웹 (Web) 프록시 (Proxy) Java Platform, Enterprise Edition Server 사용자가웹사이트를통해서비스를요청하면해당웹페이지가들어있는파일을사용자들에게제공할수있도록하는소프트웨어 예 : Apache HTTP Server, Appweb, Jetty, lighttpd, Mongoose, nginx, Open Web Server, TUX Web Server 클라이언트가자신을통해서다른네트워크서비스에간접적으로접속할수있게지원해주는소프트웨어 예 : Delegate, Squid Cache, Tor 웹서버와데이터베이스서버의중간에위치하여웹용프로그램을동작시킬수있도록해주는소프트웨어 예 : Apache Geronimo, Apache Tomcat, Enhydra Server, GlassFish, JBoss Application Server, JOnAS, Resin 시스템관리(System Management) 시스템관리는시스템관리도구전반에관한소프트웨어로구성된다. < 표 2-23> 시스템관리서브카테고리 통합모니터링 (Integrated Monitoring) 소프트웨어모니터링 (Software Monitoring) 통합모니터링소프트웨어 예 : Ganglia, Groundwork Monitor, Hinemos, Hobbit Monitor, Hyperic HQ, Monit, Nagios, openqrm, Zabbix 소프트웨어모니터링응용프로그램 예 : JConsole, LambdaProbe 18

29 네트워크모니터링 (Network Monitoring) 로그모니터링 (Log Monitoring) 백업 (BackUp) 로그관리 (Log Management) 설정관리 (Configuration Management) 관리도구 (Management Tool) 서비스지원 (Service Desk) 네트워크모니터링소프트웨어 예 : GNetWatch, IPTraf, MRTG, NetHogs, OpenNMS, PasTmon, Zenoss 로그모니터링소프트웨어 예 : logwatch, Swatch 백업소프트웨어 예 : Amanda, Bacula 로그관리소프트웨어 예 : Syslog-ng 시스템설정관리소프트웨어 예 : spcman 시스템관리도구소프트웨어 예 : Cacti, cobbler, Open Manager, puppet, sysmon 서비스지원소프트웨어 예 : Askeet, eticket, OneOrZero Helpdesk, OTRS 소프트웨어공학(Software Engineering) 소프트웨어공학은소프트웨어품질및공학과관련하여응용단계에서수행되는소프트 웨어들로구성된다. < 표 2-24> 소프트웨어공학서브카테고리 Ajax RIA 사용자요청을즉시처리하는양방향웹응용프로그램을만들기위한프로그래밍소프트웨어 예 : Dojo Toolkit, GWT, jquery, prototype, script aculo us Spry, YUI(Yahoo UI Library) 데스크톱응용프로그램의특징과기능을가지는웹응용프로그램 예 : Adobe Flex, Apache Pivot, exria, JavaFX, Moonlight, Silverlight 19

30 Java Platform, Enterprise Edition O/R Mapping Ruby Framework 통합개발환경 (IDE) 진단도구 (Diagnostic Tools) 자바로기술된프로그램개발및실행을할수있는소프트웨어모임의총칭 예 : Anyframe, Apache Struts, Apache Tapestry, e-gov Framework, JBoss Seam, Spring Framework 객체지향프로그래밍시설계할클래스들과데이터저장소로이용될 RDBMS Table 간의 Mapping 소프트웨어 예 : Apache Torque, ibatis, JBoss Hibernate 루비로작성된 MVC 패턴을이용하는웹프레임워크소프트웨어 예 : Camping, Ruby on Raile, Sinatra, Waves 기본적으로코드편집기, 컴파일러, 프로그램수정기, 그래픽사용자인터페이스(GUI) 설치기등으로구성된애플리케이션패키지의프로그램작성환경 예 : Aptana, Eclipse, JSEclipse, JSide, NetBeans, StarUML, Waves, Wide Studio 소프트웨어코드진단소프트웨어 예 : FindBugs, Metrics, PMD 결함추적시스템 (BTS) RCS Forge 소프트웨어개발시각종스트레스를가하여버그를유도하고, 과를추적하는소프트웨어예 : Bugzilla, Kaqemai, Mantis, OpenTask, Papilio, Redmine, Tosca 프로그램수정파일을관리하는시스템소프트웨어예 : CVS, Git, Mercurial, Scarab, Subversion, Trac 소프트웨어협업개발플랫폼소프트웨어예 : GForge, libresource, nforge, Savane 그결 단위테스트 (Unit Test) 테스트커버리지 (Test Coverage) 통합테스트 (Integration Test) 하나의소프트웨어모듈이정상적으로기능을수행하는지여부를시험하는최소수준의시험소프트웨어 예 : JUnit, TestNG, Valqrind 모수에대해, 얼마나많은양의테스트를수행했는지나타내는지표소프트웨어 예 : Cobertura, EMMA, icoverage 시스템이나시스템구성요소(component) 또는소프트웨어프로그램의데이터및기능의인터페이스가정상적으로작동하는지에중점을두고수행하는시험소프트웨어 예 : Jameleon, NTAF, Selenium 20

31 부하테스트 (Load Test) 성능분석 (Performance Analyzer) Other Java Platform, Enterprise Edition Server 개발된기기나프로그램이서비스에앞서실제와유사한부하를발생시켜정상동작여부와견딜수있는부하, 문제점등을확인하기위한시험소프트웨어 예 : Apache JMeter, Bonnie++, Eclipse TPTP, JBento, opensta, Solex, WebLOAD 소프트웨어성능분석소프트웨어 예 : Eclipse Memory Analyzer, CGViewer, HeapAnalyzer, HPjmeter, Java VisualVM, JBoss Profiler, TDA(Thread Dump Analyzer) 기타자바플랫폼소프트웨어 예 : Seasar2, Zope 기반구조(Infrastructure) 기반구조는시스템기반구조와관련된소프트웨어들로구성된다. < 표 2-25> 기반구조서브카테고리 가상화기반구조 (Virtualization Infrastructure) 가상화관리도구 (Virtualization Management Tool) 클라우드기반구조 (Cloud Infrastructure) 클라우드관리도구 (Cloud Management Tool) 클라우드 API (Cloud API) BI(Business Intelligence) Infrastructure 가상화기반을제공하는소프트웨어예 : KVM, VirtualBox, Xen 가상화관리도구소프트웨어예 : Convirt, OpenNebula, ovirt, virt-manager 클라우드컴퓨팅인프라소프트웨어예 : Enomaly, Eucalyptus 클라우드컴퓨팅관리도구소프트웨어예 : abicloud 클라우드컴퓨팅응용프로그래밍인터페이스예 : Deltacloud, OpenStack 비즈니스의사결정지원소프트웨어예 : Pentaho, SpagoBI 21

32 분산파일시스템 (Distributed File System) 분산메모리캐싱 (Distributed Memory Caching System) 클러스터메시징 (Cluster Messaging Layer) 이중화 (Replication) 파일시스템 (File System) 분산파일시스템소프트웨어예 : hadoop 분산메모리캐싱소프트웨어예 : JBoss Cache, memcached 클러스터환경의메시징소프트웨어예 : HeartBeat 시스템이중화소프트웨어예 : DRBD 파일시스템소프트웨어예 : NFS, XFS 3. 공개소프트웨어프로파일 3.1. 공개소프트웨어프로파일개요 공개소프트웨어프로파일은공개소프트웨어분류체계의최하위레벨인 카테고리에 속한공개소프트웨어들 의정보제공항목을정의한것으로써, 공개소프트웨어도입/ 활 용시실질적으로활용할수있는공개소프트웨어정보를제공하는데목적이있다 공개소프트웨어프로파일세부항목 공개소프트웨어프로파일의항목은활용/ 도입하고자하는공개소프트웨어를선택하기 위해사용자가점검해야할요소들의집합체로써, 전체 22 개항목으로구성되어있다 공개소프트웨어식별번호 공개소프트웨어식별번호는수십만종의공개소프트웨어중공개소프트웨어프로파일이작성된다종의공개소프트웨어를식별하기위한식별체계이다. 본식별체계는각기관또는기업에서직접작성한공개소프트웨어프로파일에서대상공개소프트웨어를식별하거나공신력있는국가기관에서대표로작성한범용적공개소프트웨어프로파일에서공개소프트웨어를식별할수있도록하는역할을한다. 22

33 카테고리(Category) 카테고리는공개소프트웨어분류체계에서정의된기본구성체계의영역및분야를나 타내는항목으로, 서비스접근및전달, 컴포넌트기술, 보안, 인터페이스및통합, 플랫 폼및기반구조로구분하여명시한다 명칭및버전 해당공개소프트웨어의고유명칭과버전정보를명시한다 공식웹사이트 해당공개소프트웨어의대표공식웹사이트 URL 을명시한다 버전 해당공개소프트웨어의대표사이트등에서공표한현재시점의 안정화버전 과 최신 버전 을명시한다 소스코드저장소(Repository) 해당공개소프트웨어가공식적으로릴리즈되는소스코드및바이너리저장소( 예 : 소 스포지닷넷등) 의 URL 을명시한다. 공식소스코드저장소가복수개인경우모두명시한 다 메일링리스트서비스 해당공개소프트웨어의공식메일링리스트를명시한다. 메일링리스트는개발자메일링리스트, 사용자메일링리스트등운영중인모든메일링리스트를모두명시한다 결함추적시스템(BTS : Bug Tracking System) 해당공개소프트웨어의공식결함추적시스템 URL 을명시한다 라이선스 해당공개소프트웨어가준수하는모든라이선스( 예 : GPL, LGPL 등) 를명시한다. 23

34 개발후원 해당공개소프트웨어개발을후원하는업체또는단체를명시한다 개발프로그래밍언어 해당공개소프트웨어가어떤프로그래밍언어로작성되었는지명시한다. 각모듈별로다른프로그래밍언어가사용되었다면해당프로그래밍언어들을모두명시한다 언어지원(Localization) 해당공개소프트웨어가지원하는언어를모두명시한다.( 예 : 한국어, 영어등) 지원운영체제(OS) 해당공개소프트웨어가구동될수있는모든운영체제를명시한다. 단, 해당공개소프 트웨어가운영체제인경우본항목은 Not Applicable 로명시한다 하드웨어요구사항 해당공개소프트웨어를설치하여운용할수있는하드웨어요구사항을명시한다. 하드웨어요구사항은최소사양과권장사양으로명시하며, 필요한경우공개소프트웨어버전별로최소사양및권장사양을명시한다 소프트웨어테스트정보 해당공개소프트웨어에대한신뢰성테스트, 기능테스트, 벤치마크테스트등의결과 존재유무와해당정보에접근할수있는 URL 등을명시한다 기술문서정보 해당공개소프트웨어에대한백서, 가이드, 논문등대표적인관련기술문서의종류와 접근가능 URL 을명시한다. 24

35 공개소프트웨어기본설명 해당공개소프트웨어에대한간략한설명을공식사이트등을참조하여기입한다 공개소프트웨어활용사례 해당공개소프트웨어의활용/ 도입에대한최신의대표적성공사례정보를위치와함께 명시한다 개발그룹 해당공개소프트웨어또는분기된공개소프트웨어를개발하고있는국내외기업및커 뮤니티를명시한다 기술지원서비스 해당공개소프트웨어의기술지원서비스를수행중인국내외기업및커뮤니티를명시한 다 설치파일제공방식 해당공개소프트웨어의설치바이너리제공방식을운영체제별로명시한다 교육과정 해당공개소프트웨어에대한국내외교육과정을명시한다. 25

36 3.3. 공개소프트웨어프로파일작성양식 3.2 절공개소프트웨어프로파일세부항목에따라공개소프트웨어프로파일을다음과 같은양식을활용하여정리할수있다. < 표 3-1> 공개소프트웨어프로파일양식예제 CATEGORY 프로파일최종변경일식별번호 (Code) 서비스영역기술분야세부기술분야공개소프트웨어정보명칭및버전공식사이트 버전 소스코드저장소 메일링리스트서비스 결함추적시스템라이선스개발후원개발프로그램언어언어지원지원 OS 하드웨어사양 테스트정보기술문서공개소프트웨어설명활용사례업체국내개발커뮤니티그룹업체국외커뮤니티업체국내기술커뮤니티지원업체국외커뮤니티 설치파일제공방식 소스코드리눅스윈도우 Mac / OS X 교육과정( 국내) 26

37 표준작성공헌자 표준번호 : 이표준의제정 개정및발간을위해아래와같이여러분들이공헌하였습니다. 구분성명위원회및직위 연락처 ( 등) 소속사 과제제안오승운 공개 S/W 프로젝트그룹부의장 한국정보화진흥원 박진홍 공개 S/W 프로젝트그룹위원 정보통신산업진흥원 표준초안제출 오승운 정윤재 공개 S/W 프로젝트그룹부의장 공개 S/W 프로젝트그룹의장 g.com 한국정보화진흥원 삼성 SDS 유정채 - 모스트씨앤씨 정윤재 공개 S/W 프로젝트그룹의장 g.com 삼성 SDS 표준초안검토 양유길 김태열 공개 S/W 프로젝트그룹위원 공개 S/W 프로젝트그룹위원 정보통신산업진흥원 정보통신산업진흥원 외프로젝트그룹위원 표준안심의 박승민 기반소프트웨어기술위원회의장 한국전자통신연구원 외기술위원회위원 사무국담당 박정식 - TTA 이혜진 - TTA 27

38 공개소프트웨어분류체계및프로파일 (Open Source Software Categorization & Profile) 발행인 발행처 : : 한국정보통신기술협회회장 한국정보통신기술협회 , 경기도성남시분당구서현동 발행일 : Tel : , Fax :