SCIM

インストールのスクリプトPerlを使っているため、Fedora7(OLPCのUpdate1)時代でもインストール結果のサイズが不必要に大きい傾向がありましたが、Fedora9(OLPCの8.2)で状況は悪くなっているように感じます。
フォントとSCIMをまとめてインストールしようと"yum groupinstall japanese-supports"を試したところ、ダウンロードサイズが79MBでした。

Joyride2369

早速試しました。

プラットフォーム

  • ファームも最新のQ2E15を使いましたが、OFWが動いている画面でのフォントが、Q2E14以前より大きくなってます。
  • ブートしてからホーム画面が出るまでなにやら待たされるようになりました。なんでだろう?
  • 8.2系列ではいままでで一番安定している感じがあります。ただWifiへのアクセスが切れてしまう問題はまだ直ってません。

翻訳

  • 今までは配布イメージのビルド時に、Sugar関係/JournalについてはOLPCの展開先以外の翻訳データが削除されてしまっていたのですが、めでたくこのビルドから日本語の翻訳データも入れてもらえるようになりました。これで後でLanguage Packの必要性が減りました。(注意:一部アクティビティはまだ翻訳データが組み込まれていないので、依然 Language Packの必要性は残っています)
  • Recordに日本語翻訳が組み込まれました。(バージョン57)
  • Paintは新しいビルドがリリースされないので、いまだに翻訳を組み込んでもらえていません。
  • Calculateは、先日翻訳をコミットしたのですが、その後のビルドがありません。

Etoys

  • 評判どおり、日本語フォントをPangoで使ってもかなり使えそうです。ただし、従来環境で作成された既存のコンテンツの再現性にまだ問題があるように感じました。
  • Xshmの問題が直ったようで、カーソルが変になる件が解決しています。
  • 言語切り替えメニューを最初に表示する際、全言語のMOがロードされてしまうため、時間が無意味にかかっています。
  • POT生成(Etoysチームの気の向いた時)→Pootleに反映(原則週一回)→翻訳をコミット→Etoysのビルドに組み込み(Etoysチームの気の向いた時)という工程がうまく同期できていないので、今Pootle上にある翻訳は一世代前のPOTになってしまっているのが残念です。

Squeak-NOS on OLPC XO

ESUGでデモされた、XO上のSqueak-NOSのイメージが公開されていたので、早速試してみました。
http://sourceforge.net/project/showfiles.php?group_id=3891&package_id=3865&release_id=622956

イメージは3.8ベースです。「20秒でブートする」という触れ込みどおりです。
ただし、USBドライバが使えずタッチパッドだけだったり、描画が最適化されていないなど、決して実用になるものではありません。タッチパッドを激しく操作するとイベントがバッファーにいっぱい溜まって大変なことになるので、慎重に操作する必要があります。しかも、例のタッチパッドの問題も。。。(4つのキーでリセットすることもできない)
Drive-A-Carに挑戦してみましたが、車を回すところまでで精一杯でした。

XOをお持ちの方は、話のタネに試してみてはいかがでしょう?

開発組織とソフトウェアの構成

説明用の覚書です。

開発推進組織についておさらい

もともとはOLPC foundation という団体がOLPCのプロジェクトを始め、XOというプラットフォーム(ハード・ソフト)と、その上のActivityやコンテンツ、ひいては教育の方法論なども含めた非常に広いスコープを持っていました。
しかし、途中でOLPC foundationがプラットフォームに専念することになったため、WalterさんがOLPCを離れてSugarLabsという団体を始め、Sugarの開発の推進はOLPC foundationからSugarLabsに移りました。
SugarについてはSugarLabsが開発元(upstream)で、OLPC foundationはディストリビューションという立場になります。
あと、ご承知のようにOSはFedoraを使っています。現在のバージョンはFedora9がベースになっています。

ソフトウェアスタック

