본문 바로가기

IT

소프트웨어 버전 네이밍과 상태(GA, RC, PRE) 표기에 대해 알아보자

반응형

스프링 배치를 확인 하던 중 CURRENT, GA, PRE 등 표기가 있어서 정리해 보았다.

Spring Batch 제공 버전

버전 네이밍 표기


  • 버전 네이밍은 숫자와 점으로 이루어집니다. 예를 들어, 1.0.0과 같이 표기합니다.
  • 버전 네이밍은 주 버전, 부 버전, 패치 버전의 세 가지 숫자로 이루어집니다. 주 버전.부 버전.패치 버전의 형식으로 표기합니다.
  • 베타 버전, RC, PRE 등의 상태는 일반적으로 버전 숫자 뒤에 붙여서 표기합니다. 예를 들어, 1.0.0-beta1과 같이 표기합니다.
  • GA (General Availability) 상태인 경우, 일반적으로 버전 숫자만으로 표기합니다. 예를 들어, 1.0.0과 같이 표기합니다.

이미지 출처: https://blog.friendsofgo.tech/

Major version (주 버전)

주요 기능 변경 및 개선이 이루어진 경우에 증가합니다. 주 버전의 변경은 하위 호환성이 없을 수 있으므로 업데이트 시 주의가 필요합니다.

 

Minor version (부 버전)

새로운 기능이 추가되었지만, 기존 기능과의 호환성이 유지되는 경우에 증가합니다. 일반적으로 새로운 기능이나 개선 사항이 포함되며, 업데이트 시 주의사항은 적을 수 있습니다.

 

Patch version (패치 버전)

버그 수정, 보안 패치 또는 작은 수정 사항이 있는 경우에 증가합니다. 패치 버전은 기존 버전과의 호환성을 유지하면서 문제를 해결하는 업데이트를 나타냅니다.

 

Beta version (베타 버전): 출시 전 테스트를 위해 제한된 사용자 그룹에게 제공되는 버전입니다. 베타 버전은 아직 완전히 안정화되지 않았을 수 있으며, 사용자로부터 피드백을 받아 개선하는 데 사용됩니다.

 

 

버전 상태 표기


  • Alpha: 소프트웨어 개발 초기 단계에서 사용되며, 아직 완전히 안정화되지 않은 초기 버전입니다.
  • Beta: 출시 전 테스트를 위해 제한된 사용자 그룹에게 제공되는 버전입니다. 베타 버전은 아직 완전히 안정화되지 않았을 수 있으며, 사용자로부터 피드백을 받아 개선하는 데 사용됩니다.
  • RC (Release Candidate): 출시 예정 버전 중 최종 테스트를 거친 후, 출시 전 마지막 버전을 의미합니다.
  • GA (General Availability): 출시 버전을 의미하며, 일반 사용자가 사용할 수 있는 안정적인 버전입니다.
  • PRE (Preview): 출시 전 미리보기용으로 제공되는 초기 버전을 의미합니다.
  • LTS (Long-term Support): 장기적인 지원을 제공하는 버전을 의미합니다.

 

GA (General Availability)

출시 버전을 의미하며, 일반 사용자가 사용할 수 있는 안정적인 버전입니다. GA 버전은 일반적으로 출시 후에도 지속적으로 버그 수정 및 보완 업데이트가 이루어질 수 있습니다.

더보기

LTS는 Long-Term Support의 약어로, 장기간 지원되는 버전을 의미합니다. 소프트웨어 제품이나 운영 체제 등에서 사용되며, 일반적으로 2~5년 이상의 장기간에 걸쳐 지원됩니다. LTS 버전은 일반적으로 안정성이 높고, 보안 패치와 버그 수정 등의 업데이트가 지속적으로 제공됩니다.

 

LTS 버전의 장점은 다음과 같습니다.

  • 장기간 안정성: LTS 버전은 보안 패치와 버그 수정 등의 업데이트가 지속적으로 제공되므로, 장기간 안정적으로 사용할 수 있습니다.
  • 호환성: LTS 버전은 기존에 사용되던 소프트웨어와의 호환성을 유지하면서, 새로운 기능을 추가하거나 업데이트할 수 있습니다.
  • 지원: LTS 버전은 일반적으로 제품 수명 주기 동안 지원됩니다. 따라서 문제가 발생했을 때, 개발자나 제조사에서는 적극적으로 대응하며 사용자들에게 문제를 해결하는데 도움을 줍니다.
  • 안정성: LTS 버전은 일반적으로 안정성이 높습니다. 이는 새로운 기능을 추가하지 않고, 기존 기능을 유지하면서 보안 패치와 버그 수정 등을 제공하기 때문입니다.

LTS 버전은 일반적으로 기업에서 많이 사용되며, 안정적이고 지속적인 지원을 필요로 하는 서비스나 제품에서 많이 사용됩니다.

 

RC (Release Candidate)

출시 예정 버전 중 최종 테스트를 거친 후, 출시 전 마지막 버전을 의미합니다. RC 버전은 일반적으로 출시 전 마지막 테스트를 수행하고 버그 수정을 완료한 후, 곧바로 출시될 수 있는 상태입니다.

 

M (Milestone)

소프트웨어 개발 중 중간에 도달한 중간 단계 버전을 의미합니다. M 버전은 일반적으로 개발 초기에 사용되며, 기능 추가 및 변경 사항이 많이 포함됩니다. M 버전은 일반 사용자가 사용하기에는 적합하지 않으며, 개발자나 테스터가 테스트하는 용도로 사용됩니다.

예를 들어, 소프트웨어의 버전이 1.0.0-RC1인 경우, 1.0.0은 출시 예정 버전을 의미하며, RC1은 출시 전 마지막 테스트를 거친 후 최종 버전에 가까운 상태를 의미합니다. 이러한 RC 버전은 일반 사용자가 사용하기에는 적합하지 않으며, 테스터나 개발자가 테스트하는 용도로 사용됩니다.

반면에, 소프트웨어의 버전이 1.0.0-GA인 경우, 이는 출시된 안정적인 버전을 의미합니다. 이러한 GA 버전은 일반 사용자가 사용하기에 적합하며, 사용자 지원 및 유지보수 업무를 수행할 때 이용됩니다.

 

PRE (Pre-release)

소프트웨어 개발에서 "Preview"를 의미합니다. PRE 버전은 일반적으로 출시 전에 사용자에게 미리 제공되어 미리보기용으로 사용됩니다. 이 버전은 아직 완전히 안정화되지 않았으며, 기능이나 디자인 등이 변경될 수 있는 초기 단계의 버전입니다.

일반 사용자가 사용하기에는 적합하지 않으며, 주로 개발자나 테스터 등의 전문가를 대상으로 제공됩니다. PRE 버전을 사용하는 이유는 사용자들로부터 피드백을 수집하고 버그를 찾아내기 위해서이며, 이를 통해 최종 버전의 품질을 향상시킬 수 있습니다.

예를 들어, 소프트웨어의 버전이 2.0.0-PRE1인 경우, 2.0.0은 출시 예정 버전을 의미하며, PRE1은 출시 전 미리보기용으로 제공되는 초기 버전을 의미합니다. 이러한 PRE 버전은 일반 사용자가 사용하기에는 적합하지 않으며, 개발자나 테스터 등의 전문가를 대상으로 제공됩니다.

PRE 버전은 개발 초기에 사용자들로부터 피드백을 수집하고 버그를 찾아내기 위해 유용하며, 이를 통해 최종 버전의 품질을 높일 수 있습니다.

 

끝.

반응형