GNU arch
원저자토머스 로드(Thomas Lord)
개발자앤디 타이(Andy Tai)
최종 버전
1.3.5 / 2006년 7월 20일(17년 전)(2006-07-20)
운영 체제GNU/리눅스, 윈도우, OS X
종류버전 관리
라이선스GPL
상태보안 수정 전용
웹사이트www.gnu.org/software/gnu-arch/

GNU arch는 분산형 리비전 관리 소프트웨어의 일종으로 소스 트리에서 일어나는 변경들을 추적하며 통합을 비롯해 여러 사람에 의해 또는 서로 다른 여러 시간대에 일어나는 다양한 변화들을 처리한다. GNU 프로젝트 가운데 하나이며 GNU GPL에 따라 배포된다.

2009년부로 개발이 중단되어 현재 개발 트리에서는 보안 문제 수정만이 이루어진다.[1] GNU arch에서 분기된 소프트웨어로는 Bazaar가 있으며 GNU 프로젝트 가운데 하나로 공식 채택된 이후 GNU arch의 대안으로 부상했다.

특징

GNU arch는 배포 및 분산형 버저닝 시스템이기 때문에 전역에서 각 리비전은 고유한 개체로 식별되며 이때 만들어진 식별자는 배포된 설정들의 통합을 보조하거나 전혀 다른 소스로부터 내용을 일부만 반영할 때 사용된다. 또 개발자로 하여금 변경 사항을 반영하려 할 때마다 일일이 인증을 거치게 하는 중앙 서버가 필요하지 않으며 HTTP, FTP, SFTP를 통해 공식 저장소 안에서 프로젝트가 통째로 읽기 전용으로 복사되어 그쪽으로 접속하게 된다. 물론 이 때문에 개발자들은 각자의 공용 저장소 안에서 변경 사항을 반영하게 되고 공식 저장소에의 반영은 저장소 전체를 관리하는 사람이 손으로 하나하나 다 해야 한다. 하지만 저장소 전체를 관리하는 사람이 SSH, FTP, SFTP, WebDAV를 통한 접속을 허용하여 인증 과정을 거친 사용자로 하여금 중앙 서버에 변경 사항을 반영하게 함으로 집중형 리비전 관리 시스템을 흉내내는 것도 가능하다.

이 밖에도 다음과 같은 특징들이 있다.

걸어온 길

버전 1, 그리고 tla

GNU arch를 처음 개발한 사람은 Thomas Lord로 그는 2001년에 이 프로젝트를 시작했으며 동시에 프로젝트의 첫 관리자이기도 했다. 이 소프트웨어의 실행 파일 이름은 tla로 이는 Tom Lord's Arch의 줄임말이었다. 그는 이 프로젝트를 CVS를 대체할 목적으로 시작했으며 초기의 모습은 복수의 셸 스크립트의 집합체였다.[2] 이 프로젝트가 GNU 프로젝트의 일부가 된 것은 2003년이다.[3]

다른 개발 주체에 의해 분가가 시도된 적도 몇 번 있었다. 그 중 하나는 지금은 버려졌지만 캐노니컬에서 시도했던 Baz였고 다른 하나는 Walter Landry가 시도했던 ArX였다. 둘 다 큰 반발을 불러일으켰는데 ArX는 개발 방향과 관련된 깊은 분쟁을 겪었고 Baz 프로젝트를 시도한 캐노니컬은 Thomas Lord에 의해 개발 태도와 관련된 거센 비난을 받았다.[4]