Sugarというと、広義にはXOのシステムソフトウェアやアプリケーションの総称みたいなものですが、SugarLabsによってスタックの構造が定義されています(http://sugarlabs.org/go/Taxonomy)。SugarLabsが現在開発・配布しているのは、この中の Glucose(OSの上にかぶせるミドルウェア部分)とFructose(Sugarの一部として配布されるデモ的なActivity)をまとめた Sucroseです。
(ちなみに、狭義のSugarとはこのスタックの中のGulcose部分だと思います)

OLPCが現在配布している8.2ソフトウェアは、SugarLabsが出しているオリジナルのSugarにコンポーネントを追加しています。具体的には、Sugar Control Panelの中の Updater機能は、C.Scottさんが開発しています。

開発ライフサイクル

前のUpdate.1の開発がずるずると時間を費やしたことを踏まえ、SugarLabsは年に2回の一定サイクルでリリースをしていくという方針を決めました。(参考 http://sugarlabs.org/go/ReleaseTeam/Roadmap
最新版Sucrose0.82は8月にリリースされ、次の0.84のプランニングが始まっています。(http://sugarlabs.org/go/ReleaseTeam/Roadmap/0.84)

一方、OLPCも展開先から強烈なプレッシャーを受けており、年に2回のメジャーリリースを守ろうと努力しているのですが、8.2のリリースはずるずると遅れてきており、まだ正式リリースに至っていません。

Activityの開発推進体制とライフサイクル

Activityは、開発を推進している組織によって以下の2種類に分類できます。

  • Fructoseに含まれるもの。SugarLabsが開発を推進しており、前述のSugarのライフサイクルに同期して開発・メンテナンスが行われることがコミットされているものです。Sucrose0.82にはこれらのアクティビティが含まれます。
  • Fructoseに含まれず、SugarLabsがメンテナンスに関与していないもの。現在のOLPC foundationは公式にはactivityの開発・メンテナンスの責任を負っていないので、開発者個人がボランティア(あるいは OLPCのfunding)で開発・メンテナンスに協力しています。

Pootle上の翻訳プロジェクト

従来、Pootle上は、Activityがプリインストールされていた時代の分類(xo-coreなど)でプロジェクトが構成されていました。しかしつい先ごろSugarLabs管轄かどうかの切り口で、以下のように再編成されました。

  • Gulcose(システムソフトウェア部分)
  • Fructose(SugarLabs管轄のactivity、Etoysを除く)
  • Honey : Fructoseには含まれないが、よく使われているactivity

Pootleとソースリポジトリのブランチ

gitリポジトリは、次バージョンに向けた開発を進めるためのtrunkと、特定のリリースのためのブランチに枝分かれしています。特にSugarLabsはOLPCの8.2の開発完了を待たずに次のSugar0.84の開発を進めるため、0.82のブランチを作りました。
これに伴い、Pootle上も Gulcose/Fructoseについて 0.82ブランチと trunkのプロジェクトが分離されています。
ブランチが作られた直後なので、現在は両方とも同じ翻訳データが登録されていますが、ソースファイルとしては完全に独立しています。したがって、0.82ブランチで翻訳をメンテナンスした場合、trunk側にも同じ内容を反映する必要があります。

language pack

  • Sugar0.82は既に開発マイルストーンを終了していますので、0.82について Gulcose/Fructoseの翻訳をPootle上で修正してgitにコミットしても、それがビルドに取り込まれてリリースされる可能性は低いです。これはlanguage pack

を使って、Pootle上の翻訳を配布する必要があります。(もちろん、trunk側への修正反映も必要)

  • Honeyに含まれるactivity(Record, TamTamなど)は、SugarLabsのような一定のライフサイクルに準拠していないため、ブランチも作られていません。Pootle上で翻訳を修正してgitへコミットした場合、次のビルドで取り込まれると思われます。ただ、拠って立つべき開発ライフサイクルがないため、いつビルドが行われるかわかりません。まだ取り込まれていない最新の翻訳を使うには、やはりlanguage packを使うことが必要です。
  • OLPCがビルドしているOSイメージでは、OLPCとして出荷する先の言語しか翻訳が入っていないコンポーネントがあります。これもlanguage packを使って翻訳をインストールする必要があります。