Intro
소프트웨어를 사용하다 보면 ‘버전’, ‘리비전’, ‘릴리즈’ 같은 용어들을 자주 접하게 됩니다. “이게 대체 무슨 차이지?”, “왜 이렇게 복잡하게 나뉘어 있을까?” 하는 궁금증을 가져본 적 있으신가요?
특히 “버전은 뭐고 리비전은 또 뭔데?”, “릴리즈는 버전이랑 무슨 관계야?” 같은 의문들이 생겼습닌다. 이러한 궁금증을 해소하고자 소프트웨어의 ‘버전 관리’와 관련된 용어를 정리해보고자 합니다.
Version
소프트웨어의 상태 또는 단계를 나타내는 큰 묶음
- 소프트웨어, 프로그램 또는 애플리케이션의 특정 시점의 상태를 나타내는 고유한 식별자.
- 일반적으로 숫자나 문자를 포함하는 형식(예: 1.0, 2.5.1, v3.2.0-beta)으로 표시된다.
- 버전은 소프트웨어의 변경 사항과 진행 상황을 추적하는 데 사용됩니다.
- 이전 버전과 비교하여 업데이트, 버그 수정, 새로운 기능 추가 또는 개선 사항이 포함된다.
standard GNU version numbering
에서는 버전 표시를major.minor.revision
으로 나타낸다.
Revision
같은 버전 내의 작은 변경 또는 수정 사항
- 동일 버전 내에서의 수정 사항. 보통 사소한 버그 수정, 문서 변경 등 마이너 업데이트에 해당.
- standard GNU version numbering 에서는 버전의 가장 마지막 숫자가 revision이다. (major.minor.revision)
- 이전 리비전과 호환성을 유지하면서 변경이 이루어지는 경우가 많다.
- 리비전은 버전 내에서 더 작은 단위의 변경을 기록하는 데 사용될 수 있다.
- 더 넓은 의미에서는 코드 뿐만 아니라 문서나 디자인과 같은 종류의 디지털 자산에 대한 변경 사항 기록/관리 용도로도 사용됨.
Release
사용자가 접근 가능한 버전, 즉 정식으로 배포된 소프트웨어 버전
- 사용자에게 공개된 소프트웨어 버전. 정식 배포본.
- 알파, 베타, 릴리즈 후보(RC), 그리고 정식(Production/Stable) 등 단계로 구분 가능.
- 특정 버전의 소프트웨어가 사용자에게 제공될 준비가 되었음을 의미하는 중요한 단계.
- 소프트웨어 제품을 최종 사용자에게 공식적으로 배포하고 제공하는 과정을 포함.
- 릴리즈에는 새로운 기능, 버그 수정, 또는 보안 업데이트 등이 포함될 수 있음.
각각의 관계
버전과 리비전의 관계
- 버전은 큰 틀의 변화, 리비전은 세부 수정을 의미
- 리비전은 버전의 일부 구성 요소
- v2.0에서 버그 수정 → v2.0.1 (리비전 증가)
- 리비션은 종종 개별 구성 요소나 파일의 변경을 추적하는 데 사용됨.
- 이 리비전들이 모여 다음 “버전 1.1” 또는 “버전 2.0”으로 발전할 수 있음.
버전과 릴리즈의 관계
- 릴리즈는 특정 버전의 소프트웨어를 사용자에게 배포하는 행위 또는 그 결과물.
- 버전은 내부적 개념일 수 있고, 릴리스는 공개 목적
- 릴리스는 특정 버전을 대표함
- “버전 X.Y.Z가 릴리즈되었다”는 식으로 사용됨.
- 릴리즈는 해당 버전이 개발, 테스트, 배포 과정을 거쳐 사용자가 사용 가능하도록 만들어졌음을 의미함.
릴리즈와 리비전의 관계
- 릴리스는 전체 배포 단위, 리비전은 그 내부 구성
- 리비전은 릴리스의 하위 단위
- v1.0.2는 v1.0 릴리스의 두 번째 리비전
Comments