0%

version naming, 버전 네이밍, version name convention, 버전 뜻, 버전 표시 규칙, 버전 표기법

version

spring framework 나 여러 소프트웨어를 보다보면
6.1.0-RC1, 5.4.0-GA 이런 식으로 버전을 명명하는 경우가 있습니다.
각각의 뜻이 무엇을 의미하는지 알아보겠습니다.

숫자부분

6.1.0과 같이 이뤄진 앞버번은 대체로 아래와 같은 규칙을 따릅니다.

{major}.{minor}.{patch}
Major: 이전 버전과 호환이 안 되는 변경이 있다면 숫자를 올립니다
Minor: 이전 버전과 호환되는 기능 추가가 있다면 숫자를 올립니다.
Patch: 이전 버전의 버그를 수정했다면 숫자를 올립니다.

숫자 뒷부분 : 개발단계에 추가적으로 붙이는 부분

  1. 프리알파(pre-Alpha) : 이 단계는 실제 개발 이전 단계의 모든 버전을 칭하며, 보통 프로토 타입까지의 단계를 얘기합니다.
  2. 알파(Alpha) : 프로토 타입 이후 실제 테스트를 시작하는 단계부터 어느정도 기능이 구현된 단계입니다.
    이 단계에서는 일부 기능 별로 테스트하는 경우가 많습니다.
  3. 베타(Beta) : 알파 이후부터 소프트웨어 기능의 완성 전 버전 입니다.
  4. RC(Release Candidates) : 최종 릴리즈 혹은 출시후보를 의미합니다. 출시전 마지막 베타를 보통 RC라고 지칭합니다.
    rc버전이 나왔다고하면 곧 출시 되는구나 생각하시면 됩니다. rc버전에서 크게 버그가 안 보일 경우, 바로 출시 준비를 합니다.
  5. Nightly : 매일매일 업데이트 및 수정되어 올라오는 버전입니다.
    즉 하루하루 발생되는 이슈나 업데이트 사항이 있어 빌드되어 배포되는 버전입니다.
    이러한 버전은 정식 버전보다 안정성은 떨어질 수 있습니다.
  6. M(Milstone) : 6.0.0-M1, 6.1.1-M2와 같이 뒤에 숫자가 붙여지기도 하며,
    주요 기능 및 버그를 수정된 버전입니다. 아직 모든 기능과 버그들이 수정되지 않은 단계이다.

새로 개발 중인 기능이 있을 수 있다(인터페이스가 변경 될 수 있음)

숫자 뒷부분 : 정식출시 부터 붙이는 부분

RTM (Release to Manufacturing) : 제조업체가 하드웨어 장치와 마주치는 버그를 해결할 수 있도록 일반 대중에게 공개되기 전에 제조업체에 공개되는 버전입니다.
GA (General Availability) : 개발이 완료되어 웹이나 물리 매체를 통해 시장에서 이용할 수 있게 됨을 의미합니다.
LTS (Long Term Support) : LTS(Long Term Support)는 말 그대로 장기 지원되는 버전을 의미합니다.
일반 버전과 달리 안정성에 중점을 둔 버전으로, 기능 업데이트가 다른 일반 버전보다 적으나, 보안 업데이트의 지원 기간이 일반 버전보다 훨씬 길다. 그렇기 때문에 최신 기능보다 안정성이 더 중요한 곳에서 많이 쓰입니다