소스코드 저장소 호스팅의 양대산맥인 깃허브와 깃랩은 그 기술적 기반을 '깃(Git)'으로 삼는다는 점에서 큰 차이를 보이지 않는다. 기본 기능은 같지만 서비스를 만든 철학과 초점에 차이를 갖기 때문에, 사용자는 목적과 업무 체계를 고려해 적합한 서비스를 골라야 한다.
최근 미국 지디넷은 깃허브와 깃랩의 개발 방향성 차이점과 인터페이스 및 핵심 가치의 유사성을 설명하는 기사를 게재했다
오픈소스 소프트웨어 전문기자인 스티븐 보간니콜스는 먼저 "만약 사내 시스템만 구축하는 경우라면 자체 서버에 자체 깃 인스턴스만 있으면 되고, 자체 서버나 클라우드에 중앙화된 VCS로서 깃을 사용할 수 있다"며 "자체적으로 VCS를 구축할 수 있을 때 VCS 서비스를 구독할 필요는 없으며, 이 모델로 당신은 프로젝트를 전세계에 흩어져있는 팀, 파트너와 쉽게 실행할 수 있다"고 당부했다.
■ 깃허브와 깃랩의 핵심 차이점 '데브옵스'
깃허브와 깃랩의 가장 큰 차이점은 데브옵스 요소에 있다.
깃랩은 지속적 통합/지속적 전달(CI/CD)와 데브옵스 워크플로우를 내장했다.
반면, 깃허브를 사용하면 사용자가 원하는 CI/CD 도구를 직접 통합해야 한다. 깃허브 사용자는 보통 젠킨스, CircleCI, TravisCI 같은 써드파티 프로그램을 사용한다.
또 다른 차이점은 철학이다. 깃허브가 속도를 우선시 한다면, 깃랩은 안정성에 중점을 둔다.
■ 브랜치, 병합이냐 분리냐
깃허브는 새로운 브랜치를 마스터 분기와 병합하는 것을 지지한다. 그 덕에 신속한 배포가 가능하고, 문제 발생 시 이전 버전으로 신속하게 복원할 수 있다.
깃랩의 워크플로우는 변경한 각 세트를 마스터 브랜치와 별도의 안정적인 브랜치로 생성한다. 프로덕션과 스테이징의 분기가 최소한으로 있다. 이런 다중 분기 접근방식은 여러 단계의 테스트 프로세스를 필요로 한다. 병합 요청 시 코드 검토가 까다로워진다.
단, 깃허브나 깃랩에서 브랜치 운영 방식을 병합이나 분리로 고정하진 않는다. 사용자 선택에 따라 원하는 방식을 택할 수 있다.
■ 소프트웨어 서비스
두 서비스의 또 다른 차이점은 소프트웨어 서비스의 구성이다.
깃랩은 완전한 소프트웨어 개발 솔루션을 제공하며, 올인원의 데브옵스 플랫폼이라고 강조한다. 깃랩은 지라(Jira), 마이크로소프트 팀즈, 슬랙, G메일 같은 애프리케이션 및 플랫폼과 통합을 제공한다.
깃허브는 자체적으로 깃랩보다 적은 수의 소프트웨어 서비스를 제공한다. 대신 외부 프로그램 및 서비스와 통합하는 쉬운 방법을 제공한다. 깃허브 마켓플레이스에서 다양한 외부 서비스와 프로그램, 깃허브와 통합을 위한 소프트웨어를 이용할 수 있다.
■ 기본 구성과 인터페이스는 유사
깃허브와 깃랩은 여러모로 닮았다. 리눅스 서버에서 실행된다는 점, 이슈 트래커를 함께 제공한다는 점, 광범위한 타사 통합과 가져오기 도구를 제공한다.
인터페이스도 비슷하다. 고급 개발자를 위한 커맨드라인인터페이스(CLI)를 가졌고, 초급 개발자를 위한 웹 인터페이스도 제공한다.
깃랩의 사용자 인터페이스(UI)는 자체 디자인 시스템인 '파자마스(Pajamas)'를 사용하며, 이 시스템은 '뷰JS(Vue.js)'로 작성됐다.
깃허브의 UI인 데스크톱은 윈도나 맥OS에서 사용가능하다. 또 비주얼스튜디오를 사용하는 것도 가능하다.
두 서비스 모두 오픈소스를 지원하지만, 저장소 자체는 혼합 프로그래밍 모델을 사용한다.
깃랩은 오픈 중심의 비즈니스 접근 방식을 사용한다. 깃랩 커뮤니티 에디션은 무료로 제공하고, 더 많은 기능과 지원을 제공하는 엔터프라이즈 버전은 유료다.
깃허브는 코드에 일부 오픈소스를 포함하지만, 그 자체는 오픈소스 프로젝트가 아니다.
기본적으로 깃허브와 깃랩 모두 오픈소스의 웹 기반 리포지톨, 깃 기반 코드 관리, 원격 리포지토리를 통한 로컬 파일 변경 등을 제공한다. 기본적인 깃 기능을 원하지만 깃을 계속 실행하는 것을 걱정하는 경우 두 서비스 모두 유용하다.
■ 마이크로소프트와 깃허브
마이크로소프트는 깃허브를 2018년 인수했다. 많은 사람이 당시 대규모 사용자 이탈을 예상했다. 마이크로소프트가 오픈소스 소프트웨어에 적극적으로 구애를 펼치는 와중이었지만, 여전히 오픈소스 지지자 입장에서 마이크로소프트는 신뢰하기 힘든 악의 제국이었기 때문이다.
실제로 일부 깃허브 사용자는 깃랩과 아틀라시안 비트버킷 등으로 이동하긴 했다. 그러나 그 경우도 마이크로소프트의 깃허브 인수와 무관한 해당 사용자의 사정 때문이었다.
깃허브는 여전히 가장 큰 VCS 서비스다. 젯브레인스에 의하면, 개발자 77%가 깃허브를 정기적으로 사용한다. 깃랩의 경우 40%, 비트버킷의 경우 25%다.
■ 가격
깃허브와 깃랩 모두 무료 요금제를 운영하고 있다. 무제한 용량의 퍼블릭 및 프라이빗 저장소를 함께 제공한다. 개인 개발자나 소규모 팀이면 무료 요금제로도 충분히 쓸 만하다.
반면, 어느정도 규모 있는 회사의 소프트웨어 개발 조직이라면 유료 요금제를 이용하는 게 좋다.
깃랩의 유료 요금제는 프리미엄과 얼티메이트로 나뉜다. 깃허브의 유료 요금제는 팀과 엔터프라이즈로 구분된다. 깃허브와 깃랩의 가격을 1대1로 비교하긴 어렵다. 각 플랫폼에서 워크플로우 작동 방식에 따라 가장 적합한 요금제를 살펴봐야 한다.
깃랩 프리미엄 요금제는 사용자당 월 19달러이며, 모든 기능을 제공하는 얼티메이트 요금제는 사용자당 월 99달러다.
깃허브 팀 요금제는 사용자당 연 40달러이며, 엔터프라이즈 요금제는 사용자당 연 200달러다.
양사 모두 기본 요금제 외에 부가 서비스를 더 이용하면 별도의 추가 비용을 내야 한다.
■ 소스코드 관리 시스템으로 깃을 써야 하는 이유
VCS는 지리적으로 곳곳에 흩어진 개발자, 디자이너, 기타 팀 구성원과 프로젝트를 쉽게 꾸려갈 수 있다. 모든 구성원이 최신 코드에 접근 권한을 갖고 모든 수정 사항을 추적할 수 있다.
리눅스의 아버지인 리누스 토발즈는 자신의 또다른 작품인 깃을 위대한 발평품이라 자평한다. 깃을 활용한 소통과 협업 방식은 매우 쉽다. 깃은 오픈소스이며 무료고, 빠르다. 그 어떤 버전관리 시스템보다 안정적이다. 깃이 오늘날 버전관리시스템의 표준으로 자리잡은 이유다.
■ 깃허브와 깃랩의 창업자
관련기사
- [기고] 클라우드 이행 위험 방지하는 데브옵스 플랫폼2022.04.07
- 깃허브 "코드 자동화와 재사용, 개발 생산성 증가"2021.11.19
- 깃허브, 업무관리 협업툴 ‘깃허브 프로젝트’ 정식 공개2022.08.01
- "데브옵스 툴 많을수록 관리부담...통합 플랫폼 뜬다"2021.02.23
깃허브는 2008년 2월 처음 만들어진 유서깊은 서비스다. 크리스 완스트라스, PJ 하얏트, 톰 프레스톤워너, 스콧 차콘 등이 루비온레일즈를 사용해 개발했다. 깃허브는 시장 선점 효과를 톡톡히 누리며 오픈소스의 본거지로 자리잡았다.
깃랩은 우크라이나 개발자인 드미트리 자포로제츠와 발레리 시조프가 2011년 만들었다. 원격 협업 개발을 원했던 창업자의 필요에 따라 깃랩은 처음부터 코드 저장소 서비스면서 원격 헙업 도구 세트로 설계됐다.