Ubuntu Weekly Topics

2013年1月25日号 Raring Ringtailの開発,ローリングリリース,Ubuntu for phonesのアプリ開発

この記事を読むのに必要な時間:およそ 5.5 分

Raring Ringtailの開発

Ubuntuの開発者が多い国や地域でのホリデーシーズンも終わり,4月リリース予定のRaring Ringtailの開発が加速してきました。今回のリリースでは3月半ばのベータまでマイルストーンリリースが出ないこともあって,Raringで起こっている変化に気づきにくいようです。そこで一度,これまでの状況を確認してみましょう。

Unity

Unityは,バージョン自体は12.10と同じ6.12.0であるものの,Jenkinsを使った自動ビルドに対応したため,毎日のようにスナップショットパッケージがアップロードされています注1)。特にデザインまわりの改善が多いことが現時点での特徴です。

注1
この辺の詳しい仕組みは,開発者の一人であるDidier Rocheがそのブログで解説しています

Nexus 7

Nexus 7は主に内蔵ハードウェアまわりの対応に注力しています。WiFi,Bluetooth,タッチスクリーンについてはいくつかの問題を抱えているものの,現状でも十分に動作しています。サウンドについては依然として一度サスペンドに移行し復帰しないと音が鳴らないようです。

最近の大きな変更点としては,加速度計を使った画面の自動回転に対応したことでしょう。回転時に画面がちらつくものの,ソフトウェアキーボードやLauncher,Panelも含めて思いのほかスムーズに動いています。

ただし現在は1秒毎にsysfsのデータを読んで,xrandr/xinputコマンドが実行されるシェルスクリプトがデーモンとして動いているだけですので,GNOME Settings Dameonなどを使ったもう少しCPU/メモリー/バッテリーにやさしい方法を模索中です。なお,光度計も動作しているためディスプレイの明るさの自動調整も入るでしょう。

カメラ,GPS,NFCについては現在も動作していません。

その他

今後は加速的にさらに多くの機能追加や変更が行われる予定です注2)。特にベータリリース直前やカーネルフリーズ直前あたりで(場合によってはPCが起動できなくなるような)大きな変更がぽこぽこ入ってきますので注3),Raringの今後にご期待ください。

注2
例えばソフトウェアの更新のグルーピングの変更やアップデート前に再起動が必要かどうか表示できないかという変更も話題になっています。
注3
特に今回は「Skunk Works」と題して,これまでShopping LensやHUDといった「秘密裏に開発をすすめてリリース近くなって公開」するようなプロジェクトを公募しているので,その成果物が来月あたりから投入されると予想されます。

Ubuntuのローリングリリース

1月23日のUbuntu On AirでCanonicalのカーネルチームマネージャーであるLeann Ogasawaraが,Ubuntuのリリースを「ローリングリリース」に変更する考えについて言及したことが,各所話題なっています

動画の42分ごろからの話を簡単にまとめると,「LTSはこれまでどおり2年ごとにリリースしつつ,その間の通常の6ヶ月ごとのリリースを取りやめて,アップデートするだけで最新バージョンのパッケージを利用できるような体制も,取りうる可能性の一つとして議論している」ということです。

Ubuntuのリリース体制について

本題に入るために一度「現在の」Ubuntuのリリース体制についておさらいしておきましょう。まず,Ubuntuは6ヶ月ごとにリリースを行う「タイムベースリリース」を採用しています。リリースは4月と10月ですので,リリース年とあわせてバージョン表記をしています。例えば2012年10月にリリースされたら12.10,2013年4月にリリースされるものは13.04といった具合です。

セキュリティアップデートの対応期間はリリースされてから18ヶ月,つまり12.10なら14.04がリリースされるころにサポート期間がきれます。

これとは別に2年に一度の4月のリリースは5年間のサポートをうたった「Long Term Support(LTS)」としてリリースしています。直近だと12.04がLTSリリースでした。つまり,2年前の10.04や,2年後の14.04もLTSになる計算です。

LTSのメリットとして,長期サポート以外に「LTS-to-LTSアップグレード」があります。これは通常のリリースが一つずつしかアップグレードできない(例えば12.10からは13.04へしかアップグレードできず,12.10から13.10への一足飛びのアップグレードはできません)のに対して,LTSは10.04から12.04へのアップグレードをサポートするという機能です注4)。これにより,「LTSのみ使う」という選択肢も可能になるわけです。

注4
実際のところ12.04 LTSリリース直後はまだ動作に問題があり,結局8月後半までこの機能は使わないようにとリリースノートに言及されれていました。

パッケージのバージョンについて

