서문
스마트폰 쓰다 보면 "새로운 업데이트가 있습니다!"라는 알림, 하루에도 몇 번씩 보시죠?
게임, SNS, 은행 앱 할 것 없이 우리를 끊임없이 따라다니는 이 업데이트 알림!
그런데 말입니다, 업데이트 내역을 보면 꼭 v3.1.2, v8.14.2 처럼 알쏭달쏭한 숫자들이 붙어있어요.
우리도 공문서 기안하다 보면 '최종', '진짜 최종', '이게 진짜 마지막’, ‘유서ㅠ' 처럼 그냥 이름 붙이면 편할 텐데,
형태가 다를뿐이지 우리도 무언가를 만드는 산출물에 버전 + 네이밍 = 버저닝을 붙이고 있습니다.
이전 버전과 구분을 해야되는 버저닝은 어떤 의미가 있는지
소프트웨어에는 어떤 의미가 있는지 정리드립니다.
작명 버전 센스
2010년대 박근혜 정부는 ‘정부 3.0’ 이라는 IT 종합 정책을 발표합니다.
당시 IT 산업 일부 종사자들은 “오.. 작명이 좀 센스있네”, “네이밍 잘했네” 라는 반응이 있었습니다.
아마도, IT 종사자들은 오른쪽의 링크에 표시된 정부의 의도와는 조금 달리 이해한 부분입니다.
그리고 비IT 종사자들은 아래와 같은 궁금증을 가진 경우도 있었습니다.
“3이면 3이지… 3.0은 뭐고…. 다른 숫자 1, 2도 아니고 5도 아니고… 왜 3일까?”
이처럼 IT 직군 종사자들과 비 IT 종사자들이 이해하는 바가 다른 이유는 소프트웨어 작명,
버전 네이밍, 즉 버저닝에 있기 때문입니다.
출처 : 행정안전부 국가기록원 “정부 3.0”
간단히 소프트웨어 개념으로 설명하자면,
1.0 (Open, 우리 서비스 냈어!)
2.0 (Breaking Changes, 조금 큰 변화가 있어!)
3.0 (Stabilization, 이제 좀 안정화가 되었어!)
……. 8.0 (stop water, 고인물) …… 19.0 (dirty water, 썩은물)
라고 요약됩니다. ( 더 자세한 내용은 ‘Semantic Versioning 참고’ )
그러므로, ‘정부 3.0’ 이란 짧은 단어로 안정화된 IT 정책을 발표한 것이 아닐까 (개인적으로) 생각합니다.
그렇다면, 0.1, 0.4, 0.8 같이 1.0 이하의 숫자는 사용안하나? 생각이 들 수 있습니다.
1.0 → 서비스 오픈, 즉 1.0 이하는 아직 개발단계를 의미하기 때문에
버전을 숫자로 사용하기 보다 알파(개발자 테스트), 베타(예상 고객 테스트)로 사용합니다.
우리가 간혹 신종 게임이 출시되기 전에 ‘베타 테스터 모집합니다’ 라는 문구를 보는 이유가 여기에 있습니다.
버저닝 구성?
버전은 보통 점(.)으로 나뉜 세 개의 숫자로 되어 있습니다. (예 : 4.3.8, 3.9.2, …..)
첫 번째 숫자 . 두 번째 숫자 . 세 번째 숫자
이 숫자들은 각각 다른 뜻을 가지고 있습니다. 우리 집을 예로 들어서 설명드립니다.
① 첫 번째 숫자 (대장 숫자)
튼튼하게 새로 짓는 대공사! 
이 숫자가 바뀔 때는 우리 집을 완전히 새로 짓는 것처럼 아주 큰 변화가 생겼다는 뜻입니다.
예를 들어 1.7.5 버전이 2.0.0 버전으로 바뀌었다면, 앱의 모습이 완전히 달라지거나 아주 중요한 기능이 바뀐 것입니다.
② 두 번째 숫자 (꾸미기 숫자)
새로운 가구를 들여놓는 날!
이 숫자가 바뀔 때는 우리 집에 새로운 소파나 멋진 TV가 들어오는 것처럼 새로운 기능이 생겼다는 뜻입니다.
예를 들어 2.1.9 버전이 2.2.0 버전으로 바뀌었다면, 없었던 재미있는 기능이 추가된 것입니다.
③ 세 번째 숫자 (고치기 숫자)
보이지 않는 곳을 고치는 날! 
이 숫자가 바뀔 때는 우리 집의 망가진 창문을 고치거나, 보이지 않는 벌레를 잡는 것처럼 작은 문제들을 해결했다는 뜻입니다.
예를 들어 2.2.6 버전이 2.2.7 버전으로 바뀌었다면, 게임이 멈추는 문제를 고치거나, 더 안전하게 앱을 쓸 수 있도록 만든 것입니다.
빅테크 기업들의 버저닝 역사
버저닝은 꼭 숫자였을까?
아닙니다!
빅테크 대표 기업인 애플과 구글은 자사 상품에 숫자가 아닌 저마다 의미하는 단어를 붙였습니다.
단순한 버저닝에도 의미를 부여하여 사용자들의 관심을 부르고 싶은게 아닐까 생각됩니다.
애플
1. 클래식 시대 (1984년 ~ 2000년): "시스템"과 "Mac OS"
아주 먼 옛날, 처음 Mac이 나왔을 때는 이름이 아주 단순했어요.
그냥 "시스템(System)"이라고 불렀죠.
그러다가 나중에 "Mac OS"라는 이름으로 바뀝니다.
이때는 주로 숫자로 버전을 표시했습니다. (예: Mac OS 8, Mac OS 9)
2. 맹수 시대 (2001년 ~ 2012년): "OS X"와 멋진 고양이과 동물들 
2001년, Mac 운영체제는 "OS X"라는 이름으로 완전히 새롭게 태어납니다.
이때부터 아주 특별한 전통이 시작됐는데,
바로 버전에 멋진 고양이과 맹수들의 이름을 붙이게 됩니다.
•
치타 (Cheetah), 퓨마 (Puma), 재규어 (Jaguar), 팬서 (Panther),
•
타이거 (Tiger), 레오파드 (Leopard), 스노우 레오파드 (Snow Leopard), 라이언 (Lion),
•
그리고 마지막으로 마운틴 라이언 (Mountain Lion)까지!
매년 어떤 멋진 맹수가 다음 주인공이 될지 기대하는 재미가 있었죠.
3. 캘리포니아 시대 (2013년 ~ 현재): "macOS"와 아름다운 자연 
맹수 이름들을 다 쓰고 난 뒤, 애플은 새로운 컨셉을 선보였어요.
바로 애플 본사가 있는 미국 캘리포니아의 아름다운 자연 명소 이름을 따오기 시작한 거죠!
•
매버릭스 (Mavericks): 파도가 멋진 해변
•
요세미티 (Yosemite): 거대한 암벽이 있는 국립공원
•
시에라 (Sierra): 웅장한 산맥
•
모하비 (Mojave): 신비로운 사막
•
카탈리나 (Catalina): 아름다운 섬
•
빅 서 (Big Sur), 몬터레이 (Monterey), 소노마 (Sonoma) 등
계속해서 캘리포니아의 멋진 장소 이름이 사용되고 있어요.
안드로이드
1. 달콤한 디저트 시대 (2009년 ~ 2018년): 알파벳 순서대로 디저트 먹기! 
가장 큰 특징은 바로 알파벳 순서대로 달콤한 디저트 이름을 버전에 붙입니다.
매년 새로운 안드로이드가 나올 때마다 "이번엔 어떤 디저트일까?"
하고 전 세계가 기대했습니다.
어떤 디저트들이 있었는지 살펴보면 아래와 같아요.
•
C는 컵케이크 (Cupcake)
•
D는 도넛 (Donut)
•
E는 에클레어 (Eclair)
•
F는 프로요 (Froyo) - 얼린 요거트예요!
•
G는 진저브레드 (Gingerbread)
•
H는 허니콤 (Honeycomb)
•
I는 아이스크림 샌드위치 (Ice Cream Sandwich)
•
J는 젤리빈 (Jelly Bean)
•
K는 킷캣 (KitKat) - 진짜 과자 회사랑 손잡고 만들어서 모두를 놀라게 했죠!
•
L은 롤리팝 (Lollipop)
•
M은 마시멜로 (Marshmallow)
•
N은 누가 (Nougat)
•
O는 오레오 (Oreo) - 킷캣에 이어 두 번째 과자 회사와의 협업이었어요!
•
P는 파이 (Pie)
구글 본사 앞에는 이 디저트들의 이름을 딴 귀여운 안드로이드 로봇 조형물들이 세워지기도 합니다.
2. 깔끔한 숫자 시대 (2019년 ~ 현재): 이제는 숫자로 불러주세요! 
그런데 이 즐거운 디저트 파티가 2018년에 나온 Android 9 '파이(Pie)'를 마지막으로 막을 내립니다
이유는 전 세계 모든 사람들이 더 쉽게 이해할 수 있도록 하기 위해서였죠.
예를 들어 '누가(Nougat)'가 어떤 디저트인지 모르는 나라의 사람들도 있으니까요.
그래서 2019년에 나온 Android 10부터는 애플처럼 아주 간단하고 명확하게
숫자로만 버전을 부르기 시작합니다. (Android 11, Android 12, Android 13...)
결론 : 버전은 ‘성장 일기’다
탐구를 통해,
소프트웨어나 여러분이 작성하는 산출물이든 그 결과물이 어떻게 변하고 발전해왔는지를 알려주는 ‘성장 일기’와 같다는 것을 알 수 있습니다.
‘ㅇㅇ 수립계획_찐최종’, ‘ㅇㅇㅇ 유지관리_지구종말버전’, ‘ㅇㅇㅇ 보고안_권ㅇ의 유작’