ビジネスとIT
Canonical は、Ubuntu One という新しい Web サービスを開始する準備を進めています。
Ubuntu Oneのファイル同期と共有
Ubuntu Oneのファイル同期と共有
人気のLinuxディストリビューション「Ubuntu」を開発するCanonical社は、Linuxデスクトップにクラウド同期とコラボレーション機能を提供する新しいWebサービス「Ubuntu One」の立ち上げを準備中です。現在、このサービスの開発は急ピッチで進められていますが、10月にリリースされる「Ubuntu 9.10」(コードネーム「Karmic Koala」)には、広く利用できるようになる見込みです。
Canonicalは月曜日、Ubuntuコミュニティのメンバーを対象にクローズドベータテストへの参加を呼びかけ始めました。Arsは実際に試用し、そのパフォーマンスを確認しました。また、CanonicalのエンジニアであるElliot Murphy氏とプロダクトマネージャーのMatt Griffin氏にもインタビューを行い、Ubuntu Oneの背後にある技術について説明を受け、Canonicalのサービスの将来計画についても意見を伺いました。
Ubuntu Oneは、緊密なデスクトップ統合をサポートします。この目標を達成するために、開発者たちは、サービスをデスクトップエクスペリエンスにシームレスに統合するクライアントソフトウェアを開発しています。このソフトウェアは現在、LaunchpadでホストされているUbuntuパーソナルパッケージアーカイブ(PPA)でベータテスター向けに公開されています。ソースコードは近日中にオープンライセンスで公開され、他のLinuxディストリビューションでも利用可能になるとされています。
Ubuntu Oneファイル同期
Ubuntu Oneの現在の開発段階における主な機能はファイル同期です。クライアントソフトウェアはユーザーのホームディレクトリにUbuntu Oneフォルダを作成し、そのフォルダの内容を複数のコンピュータ間で同期します。ソフトウェアはローカルファイルシステム上のファイルが変更されるとそれを検出し、変更内容をWebサービスにアップロードします。Webサービスがデータをユーザーの他のコンピュータに伝播させます。
Ubuntu Oneユーザーは2GBのストレージを無料で利用できます。追加のストレージは有料です。Ubuntu Oneのウェブサイトによると、ユーザーは月額10ドルで10GBのストレージを利用できます。マーフィー氏によると、Canonicalは現在、最適な価格体系を検討中です。Canonicalはサービスの競争力向上を目指しており、10GBプランの料金は将来変更される可能性があります。
同期ソフトウェアはGNOMEのNautilusファイルマネージャーと統合されています。ファイルアイコンには同期状態を示す特別なエンブレムが表示されます。また、同期ソフトウェアによって管理されているフォルダーをユーザーが表示しているときは、ファイルマネージャーに特別なバーが表示されます。このバーには、Ubuntu Oneサービスへの接続と切断を行うためのボタンが含まれています。
Ubuntu Oneに保存されている個々のフォルダは、他のユーザーと共有できます。この機能は、Nautilusの右クリックコンテキストメニューから有効にできます。ファイルを共有したいユーザーのメールアドレスを指定すると、共有の招待を確認するメールが届きます。ユーザーが承認すると、共有したフォルダは自動的にそのユーザーの「共有済み」フォルダに表示されます。共有機能のサポートはまだ少し限られていますが、開発者によると、ソフトウェアの成熟に伴い、より強力で柔軟な共有オプションを提供していくとのことです。
Ubuntu Oneの共有ファイル招待
Ubuntu OneはNautilusでファイルを共有します
Ubuntu Oneのウェブサイトでは、シンプルなウェブインターフェースが提供されており、ユーザーはクライアントソフトウェアがインストールされていないコンピューターを含め、どこからでもファイルを管理・アクセスできます。マーフィー氏によると、現在のウェブインターフェースの実装は主にテスト目的で提供されている仮置き場であり、現在鋭意開発中の、より使いやすいバージョンにすぐに置き換えられる予定です。
Ubuntu Oneの同期機能は、昨年取り上げたファイル同期ツールであるDropboxと非常に似ています。Ubuntu Oneには、ファイルのバージョン管理や履歴機能など、Dropboxの高度な機能の一部が欠けています。Dropboxはパフォーマンス面でも優れており、クロスプラットフォーム互換性など、独自の利点もいくつか提供しています。
マーフィー氏によると、CanonicalはUbuntu One用のネイティブWindowsおよびMac OS Xクライアントを開発する予定はないものの、サードパーティの開発者がLinuxクライアントの基盤コンポーネントを他のプラットフォームに移植し、その上にプラットフォーム固有のシェル統合機能を構築することで、ネイティブクライアントを開発できる可能性があるという。また、Canonicalはそのような取り組みに対応するためのパッチを喜んで受け入れるとも述べた。さらに、同社は完全に機能するKDE版を提供する予定であると述べた。将来的には、WebDAVのサポートが提供され、ユーザーが他のプラットフォームからUbuntu Oneのファイルにアクセスできるようになる可能性がある。
今後の計画
クライアントコンポーネントとは異なり、サーバーソフトウェアはオープンソースライセンスの下ではリリースされません。Canonicalは、サービス上で健全なビジネスを構築できるよう、当面はサーバーソフトウェアをクローズドな状態に保ちます。
Ubuntu Oneの同期サービス自体は、特にDropboxのような成熟した代替サービスと比較すると、それほど魅力的ではないように思われます。Ubuntu Oneの真の価値は、Linuxユーザー特有の機能が追加されたときに発揮されるでしょう。マーフィー氏によると、ファイル同期はほんの第一歩に過ぎません。彼は、サービスに追加できる可能性のある機能について、いくつかの興味深いアイデアを紹介しました。
そのアイデアの一つは、ソフトウェアを拡張してアプリケーションデータと設定を同期できるようにすることです。これは、MozillaがWeaveプロジェクトで実現しようとしているものとよく似ています。CanonicalのStuart Langridge氏は、今年後半に開催されるOSCONでプレゼンテーションを行い、サードパーティのアプリケーション開発者がUbuntu Oneのインフラストラクチャを活用して、自社のソフトウェアに同期機能とコラボレーション機能を実装する方法を実演します。
Tomboyのメモ、インスタントメッセージのログ、アカウント設定、その他多くのアプリケーションデータを同期できれば非常に便利です。Ubuntu Oneがこれらの機能を提供できれば、ユーザーにとって大きなメリットとなるでしょう。さらに一歩進んで、これらのデータの一部をブラウザ経由でリモート操作するための洗練されたWebインターフェースが提供されれば、さらに素晴らしいものになるでしょう。
開発者がUbuntu Oneに追加を検討しているもう一つの機能は、画面共有を簡素化するシステムです。マーフィー氏によると、これは既存のソフトウェアとプロトコルの上に実装可能であり、Ubuntu Oneの役割はそれを簡素化し、管理と設定を容易にすることだとのこと。
技術的な詳細
Ubuntu Oneは現在Amazon EC2上で動作し、ファイルの保存にはS3を使用しています。これにより、ベータ版に新規ユーザーが追加された際に、段階的に容量を拡張することが容易になります。マーフィー氏によると、Canonicalは最終的にインフラストラクチャ自体をEucalyptusクラスタでホストする可能性があるとのことです。サーバーソフトウェアは主にPythonで記述されており、Twisted、Django、Zopeのコンポーネントもいくつか使用しているとのことです。
クライアントコンポーネントとは異なり、サーバーソフトウェアはオープンソースライセンスの下ではリリースされません。Canonicalは、当面サーバーソフトウェアをクローズドのままにすることで、このサービスを基盤として健全なビジネスを構築していきます。これは、オープンソースソフトウェアコミュニティの一部のメンバーから物議を醸す動きと捉えられる可能性があります。クラウドモデルは、ユーザーの自律性とソフトウェアの自由を損なうという批判的な意見から、ますます批判の的となっています。
マーフィー氏は、完全なプロトコルドキュメントが提供され、サードパーティがUbuntu Oneクライアントコンポーネントと互換性のある独自のサーバーソフトウェアを作成し、自己ホストできるようになる可能性があると述べています。
クライアントソフトウェアはほぼすべてPythonで記述されています。ソースコードはプロジェクトのバージョン管理システムから入手できます。最近チュートリアルで紹介したように、NautilusはPythonプラグインを使って簡単に拡張できます。Ubuntu Oneのクライアントコードは非常に優れたサンプルであり、Nautilusの拡張性にご興味があればぜひご覧ください。ubuntuone/nautilus/storage.pyでは、Canonicalの開発者が接続/切断ボタン付きのストレージバーをどのように実装したかを確認できます。
クライアントは、ファイルの変更などのファイルシステムイベントを検出するためにinotifyを使用します。クライアントがUbuntu Oneサーバーとの通信に使用するワイヤプロトコルは、高効率RPCフォーマットであるGoogleのProtocol Buffersシステムです。protobufの記述とその他のプロトコルソースコードはダウンロード可能です。
Ubuntu Oneのファイル管理Webインターフェースのプロトタイプ
結論
Ubuntu Oneはまだ開発の初期段階にあり、クローズドベータテスト中のWebサービスによくあるような粗削りな点がいくつか見られます。現状の機能セットと価格は、Dropboxのようなサービスに匹敵するほど魅力的ではありませんが、良いスタートを切っています。クライアントソフトウェアの実装は堅牢で、プラットフォーム統合も良好に行われており、その根底にあるビジョンは広範かつ興味深いものです。開発者が機能を拡張し、より幅広い有用なサービス、特にアプリケーションデータの同期サポートを提供できれば、非常に大きな意義を持つものとなるでしょう。

ライアンはオープンソース分野のArsの名誉編集者であり、現在も定期的に寄稿しています。彼はMontage Studioで開発者リレーションを担当しています。
21件のコメント