형상관리 도구는 시스템 형상 요소(개발 소스, 산출물 문서 등)의 기능적 특성이나 물리적 특성을 문서화하고 그들 특성의 변경을 관리하며, 변경의 과정이나 실현 상황을 기록·보고하여 지정된 요건이 충족되었다는 사실을 검증하는 것이나 또는 그 과정을 위한 기능을 제공한다.
형상
형상관리 프로세스
소스 버전관리 도구(소스관리도구)는 관리 대상이 되는 형상 요소와 형상관리 절차를 소스(소스 코드, 이미지, 바이너리 파일 등)와 버전관리로 국한시켜 이에 대한 변경을 소스 버전관리 절차에 따라 관리하고, 효율적으로 처리 하기 위한 통제 환경을 의미한다.
일반적인 소스 버전관리 도구가 지닌 특징 및 기능은 다음과 같다.
대중적으로 많이 사용되는 오픈소스 기반의 소스 버전관리 도구로는 CVS, Subversion, OpenCM 등이 있다.
이들 중, 손쉬운 설치와 단순한 관리정책 등으로 초기에는 CVS가 대중화되어 많이 사용되었지만, 현재는 여러 문제점이 노출되어 이를 보완/개선한 Subversion의 사용이 점차 늘어가는 추세이다.
다음은 이들 오픈소스 기반의 소스 버전관리 도구를 비교한 표이다.
이름 | 설명 | 라이선스 정책 |
---|---|---|
CVS | 리비전 관리 시스템(Revision Control System)이라 불린 초기 버전 관리 시스템이 그 기원이며, 1989년 현재의 명칭인 CVS로 변경되었다. 버전관리의 대상으로써 각각의 파일을 관리하지만, 프로젝트 전체는 관리할 수 없는 등 초창기 버전관리 도구로써의 여러 제약 사항을 지니고 있다. | GNU Public License(GPL) → Non-GNU License로 변경 |
Subversion | 서브버전 (Subversion)은 자유 소프트웨어 버전 관리 시스템이다. 명령행 인터페이스에서는 사용하는 명령어를 따서 SVN이라고 줄여서 부르기도 한다. 제한이 있던 CVS를 대체하기 위해 만들었으며, 현재도 활발히 개선/버전 업이 이루어지고 었다. | Subversion License |
OpenCM | 제한이 있던 CVS를 대체하기 위한 안전하고 완전성 높은 형상관리 도구를 표방하였으나, 사용층이 얇고 오픈소스 프로젝트의 진행이 정체된 상태이다. | GPL |
이들 소스 버전관리 도구 중에서, 가장 많이 사용되는 CVS와 Subversion의 비교사항을 CVS 대비 Subversion의 특장점을 기준으로 나열하면 다음과 같다.
이러한 Subversion의 특장점으로 인하여, 전자정부 표준프레임워크의 개발환경에는 Subversion이 포함되어 제공된다.
직접적인 시스템 콘솔 접근을 통해 Subversion을 사용할 수도 있지만, 운영자가 아닌 일반 사용자 입장에서 PC를 통한 Subversion 접근활용이 더 일반적인 활용 형태이다.
이러한 Subversion 클라이언트 환경을 위해 다양한 형태의 윈도우기반, Eclipse IDE 기반의 클라이언트가 개발되어 사용되고 있다.
전자정부 표준프레임워크 구축 사업에서는 개발자를 위한 Eclipse IDE 기반의 Subverion 클라이언트를 비교, 평가하는 작업을 수행하였으며, 이를 통해 Subversive Eclipse 플러그인을 Subversion의 클라이언트로 선정하여 전자정부 표준프레임워크 개발환경에 포함시켜 제공한다.
최종 선정된 Subversive Eclipse 플러그인의 특징을 그 비교 대상이 되었던 Subclipse Eclipse 플러그인과 비교하면 다음과 같다.