2005년 8월이 되자 Thomas Lord는 GNU arch 프로젝트의 관리자 자리에서 물러나면서 Baz를 GNU arch 프로젝트로 받아들이는 것을 추천했다.[5] 하지만 그의 추천은 받아들여지지 않았다. Baz는 캐노니컬에 의해 버려졌고 별도로 진행되던 Bazaar가 Baz의 빈 자리를 채우게 되었다.[6] Baz는 2006년 1.5를 마지막으로 완전히 버려졌다.[7] 2005년 10월, Andy Tai는 Thomas Lord와 자유 소프트웨어 재단이 자신에 대한 GNU arch 프로젝트 관리자 임명 요구를 받아들였다고 발표했다.[8] 그는 새 관리자가 되자마자 Baz의 많은 기능들을 tla에 이식했으나 2008년 3월이 되자 tla에 대한 더 이상의 개발은 없으며 tla는 더 이상 다른 버전 컨트롤 시스템들의 상대가 되지 못한다는 발표를 했다.[9]

revc

revc는 Thomas Lord가 GNU arch의 버전 2로 삼을 것을 목적으로 하여 시작한 프로젝트로 tla와 전혀 다른 구조를 가지고 있으며 Git에서 많은 아이디어를 빌려왔다.[10] 처음 발표된 것은 2005년 6월이며[11] 첫 버전의 출시는 그 다음 달에,[12] 그리고 마지막 버전의 출시는 또 그 다음 달에 이루어졌으며 Thomas Lord는 직후 관리자 자리에서 물러났다.[13] 이 소프트웨어가 가진 명령은 10개뿐이었으며 Thomas Lord는 제한적인 네임스페이스와 복잡한 파일 명명 규칙을 없애고 속도도 높이는 것을 목표로 했었다.[14]

2008년 이래 마지막 버전인 0.0x2는 지금도 입수할 수 있으며[15] Thomas Lord는 지금도 GNU arch의 아이디어 중 일부에 흥미를 가지고 있지만 revc의 개발을 계속할 여지는 없다고 밝혔다.[16]

비판

GNU arch가 가장 많이 받은 비판은 다른 SCM 시스템에 대한 경험이 있는 사람조차 익히기 어렵다는 비판이다. 특히 명령의 수가 지나치게 많은 것은 새로운 사용자에 대한 진입 장벽이 될 수 있으며 몇몇 구성 요소는 사용자에게 Thomas Lord와 같은 방식으로 버전을 컨트롤할 것을 지나치게 강요한다는 비판을 주로 받았다.[17]

불필요한 파일 명명 규칙("FunkyFileNames")로 인해서도 비판을 받았는데 이 규칙이 스크립트에의 적용이나 일부 셸에서의 사용, 그리고 비-유닉스형 운영체제에의 이식을 어렵게 한다는 내용이었다. 또한 내부 코드의 복잡함을 줄이는 데에 무게를 지나치게 두다 보니 실행 속도가 느린 결과물이 되었다는 비판도 받았다.[18]

같이 보기

각주

  1. [1]
  2. [2]
  3. “보관된 사본”. 2016년 3월 3일에 원본 문서에서 보존된 문서. 2011년 11월 11일에 확인함. 
  4. [3]
  5. [4]
  6. [5] Archived 2008년 1월 7일 - 웨이백 머신[6] Archived 2009년 2월 26일 - 웨이백 머신
  7. “보관된 사본”. 2011년 5월 12일에 원본 문서에서 보존된 문서. 2008년 1월 16일에 확인함. 
  8. [7]
  9. [8]
  10. “보관된 사본”. 2016년 3월 3일에 원본 문서에서 보존된 문서. 2011년 11월 11일에 확인함. 
  11. “보관된 사본”. 2016년 3월 3일에 원본 문서에서 보존된 문서. 2011년 11월 11일에 확인함. 
  12. “보관된 사본”. 2011년 5월 17일에 원본 문서에서 보존된 문서. 2011년 11월 11일에 확인함. 
  13. [9]
  14. “보관된 사본”. 2011년 5월 17일에 원본 문서에서 보존된 문서. 2011년 11월 11일에 확인함. 
  15. [10]
  16. [11]
  17. [12] 보관됨 2012-07-14 - archive.today[13] 보관됨 2012-07-13 - archive.today
  18. [14]

외부 링크