2.0」「○○2.0」という表記が流行したのを覚えていますでしょうか。見かける広告のコピーにも、最近では「バージョンアップ」という言葉が普通に使われています。バージョンや、バージョン表記は、ソフトウェアの世界だけでなく、ごくごく一般化したように思えます。実際には、どういう意味か分からないのが、バージョン表記です。アプリケーションソフトウェアの開発は、さまざまな状態/段階を経て完成します。その段階/状態と、リリース後の状態/段階を示したのが、バージョン表記です。Availability)一般ユーザー向けリリースの前にギリシャ文字の1文字目のα、2文字目のβを付けて開発版を表記するのが一般的です。ギリシャ文字の1文字目、α(アルファ)=開発の第1段階ギリシャ文字の2文字目、β(ベータ)=開発の第2段階その後、リリース候補版(RC)版となります。まれに、RC版に相当するバージョンを「γ(ガンマ)」版と呼ぶこともあります。一般的には、最初のユーザー向けのリリースを「Stable(安定板)1.0」とし、そこから順番に1.1や2.0などと数字を付けることが多いです。聞けない各バージョンの開発段階アルファやベータなどの意味について見てみましょう。□Pre-Alpha版まだ予定している機能がすべて実装されていない段階のバージョンです。開発途中の毎晩ビルドされるテスト用のバージョンを示す場合もあります。開発途中のバージョンです。開発の初期段階にあるものを指します。プロトタイプとして開発されたものは、含みません。未実装の機能や、未知の致命的な不具合が残っている場合もあります。動作が不安定であるという前提で開発者やテスト担当者が利用するものです。予定していた機能が一通り正常に動作する状態です。想定外の不具合や異常終了があるかもしれません。公式リリース前に一部のユーザーや開発メンバー周辺向けにテスト公開するくらいの出来のものです。アプリケーションのクラッシュやデータ損失、速度の遅さなどのリスクもあり、既知のバグがまだ残っている可能性があります。アルファ版で不安定過ぎる機能は、ベータ版では機能が停止されているような場合もあります。一般に広く公開してバグ報告を受けるのを主な目的とするバージョンです。ベータ版を一部のユーザーに試用してもらい、不具合の洗い出し、機能要望などを聞き出すためにあります。製品版になる前にユーザーを獲得するための手段として期間限定で無料配布するような場合もあります。Candidate)版リリース候補版のことです。致命的なバグがないかぎり、このバージョンがリリースされる予定となります。十分なテストが完了し、特に大きな不具合がなければ、このバージョンと同じものが、正式版となります。RC版の段階で重大な不具合が見つかり修正された場合は、RC2、RC3......とカウントアップする場合もあります。パッケージアプリケーションの場合、このバージョンがCD-ROMやDVD-ROMになって出荷されます。Master」と呼ぶこともあります。一般ユーザーが入手可能なバージョンです。□開発スタイルや開発手法の違いで変わる以上は、あくまで一般的な印象です。開発スタイルや開発手法の違いによって、バージョンの付け方が微妙に異なる場合もあります。昨今のWebアプリケーションのように、ベータ版の状態で多くのユーザーを集めて運用開始する例もありますが、それについては後ほど触れます。バージョン表記の数字の意味、分かっていますか?バージョン表記といえば、数字で表しているものも良く見かけます。beta」と表記されています。以下、数字を細かく見ると、以下のように分類できます。5:メジャーバージョン0:マイナーバージョン。この場合は、バージョン5の最初のもの307:累積バージョン。Chromeが出てから307番目に作られたもの11:累積バージョンのマイナー番号(子番号)。リビジョン(修正版)また、数字のほかに、文言も追加されています。Stable:安定版。多くのテストがなされ、一般に安定して使えるものBeta:ベータ版。新しい機能をより早く試してみたい人向け。多少不安定な場合もありDev:開発版。開発者向けのプレビュー版さまざまなバージョンが存在するので、どれが一番新しいものか、パッと見にはなかなか分かりにくい面があります。一般的には安定版を利用し、自身でリスクを認識したうえで、新しい機能を試したり、速度向上などを期待してBeta版やDev版を試してみるといいでしょう。ユーザーとして利用する場合は、アプリケーションの自動アップデート機能に頼るのも安心する方法の1つです。そのほか、「○○2003」「○○2008」など、年号でバージョン表記するものもあります。年号をバージョン表記に用いた場合、リリースされた時期は最新版であることがすぐ分かりますが、その年を過ぎてしまうと、「古いバージョンである」という印象が強くなります。マーケティング戦略に左右されるバージョン表記バージョン番号は単に開発する側の都合だけではなく、マーケティングの要素が強く影響して付けられる場合もあります。競合製品があった場合、競合製品よりも大きいバージョン番号が付いていた方がより新しい、より高機能なバージョンだと思ってもらえるたりなど、さまざまな理由があるようです。内部的なバージョン表記と対外的なバージョン表記が異なる場合も多々あります。4)また、単純に日付けをバージョン番号にしてしまう表記方法もあります。ver.2009-10-20Javaのバージョン番号も歴史的に見て、右往左往したものの1つでしょう。OSの特定のバージョンなど、オープンソースの世界で標準的な手法としては、バージョンが奇数のものは開発版、偶数のものが安定版といった暗黙の了解として扱われているものもあります。Perl周辺では、バージョン番号は数字のみで表記するのが、一般的なルールとなっています。alpha(α)やbeta(β)、RCなどは、共通の書き方がなく、いろいろな解釈がされてしまうため、避けられています。iPhoneアプリを開発して登録する際、1.01の次に、1.1は登録できず、1.10となります。Storeに表記されるバージョンをうまく管理するよう気を付けなければいけません。「バージョン」をアップするときのワナ頻繁にバージョンアップ(アップグレード)するソフトウェアで、下位互換/上位互換を気にする場合は、バージョン同士の比較に間違いがないことも重要な要素です。95の次が98、その次がMEや2000、単純な数字の比較では変なことになります。下記のように数字の後のピリオドの付け方でバージョンがまったく異なる場合もあるので、注意が必要です。1.2.345.670また、ソフトウェアによっては複数のバージョンが共存できないものも、共存できるものもあるので、扱いに注意が必要です。Appsは常に「バージョン・ベスト」、米グーグル副社長)。2.0の醍醐味」という感じで、興味深く迎えられました。ベータ版の状態で多くのユーザーを集めて運用開始する例もあります。誰も不完全なものを喜んで利用したいわけではありません。37signals社のように、「ベンチャー企業がユーザーに信頼して使ってもらえるサービスをローンチする際は、「ベータ」といって責任逃れをしてはいけない」という確固たる考えを持つ場合もあります。開発リソースが足りないとき、ベータ版として中途半端なサービスではなく、必要な機能のみに力を注いだ「半分」に完成度を高めたサービスを使ってもらうのです。変更や修正が容易なWebサービスで新機能を加えたベータ版の提供を考えていたとしましょう。その際、ベータ版として新しいバージョンを分けるのではなく、既存のサービスにベータ版の機能を追加するのです。特定のヘビーユーザーには、先に使える権利を与えるのも良い方法です。して親しみを持って使ってもらえるユーザーに、開発の重要メンバーとして加わってもらい、機能要望を聞き入れたり、細かなバグの発見に協力してもらうのです。携帯電話用、iPhoneやスマートフォン用のアプリケーションであれば、一度インストールされて使い始めると、なかなかバージョンアップをしてもらえないといったことも考慮しておかなければいけません。バージョンアップの際には、それまで使っていたデータを保護したり、継続して使えるようにベータ版で利用したデータも正式版へ移行する手だても考えておかなければいけません。ソフトウェアのサスティナビリティ(持続可能性)も重要な要素となってくることでしょう。次回は、2010年5月初めごろに公開の予定です。内容は未定ですが、読者の皆さんの興味を引き、役立つ記事にする予定です。何か取り上げてほしい内容などリクエストがありましたら、編集部や@ITの掲示板までお知らせください。次回もどうぞよろしく。ゆきお)1970年北海道生まれ。マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。情報源となるWebページをまとめている。Javaにかかわる開発者/プログラマのための、ツール/サーバのインストール記事をバージョンごとに表でまとめたリンク集。分散型のバージョン管理とは何かについて解説し、3つを徹底比較する。分散型のバージョン管理システム「Git」が注目されている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。