<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>系列を表す語</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">計算機プログラム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版</anchor>を表す語</figcaption><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stable</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">安定版</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">development</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開発版</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">trunk</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">幹</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nightly</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alpha</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">beta</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gamma</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RC</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仮</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">release</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">revision</anchor></li></ul></figure><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書籍</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版</anchor>を表す語</figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">刷</anchor></li></ul></figure><section><h1>版番号</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite xml:lang="ja">Xユーザーの江添亮さん: 「Ubuntu 23.10、パッケージ化されたPythonのソフトウェアが一つ壊れていた。理由は、バージョン番号文字列の誤った比較。&quot;x.y.z&quot;という形式のバージョン番号文字列を比較しようとして、単なる文字列比較を用いていた。xが2桁になったので無事死亡。」 / X</cite>, <time>午前6:17 · 2023年11月7日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2023-11-06T21:17:30.000Z</attrvalue></time>, <time>2023-11-07T03:17:02.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://twitter.com/EzoeRyou/status/1721637958607163718">https://twitter.com/EzoeRyou/status/1721637958607163718</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="ja">Xユーザーの江添亮さん: 「プログラマーが自らバージョン番号の比較を実装してはいけない。そもそもバージョン番号を比較するということ自体やめるべきだ。互換性の問題があるなら問題があるところで失敗させたほうがいい。」 / X</cite>, <time>午前6:17 · 2023年11月7日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2023-11-06T21:17:30.000Z</attrvalue></time>, <time>2023-11-07T03:17:02.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://twitter.com/EzoeRyou/status/1721637960238629282">https://twitter.com/EzoeRyou/status/1721637960238629282</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
そもそも論でいえばマイナーバージョンという謎慣習をやめるべき。版の区別なら <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">git</anchor> の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sha</anchor> で十分。大小がほしいなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">単調増加</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">整数</anchor>で良い。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> 
整数でも小数でもない謎に階層化された番号付け、しかも製品ごとに採番規則が違い比較方法が違うという非合理的な悪習はなくしていきたい。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA sniffing</anchor></p><section><h1>版番号の命名規則</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>などは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">安定版</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開発版</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メジャーバージョン</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マイナーバージョン</anchor>などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版番号</anchor>の付け方の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">規則<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">命名規則</title></anchor>を定めていることがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> 
特定製品に依存しない汎用的な基準を定めたものもあります。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SemVer</anchor></li></ul></section></section></section><section><h1>プロトコル</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版番号</anchor>に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル要素</anchor></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版管理システム</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版資源</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">根版資源</anchor></li><li><code>HTTP-Version</code></li><li><code>Versioning:</code></li><li><code>X-Bin-Versioning:</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RVSA</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バージョニング</anchor>も参照。</p></section><section><h1>設計論</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バージョニングの失敗</anchor></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="EN">XSL Transformations (XSLT) Version 3.0</cite>
(<time>2017-06-06 21:59:56 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/TR/2017/REC-xslt-30-20170608/#package-versions">https://www.w3.org/TR/2017/REC-xslt-30-20170608/#package-versions</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">第2版症候群</anchor></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="ja">Xユーザーの𝕋𝐞𝐧𝔽𝐨𝐫𝐰𝐚𝐫𝐝🖖さん: 「バージョン情報を隠すことで得られるメリットはですね、バージョン情報だけ見て「これは脆弱性を含むOpenSSHを使ってますね、すぐに対処してください」と言ってくる所から、自社の工数を守ることですよ。 こんなくだらん指摘の調査に工数取られて肝心の対策にかける時間が奪われたら…」 / X</cite>, <time>午前4:13 · 2024年9月26日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-09-25T19:13:22.000Z</attrvalue></time>, <time>2024-09-26T03:40:30.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/ten_forward/status/1839020387084218427">https://x.com/ten_forward/status/1839020387084218427</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="ja">Xユーザーの𝕋𝐞𝐧𝔽𝐨𝐫𝐰𝐚𝐫𝐝🖖さん: 「私も以前はApacheのバージョン情報隠すなんて意味ないやんって思ってましたよ。でも、くだらん指摘が頻繁に来て調査に時間が奪われるくらいなら、さっさとバージョン情報隠してって思いましたね。」 / X</cite>, <time>午前4:14 · 2024年9月26日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-09-25T19:14:45.000Z</attrvalue></time>, <time>2024-09-26T03:40:30.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/ten_forward/status/1839020737853796744">https://x.com/ten_forward/status/1839020737853796744</anchor-external></li></ul></li></ul></section></body></html>