7.7 KiB
title, source_type, url, archive_url, related_branches, related_projects, vendor, tags, created
| title | source_type | url | archive_url | related_branches | related_projects | vendor | tags | created | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CalVer — Calendar Versioning Specification (calver.org) | official-doc | https://calver.org/ |
|
|
calver.org |
|
2026-06-15 |
CalVer — Calendar Versioning Specification (calver.org)
Layer:
raw/— 외부 자료(공식 문서)의 원문 발췌·출처 기록. 검증된 요약은/ingest후wiki/concepts/에source-summary-template형식으로 별도 작성. 원본은 raw에 영구 보관.
Parent / 활용 branch
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-build-release-supply-chain-contract | Decision D9 — "CalVer forbidden"의 negative-evidence: CalVer when-to-use 기준(대규모/시간민감 scope)이 library/skeleton에는 해당하지 않음. |
출처 / Source
- 원본 URL: https://calver.org/
- 아카이브 URL: (미등록)
- 저자 / 조직: calver.org (Mahmoud Hashemi 외 기여자)
- 발행일: (연도 미표기, ongoing)
- 마지막 확인일: 2026-06-15
왜 저장했는지 / Why archived
feature-build-release-supply-chain-contract 브랜치의 D9 결정 — "artifact version = SemVer + git sha suffix, CalVer forbidden" — 의 negative-evidence 근거.
CalVer 공식 사이트가 명시하는 적합 조건(대규모/상시변동 scope, 시간민감 프로젝트)이 library skeleton에 해당하지 않음을 원문으로 뒷받침하며, library/API compatibility-contract 사용 사례에 대한 권고가 원문에 아예 없음을 기록한다.
핵심 인용 / Key quotes (verbatim, 3~5문장)
[§Overview / Definition] "CalVer is a versioning convention based on your project's release calendar, instead of arbitrary numbers."
[§Overview / When to use — Question 1] "Does your project feature a large or constantly-changing scope?"
[§Overview / When to use — Question 2] "Is your project time-sensitive in any way? Do other external changes drive new project releases?"
[§Overview / When to use — Conclusion] "If you answered yes to any of these questions, CalVer's semantics make it a strong choice for your project."
[§Absence — explicit] calver.org 는 library 개발, API compatibility contract, skeleton project 용도에 대한 권고를 전혀 포함하지 않는다. "when NOT to use CalVer" 섹션도 존재하지 않는다. 위 두 질문에 "no"를 답하는 프로젝트(scope 고정, 시간민감 아님)에 대한 지침은 원문에 없다. (absence-of-guidance notation — verbatim 발췌 아님)
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| CALVER-C1 | CalVer는 "임의 숫자" 대신 프로젝트의 릴리즈 캘린더를 기반으로 하는 버전 규약이다 | [§Definition] "CalVer is a versioning convention based on your project's release calendar, instead of arbitrary numbers." | official-reference |
CalVer를 도입/비교하는 모든 프로젝트 | SemVer가 더 적합한 경우에 대한 직접적 언급 없음 |
| CALVER-C2 | CalVer의 첫 번째 적합 조건: 프로젝트가 대규모이거나 상시 변동하는 scope를 가지는가 | [§When to use] "Does your project feature a large or constantly-changing scope?" | official-reference |
Ubuntu, Twisted, Boltons 같은 대형 시스템/유틸리티 모음 | 소규모·고정 scope를 가진 library/skeleton에 CalVer를 쓰지 말라는 명시적 금지 아님 — 질문에 "no"를 답하는 경우는 원문이 침묵 |
| CALVER-C3 | CalVer의 두 번째 적합 조건: 시간 민감하거나 외부 변화(보안 업데이트, 비즈니스 변경, timezone 변경 등)가 릴리즈를 구동하는가 | [§When to use] "Is your project time-sensitive in any way? Do other external changes drive new project releases?" | official-reference |
certifi(인증서), pytz(timezone), security patch 중심 프로젝트 | compatibility contract가 주 설계 축인 library에는 이 조건이 미적용임을 명시하지 않음 |
| CALVER-C4 | 위 두 질문 중 하나라도 "yes"이면 CalVer가 강력한 선택이 된다 | [§When to use] "If you answered yes to any of these questions, CalVer's semantics make it a strong choice for your project." | official-reference |
적합 조건을 만족하는 프로젝트 | "no"인 경우 CalVer가 부적합하다는 명시적 진술 없음 — 부재(absence)를 negative-evidence로 사용해야 함 |
| CALVER-C5 | calver.org는 library 개발, API compatibility contract, skeleton project 에 대한 CalVer 사용 권고나 금지를 포함하지 않는다 | [§Absence] 원문 어디에도 "library", "API compatibility", "skeleton" 사용 사례에 대한 섹션이 없음 | needs-confirmation |
D9 negative-evidence 논증(library skeleton에 CalVer가 금지되어야 하는 이유를 원문 부재로 뒷받침) | 이 부재만으로 CalVer가 library에 "잘못"이라는 것을 직접 증명하지 않음 — SemVer 공식 문서(semver.org) 보강 필요 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
CALVER-C1: CalVer는 릴리즈 날짜를 버전에 인코딩하는 규약임CALVER-C2+CALVER-C3: CalVer의 공식 적합 기준은 "대규모/상시변동 scope" + "시간민감/외부구동 릴리즈"CALVER-C4: 두 조건 중 하나라도 맞으면 CalVer가 "강력한 선택"이라고 원문이 직접 말함CALVER-C5: library/API/skeleton 사용 사례에 대한 guidance가 원문에 전혀 없음 (absence-of-guidance)
- 이 자료가 증명하지 않는 것:
- "CalVer는 library에 쓰면 안 된다"는 명시적 금지 — 이것은
CALVER-C5의 absence + SemVer 설계 철학을 결합한 추론임 - SemVer가 library에 더 적합하다는 주장 — 이는 semver.org 원문으로 별도 뒷받침 필요
- CalVer를 사용하는 library가 실패했다는 사례 증거
- "CalVer는 library에 쓰면 안 된다"는 명시적 금지 — 이것은
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- D9의 완전한 정당화를 위해 semver.org의 "API compatibility" 철학 원문 등록 권고 (D9의 Decision Evidence Map은 현재 UNSUPPORTED_DECISION 상태)
CALVER-C5는needs-confirmation— calver.org가 explicit exclusion list를 게시하지 않는 것이 "library에 부적합"의 충분 근거인지 별도 검토
메모 / Notes
- calver.org Notable Users: Ubuntu (
YY.0M), NixOS (YY.0M), Twisted (YY.MM.MICRO), youtube-dl (YYYY.0M.0D), certifi (YYYY.MM.DD), pip (YY.MINOR.MICRO), Spring Cloud (YYYY.MINOR.MICRO), Home Assistant (YYYY.MM.MICRO) — 공통점: OS 배포판, 인증서, timezone, CLI 유틸리티, 대형 프레임워크. Library skeleton과는 scope·driver 모두 다름. - D9 negative-evidence 논증 구조: (1) CalVer 적합 조건 = 대규모/상시변동 scope + 시간민감 (CALVER-C2, C3) → (2) ca-skeleton은 scope 고정·버전 호환성이 주 설계축 → (3) 조건 불일치 → (4) calver.org가 library/skeleton 사용 사례에 대한 guidance를 제공하지 않음 (CALVER-C5) → D9 결정 지지. 이 논증을 완결하려면 semver.org raw 추가 등록 권고.
CALVER-C4의 논리적 역 ("no이면 부적합")은 원문이 명시하지 않음. 이를 D9 지지 논거로 쓸 때 추론임을 명시해야 함.
Related / 관련
- 보강 권고 (아직 미등록):
[[raw/official-docs/semver-spec-semver-official]]— SemVer 공식 사이트 (semver.org), D9의 positive-evidence ("SemVer + git sha = library API compatibility contract 표준") - 이 자료를 인용한 wiki 요약: (생성 시 링크)