티스토리 뷰

소프트웨어 협업 시스템 에서 언급한 이슈 관리 시스템 중 오픈소스 프로젝트에서 가장 많이 사용하는 Bugzilla에 대해서 장단점과 같은 특징에 대해서 이야기를 해보려 한다. 


Bugzilla는 1998년 mozilla 프로젝트가 온라인으로 공개되면서 같이 공개된 이슈 관리 툴로 perl로 작성되었다. 그 이후로는 많은 오픈 소스 프로젝트에서 적용하였고, 현재까지도 굵직한 오픈 소스 프로젝트에서 여전히 사용 중이다.


2000년 초반에 개발팀을 위한 문제점 및 릴리즈 관리 시스템을 찾아보았을 때는 Mantis 등 몇 개가 더 있었을 테지만 Bugzilla가 단연 돋보여 이를 이용하여 시스템을 구축하였다. 마지막으로 실무에 사용한지도 10년 가까이 지났지만, 최근에 새로 개발 팀을 셋업하면서 다시금 Bugzilla를 사용해 볼까 진지하게 고민하고 설치해서 시험 운영까지 해 보았다. 이와 같은 가장 큰 이유는 Bugzilla의 검색과 그룹 별 권한 설정의 장점 때문이다. 


과거에 사용 시 Bugzilla로 문제점 들에 대한 로그들이 모여 이슈 티켓이 수천개 이상 쌓이면서 검색 기능의 장점이 점점 더 늘어갔다. Mozilla bugzilla 검색 페이지를 예로 들어 보면 처음에는 설정 필드가 많아 복잡해 보이지만 시간이 지나 익숙해지면 이들 조건식으로 인하여 수많은 과거 로그 중에서 원하는 사항을 정확하게 찾을 수 있다. 또한 검색식에 regex(regular expression)도 지원되어 검색 결과를 최소화 할 수 있다. 





이후 git으로 변경하면서 SCM(Source Code Management) 통합 및 사용자 친화적인 UI(?)로 Bugzilla에서 Redmine으로 바꾸게 되었다. Redmine을 사용하면서 대부분의 기능은 만족하였지만 가장 불만인 부분은 검색 기능이 Bugzilla에 비하여 너무 취약하다는 것이다. 이슈 티켓이 수천개가 쌓이면서 Redmine의 단순 문자 검색 기능으로는 원하는 과거 이력을 찾아내는 것은 쉬운 일이 아니다. 연관 단어가 생각나지 않으면 한 두 시간 뒤져도 기억 속의 희미한 과거 이력을 찾지 못하는 경우가 종종 발생한다. 이 부분은 아직 까지도 Redmine의 단점으로 남아 있다.


Bugzilla의 그룹별 관리 기능은 외부 고객 또는 업체에게 이슈 시스템을 공개할 때 장점이 된다. 필자의 경우 ODM 개발을 하던 시기에, 그룹 관리 기능을 이용하여 이슈를 외부 업체 공개, 비공개로 구분하여 관리하였다. 그리고 공개 이슈에 대해서도 비공개 커멘트로 내부 팀원끼리 문제 대응 방안에 대하여 논의 하고 정리한 내용만을 공개로 커멘트를 남기는 방식으로 활용하였다. 


하지만 시간이 지나면서 Bugzilla의 기능에 개선되었으면 하는 기능이 하나 둘 생기게 되었다.

  • 내부에서 필요한 부분을 수정을 하고 싶으나 perl의 복잡한 문법때문에 쉽지 않다.
  • CVS의 경우 commit 기록을 hooking하여 comment에 넣는 방식으로 bugzilla, CVS 연동을 하였는데, 이 부분이 git 으로 변경하려 할 때 깔끔한 방법이 마땅치 않다.
    • CVS 이력도 comment로 변환해서 추가하는 방식이라 CVSWeb 주소가 변경되면 모든 링크들이 끊어진다. 
  • Comment 입력에 포맷팅 기능이 너무 단순하다. Wiki가 추세인데 이와 같은 문법은 지원안되고, URL, issue number 등 단순한 몇가지 사항에 대해서만 자동 link를 만들어 준다.
  • 2000년 후반이 되면서 웹 UI는 크게 향상 되었지만, bugzilla를 보고 있으면 90년대 그때 그 시절에 머문 느낌이다.
  • Bugzilla 자체는 아직까지도 꾸준이 업그레이드 되어 activity는 있지만, extension addon 기능은 2000년 후반 쯤에서 생명력이 없어진 듯 멈춘 느낌이다.


최근에 검토할 때도 BugzilllaJS와 같은 사용성을 개선한 확장 기능을 적용하여 활용해 볼까도 생각해 보았지만, 최종 적인 결론은 기존에 운영 중인 곳에서는 기존 DB를 컨버팅하지 못하는 경우라면 계속적으로 bugzilla를 운영하는 것이 답이지만 새로이 하는 경우라면 다른 솔루션을 찾는 것이 좋다고 결론을 내었다. 



관련글:


댓글
댓글쓰기 폼