Ubuntuの基本スタンスとして,リリース後は特別な理由がない限り各ソフトウェアのバージョンをあげません。例えば12.10のリポジトリにあるソフトウェアのバージョンが1.0だったとして,Ubuntu 12.10のリリース後にそのソフトウェアのバージョンが2.0になったとしても,原則としてUbuntu 12.10のユーザーはバージョン1.0を使いつづけることになります。

「特別な理由」に該当し,バージョンが更新されるケースは次の3つになります注5)。

  • セキュリティ脆弱性が見つかった,もしくは「起動できない」などの根本的な問題が存在する場合。この場合はStable Release Updatesというレビューステップを経てアップデートされます。ただしこのSRUに該当したとしても,できるだけパッチのみ適用するようなより小さな変更で対応することが求められています。
  • Micro Release Exceptionsに該当するパッケージ。Firefoxのような短いスパンでリリースを行い,古いバージョンはサポートを外してしまうソフトウェアについては,MREとしてソフトウェアのバージョンをあげるようにしています。
  • Backportsにアップロードされたパッケージ。Ubuntuのリポジトリには,「Backports」と呼ばれる他のリリースのより新しいバージョンのパッケージを過去のリリースに取り込む仕組みが存在します。SRUに比べて条件が緩いため,セキュリティアップデートに該当しないアップデートはこの方法が利用されます。最近のリリースでは最初からこのリポジトリが有効になっているため,Backportsに存在するパッケージを明示的にインストールしたときは,そちらの新しいバージョンが利用されます。
注5
これらはあくまで公式なスタンスで,PPAなどを使って古いリリースでもより新しいソフトウェアを使う仕組みが,プロジェクト毎に用意されていることも最近は増えてきました。

ローリングリリースのメリットデメリット

一口に「ローリングリリース」と言っても,既に多くのディストリビューションでいろいろな形のローリングリリースが採用されています。Ubutnuで採用する場合はどういった形になるのでしょうか。

まず,LTSについてはこれまでどおり2年に1度となります。LTSという位置づけから,LTSリリースに対するSRUやMREについては変わらず,多くのソフトウェアのバージョンは維持しつつ5年間のサポートを提供することになるでしょう。

通常のリリースはなくなるので,LTSがリリースされる前後で,バージョンをあげるブランチ(RRブランチ)とLTSのためにバージョンを維持するブランチ(LTSブランチ)に分岐することになります。

もしその方法でいくとなると,次のようなメリットやデメリットがあげられます。

メリット
  • RRブランチのユーザーは常に最新のソフトウェアを利用できる(Debian sidに近い感覚)。
  • アップグレードという形で数百MBのイメージやパッケージを一度にダウンロードしなくてもいい。
  • LTS以外のサポートやテストは一本化できる。
  • 半年に一度動物を考えなくていい。
デメリット
  • RRブランチの安定性はこれまでのリリースとは下がる(UbuntuのAlphaあたりを一般ユーザーも使うことになる)。
  • リリースというリセットポイントがないため,日々のアップデートで少しずつ異なる環境で発生する不具合と戦う必要が出てくる。
  • リリース後にある程度安定してからアップグレードという技が使えない。
  • 半年に一度のリリースパーティができない。

いずれも運用方法によって回避や軽減できるものではあります。おそらく他のディストリビューションの体制も参考になるでしょう。

ただ,定期的で短いスパンで「リリース」という話題を提供してきたことが,Ubuntuのコミュニティ拡大の一助になったのは事実です。当時とはディストリビューションを取り巻く状況は変わってきているとはいえ,そう簡単には体制は変わりません注6)。

実際のところ,もしローリングリリースを採用することになっても反映されるのは14.04からです。少なくとも13.04や13.10はこれまでどおりリリースされますので,実際の動きが発生するのは今年の後半以降になるでしょう注7)。

注6
過去の例だと,Ubuntu Technical BoardのScott James Remnantが,より短期間のリリースを提案したことがあります。結局この時は従来のリリース方法を維持するということに落ち着きました。
注7
発言したのがカーネルチームのマネージャーだということもポイントです。もっとも多くのリリースを複数のパッケージでサポートしなければいけないカーネルチームはローリングリリースに移行した方がテストの手間が省けます。特にLTSのカーネルについては,14.04に向けてより良い方法を模索しているようです

Ubuntu for phonesのアプリ開発

今月初めにUbuntu for phonesの話SDKのプレビュー版が公開されたことをうけて,さっそくQMLを使ったアプリが開発・公開されています。

Ubuntu Phoneまわりでは,Ubuntu Phoneを意識した壁紙Android用Live Wallpaperなども作られています。

注8
何のアプリかは動画からどうぞ。Android版もあります。Jono BaconはUbuntuのコミュニティマネージャーです。念のため。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入