버전

2021년 5월 13일 수정

버전(Version)

버전(Version)은 주로 소프트웨어에 붙이는 고유한 번호 체계다. 주로 1.0 혹은 1.0.0 처럼 점으로 구분된 3가지 숫자를 이용해 소프트웨어가 언제 출시되었는지를 표시하는 용도로 사용된다.

딱히 정해진 규칙은 없으나, 버전은 최신에 출시된 것일수록 높은 숫자를 가진다.

일반적인 구분

버전은 일반적으로 최소한 x.y 같이 점으로 구분되는 두 가지의 숫자로 구성된다. 첫 숫자 x는 체계를 완전히 갈아 엎은 완전히 새롭게 만들어지거나 대규모 업데이트가 있을 경우 올라가고, 그 이후의 숫자 y는 일반적인 기능 추가나 개선 등의 업데이트가 발생할 때마다 증가한다.

x.y.z 처럼 세 가지 단위로 구분될 경우 가장 마지막의 숫자 z는 기능적인 개선 보다는 버그 픽스가 발생할 때 올라가는 경우가 많다.

하지만 버전 명명은 순전히 개발사 마음이기 때문에 이런 규칙에 얽메일 필요는 없다.

그저 최신일수록 높은 숫자를 가진다는 것은 관례라고 생각하자.

최신 버전 구분하기

0.1과 1.0은 어떤게 최신일지는 대충 감이 온다. 1.0이 당연히 최신일 것이다.

그렇다면 1.3와 1.12 두 가지 버전이 있다고 쳤을 때 어느 버전이 더 최신 버전일까?

이 경우는 1.3 보다 1.12가 더 최신일 가능성이 높다. 단순하게 비교하려면 1.3을 1.03 이라고 생각하면 된다.

버전은 실수 즉 수학에서 볼 수 있는 소숫점을 가진 숫자가 아니다. 점의 갯수는 3개 이상이 될 때도 있다. 예를 들어 1.0.1과 1.0.10은 수학에서는 존재할 수 없는 숫자다. 당연히 숫자로 비교할 수가 없다.

거기다 위 둘도 서로 다른 버전이다. 앞서 이야기한 것처럼 1.0.1은 1.0.01이라고 생각하고 비교하는 게 좋다. 따라서 이 경우 1.0.1보다 1.0.10이 최신 버전이다.

버전을 최신 여부를 구분할 때는 점 단위로 떼어서 각각의 숫자를 별개로 판단하되 앞에서부터 순서대로 크기를 비교하는 방식이 추천된다. 당연히 앞자리가 크면 뒷자리는 더이상 비교하지 않아도 된다.

버전에 영문자가 붙는 경우

예를 들어 1.0.0a 나 2.0.1b 처럼 뒤에 영문자가 붙는 경우가 있다. 영문자가 의미하는 것은 역시 개발사 마음이나, 보통 a의 경우 Alpha 즉 내부 테스트 버전을 의미하는 경우가 많고, b의 경우는 Beta 즉 공개 테스트 버전을 의미하는 경우가 많다.

물론 이 경우도 순전히 제조사 마음대로 붙일 수 있으니 함부로 오해해서는 안 된다.

영문자가 붙은 경우 숫자의 우위를 비교하기 힘든데, 개인적인 경험으론 영문자가 없는 버전은 정식 출시 버전이기 때문에 더 최신인 경우가 많았다.

1.0.3a2 처럼 영문자 뒤에 숫자가 붙는 경우도 있는데 앞서 이야기 했지만 버전 붙이기는 개발사 마음이니 적당히 알아서 해석해야 한다.

요즘은 이런 영문자를 뒤에 붙이는 경우는 잘 없으니 이 항목은 무시해도 될지도 모른다.

RC 버전?

버전 근처에 RC라는 단어가 붙는 경우도 있다. 여기서 RC는 Release Candidates의 약자다. 쉽게 말해서 '정식 릴리즈 후보' 라는 의미다. 따라서 베타 버전과 비슷한 의미로 보는 것이 합당하다.

하지만 RC는 여러 버전이 나올 수 있다. RC1, RC2 처럼 말이다. 하지만 RC 끼리 최신 버전을 구분하는 것은 의미가 없을 수도 있다. RC2가 나왔다가 RC1이 정식이 되는 경우가 없지는 않다.

GM 버전?

RC와 비슷하게 버전에 GM이라는 단어가 붙는 경우도 있다. 여기서 GM은 Golden Master의 약자다. 이 단어는 '미리 나왔지만 사실상 정식 버전' 이라는 의미로 해석할 수 있다.

과거 CD 등으로 소프트웨어를 출시할 때 출시 일정을 맞추기 위해 CD 제작사에 미리 내용물을 먼저 보내던 것이 GM판이었는데 이런 용어가 관례화되어 현재로 그대로 쓰이고 있다.

하지만 요즘은 GM이 나온 이후에도 패치가 진행되어 정식 출시되는 경우도 없지는 않으므로 GM이 이제는 완벽한 정식버전을 의미하는 것은 아니게 되었으니 주의하자.

특수한 버전 관례들

이와는 다르게 조금 특수하게 버전을 붙이는 두 가지 예를 보자.

macOS의 경우 과거 OS X 라는 이름이었다. 여기서 X는 10을 의미한다. 실제로 이 때부터 내부 버전은 10.x.y 라는 형식으로 출시되고 있다. 지금도 macOS는 매년 x가 1씩 증가하는 식으로 소프트웨어 출시 일정을 조정하고 있다. 가장 최신 버전인 카날리타(Catalina)의 경우 10.15.x 버전이다.

크롬의 경우는 기능 개선이 있을 때마다 제일 앞의 버전을 증가하여 출시하고 있다. 그래서 무자비한 버전 크기를 자랑한다. 이 글을 쓰는 현재 크롬의 최신 버전은 83.0.x.y 다.

그 외 특수한 경우

지금은 보기 힘들지만, 예전에는 버전 중 점을 쓰지 않고 그냥 숫자와 영문자를 붙여쓰는 경우가 존재했다. 예를 들어 89031a 같은 식이다. 사실상 버전이라기 보다는 릴리즈 번호같은 느낌의 숫자다. 보통 이런 릴리즈 번호는 내부에서만 쓰고 외부에는 일반적인 버전을 내보내는 경우가 많은데 그렇지 않고 릴리즈 번호를 버전으로 사용한 예이기도 하다.

앞서 이야기 했지만 버전 명명은 정해진 규약 따위가 없기 때문에 개발사에서 붙이기 마음이다. 다만 언급했다시피 현재는 이런 무식한(?) 버전은 없다고 생각하자.