おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

GNOME.Asia Summit 2014 & FUDCON APAC 2014

こないだ北京行ってたのはこれ参加するためだったんですねー。

詳しくは公式サイトを。会場は北京にある北京航空航天大学でした。

面白かったことをダラダラ書きます。

Keynote: Keynote - Computing, Freedom and Privacy - Richard Matthew Stallman

ということでRMS御大のプレゼン。生RMS御大初めて見た!

内容はアンチプロプライエタリ、アンチDRM、そしてアンチJavaScript(サーバ側から引っ張ってくる場合のことかな?)、アンチSaaS(サービスだけを提供されてしまうとソースコードが参照できないという意味でプロプラと同じ)、という感じでした。いずれにせよ自由ソフトウェアの自由を阻害するものはすべてNGという内容のブレなさ。まあ、FSF/GNUのいつもの論調なので、ここで繰り返すのはやめておきます。

もっとキツい物言いする人かと思ってたら、ジョーク混じりで講演は和やかに進みました。言ってることは猛烈に過激なんだけどね。「プロプライエタリなソフトを生活のために書くな、お前は生活のためなら子どもの飲むミルクに毒を入れる仕事をするのか?」みたいな。

他のスピーカーはミネラルウォーターで講演する中、特別に煎れてもらったと思しき中国茶を飲みながら講演するRMS御大、さすがの風格でございました。

終わった後ステッカー配布されてたので50cmぐらいまで接近したんだけど緊張のあまり声かけられなかったよw

Building Orchestration and Configuration with Ansible at Fedora Project - Aditya Patawari

Adityaはインドから来たFedora Infrastructureチームの人。これは結構面白かった。

Fedora Infraチームは今Puppetで管理されてるサーバを徐々にAnsibleにしてるんだって。理由はAnsibleがAgentlessであるということが大きいとか。あとAnsibleのPlaybookの記述形式であるYAMLの可読性が高いのが、決してプログラマーではないインフラチームにはよいんだそうな。

現在PuppetスクリプトからAnsible Playbookへの書き換えをしてくれる人募集中なんだそーで、「入門編にいいスクリプトもあるよ」とのことなので、FedoraユーザーでAnsibleに興味がある人はトライされてみては如何。

Next Generation Input methods - Daiki Ueno, Anish Patil

IBus UI開発者のAnish Patil氏とエンジン開発者のDaiki Uenoさんによる次世代IMの話。なおDaikiさんはぼくを除くとGNOME.Asia唯一の日本人でした。

UI/UXの方はあんま覚えていないのだけど、IMエンジンを使わない、例えば英語のような言語においても、携帯端末で採用されてるようなauto completionを提供するにはどんなUXがいいのか、それって携帯と同じじゃまずいよね(携帯とデスクトップだとスペースの持つ意味が異なるし……)みたいなことを話していたような気がする。あとcompletionに用いる辞書の重要性とかね。ネットで鍛えたりするのがいいのかなーみたいな話をしていた気がする。

Daikiさんの次世代IMのアーキテクチャーの話は「俺達は別にまたIBusを捨てて新しいIMをつくろうってんじゃないんだ。ただIBusの良くないところをrevolutionしたいというだけ」って言葉から始まりました。

プレゼンは絵入りでわかりやすかったんですが絵をかくのめんどくさいので言葉でかいてしまうと:

  • SCIMみたいな古いIMはGTK immodule以外は全部シングルプロセスでUIもエンジンもまるごと動いてた。だから軽量だったけどどこか一部分でも死ぬとIM全体が死んでしまう。
  • IBusはそれに対し、UIとか各エンジン(日本語とかピンインとかハングルとか)を全部プロセスに切り分けて、D-Busで通信してた。これによってシステムが頑健にはなったけど、例えばハングルみたいなシンプルなエンジンまでもがキーイベントの一つ一つに対してプロセス間通信のオーバーヘッドが発生して遅くなるって問題がある。あとプロセス管理がいまいちで、新しいエンジンを入れてもibus-daemonを再起動しないと認識しないとか、テストコードのカバレッジが30%ぐらいしかないってのも問題。
  • だから次世代IMではIMライブラリというのを内蔵して一部のシンプルなエンジンはその中に抱き込んでしまって高速化する。パネルUIも一緒にしてしまう。ピンインや日本語入力のような重たいIMだけ外に切り出す。

てな話だったかな。で、それのサンプル実装としてlibtextinputってのがあって、これはWayland用のIMのプロトタイプで、IBusのエンジンの一部、WIPと呼ばれる部分を再利用しているんだそうな。

まあIBusについては正直いろいろ意見があったところで大変だとは思うけど、IMは我々日本人がPCを使う際に欠かせないモジュールだから、頑張ってほしいねい。

Keynote: A perspective for systemd: What has been achieved, and what lies ahead - Lennart Poettering

すごい盛り沢山なトークだったんで手短に紹介できないw まあsystemdについては国内でもいろいろ資料があるわけで特段私が書かなくてもいいと思うけど、「単なるinit代替」だとは彼らは認識してない(もしそうだとしたら何でもかんでも盛りすぎ)って印象を強く受けました。コンテナ型仮想化が流行るとコンテナインテグレーション取り込むとかね。

あと、「別にFedora/RedHatのものではないし、特定のプロダクトをゴールにして開発してるわけじゃないよ」ってのは言ってましたね。それに「特定の環境だけをターゲットにしてるわけじゃなくて、サーバーもデスクトップもモバイルも組み込みも、ありとあらゆるもので使われることを目標にしてる」だって。

'CD' using Docker - Gerard Braad

このトークは面白かった……話術がw
彼はThoughtWorksのコンサル(今?元?)だそうで、弁が立つのも当然といえば当然か。質問したら:

The Thoughtworks Anthology: Essays on Software Technology and Innovation (Pragmatic Programmers)

The Thoughtworks Anthology: Essays on Software Technology and Innovation (Pragmatic Programmers)

この本もらったよ。

ふむなるほど、って思ったのは、「普通CDっていうとContinuous DeploymentとかContinuous Deliveryの略っていうじゃん? でもそれ辞めようぜ、そもそもDeployとDeliveryってレベル違うしさ。だから俺はConsistent Developmentの意味でCDって言葉を使うよ」っていってた。

CIの話はわかるよね。SCMにソースコード入れるとビルドが走ってOKならテストしてその結果を開発者が見てまた直してSCMにチェックインして……をぐるぐる回す。サイクル。Travis-CIとかJenkinsとかGo.CDとか。

これを回すだけじゃなくて、商品開発という大きなプロセスの中だと、ビルドができてテストしたものを例えばテスター部隊に渡す。あるいは顧客に渡す。ってのが出てくる。上のサイクルから枝分かれしていく。この枝分かれをconsistentにできる仕組みの一つがDockerだよと。

Dockerの何がいいってLXCを使ってて軽量なこと。普通の仮想化でインスタンス振り出す時間が惜しいから。もちろん、aufs使ってて*1 バージョニングができることも嬉しい。

Dokkuの説明もしてた。DokkuはDockerとは粒度が違うシステムだけど、高〜いHerokuを使わなくていいのがいいよね!だって。w

質問として、LXCであることがいいならDockerじゃなくて例えばVagrant-LXCでもよくない? っていったら、そっちはあんまチェックしてない、VagrantVirtualBoxで遅いから好きじゃなくて見てなかった、って答えだった。私としてはVagrant-LXC気になるんだよなー。自分で調べるかー。

ちょっと青年の主張とか

主に宴会とかですごくいわれたのが「なんで日本からもっと人が来ないんだい?」ってことでした。私もGNOMEな人間じゃないけど、アジア最大のデスクトップなイベントなのでもう少し日本人いてもいいなとは思った。まあ、北京って距離は近いのだけど思ったより東京から行きにくいので(いい時間に飛行機がないので、土日でイベントに参加したければ金曜・月曜を休まないといけない)しょうがないのかもしれないけど、少しさみしいねえ。というか、FUDCON APACも兼ねてるわけですが、Fedoraの日本コミュニティってどうなってるんでしょうか?とか。

というかLibreOfficeもデスクトップアプリなわけだから、LibreOfficeコミュニティももっとコミットするといいんじゃないかなって思いました。

あともうひとついわれたのは「GNOME.Asia日本でやろーぜ!」でした。これ、単にみんな日本に来たいからじゃねーかwって気がしますけど、実際、日本の事情ってどうなん? ってのはみんな気にしてましたね。そもそもデスクトップ分野にはコミッターも目立たないし。「みんなKDEとか使ってるの?」とかいわれたけど、いや実際コミッターがいないだけだと私は理解してますが。翻訳やってらっしゃる方はいらっしゃるので、アクティビティはそれなりにあるわけですが、見えにくいんだろうなあ。

「お前LibreOfficeのコミュニティの人間なんだろ?だったらLibreOfficeと一緒のイベントにすればいいじゃん」「今回FUDCONと一緒にやったように、いろんなディストロのコミュニティとやればいいだろ」ってアドバイスっつか煽り文句もいただいたです。実際、アジア地区のLibreOfficeイベントは私もやりたいと思っているので、一緒にやりたいと思う人、ぜひコラボしましょう!

その他小ネタ

実は海外あまりいったことないので、当然のように中国本土初上陸。北京おもしろいねー。私の好きなカヤックビデオ「One World」というのにアフリカを称して「Everything is powerful, big」っていってるのがあったけど、そんな感じ。何でもかんでも巨大でパワフルで、でもちょっと雑というかいーかげんというか。交通ルールの無法具合は目んたままんまるになりました。

英語通じないのはちょっとつらかったけど、まあ面白かったのでいいよね。途中で学習して、メモとボールペンを必ずすぐ取り出せるところに入れておくようにしました。漢字なら多少は通じるからね。でもホテルのカウンターで英語ダメ(できる人もいるんだけど、その人がシフトから外れてるときに私がチェックアウトしようとした)なのはちと困ったね。

あと写真を少々。


えーとこれは地下鉄のホーム。こうやって駅の図が出てるからどっち乗ればいいとかすぐ分かって安心。


これはランチを食べたお店。ここ以外入った店は言葉が通じなくてシステムがわかんなくて断念したのだ。情けなや。


食べたのはピリ辛麺類。美味しかったよ。


これは電気街のビルディング。中は寂れっぷりが半端無かった。実は買い物したのは別のビルなんだけど写真撮るの忘れちゃった。そっちはアジアな感じな熱気に溢れてました。そこでSIMを探すつもりが言葉が不自由で見つからなくて、結局モバイルWifiごと買いました。無駄遣いだけど、ま、そういうのも楽しみだからいいのだ。


で、これは泊まったホテル。安モーテルですな。

さて本番なのですが、私セッションとブースの写真全然撮ってないので、tiansworldさんのflickrアルバム「FUDCON APAC & GNOME Asia Summit 2014」から何枚か写真を拝借します。


https://flic.kr/p/ntDnh3
入り口にはこんなでかいポスターがあって、初日はその正面に受付がありました。二日目からは受付は右手に移動し、ブースは左側から始まって後方にホールを回りこむような感じで配置されてました。SUSERed HatFedoraなどなど。


https://flic.kr/p/ntDesg
すぐ左はSUSE/openSUSEのブースでした。なんだかんだいって出典してるブースでは一番元気だったので、ヒマが会ったら出入りしていました。はっはっは。この写真の左に写ってるのがMax君、一度日本に来たときに私も一緒したので、「何だお前かよ!じゃあ今日のパーティ来いよ!」ってスピーカー&スタッフディナーに誘ってくれた好青年です。


https://flic.kr/p/nL8XpB
ブースがあるホールはこんな雰囲気。


https://flic.kr/p/nL8XpB
systemdの基調講演をするLennart Poettering氏。


https://flic.kr/p/nKYomN
ライトニングトークで使ったドラ。GNOMEロゴがカワイイ。というかLTでドラを鳴らすのは日本文化というわけじゃないのねー。

さて私の写真にもどって。


LibreOfficeの発表をしたYifan Jiang氏との記念撮影。間にいるのは巨大Geeko。


巨大Geekoをアップで。隣においてあるコーラは500mlですからね!


ちびぎーこをぼくももらいました。この色のぎーこはまだ日本にはそんなにはないのかな?


スタッフ全員集合!の図。いやーみなさんお疲れ様!


初日が終わった後はみんなで学内の運動場に。私は最初誘われてバスケやったんだけどバスケなんて20年ぶりぐらいなので……あと脚が痛くてねぇ。ということで、卓球に移動しました。卓球も下手くそで相手してくれた方にはゴメンナサイという感じ。で、一緒にプレイしてた仲間と羊肉しゃぶしゃぶを食いに行きました。


美味かった〜しあわせ〜♪


なぜか皿と急須に燦然と輝くSeagateのロゴw


これ、我々がイベントやってた建物、新中央棟。すっげーデカイ。我々が使ってたのはその一部ではあるけど。すごいねー。

そんなわけで

遊んでくれた皆さんありがとう!

来年はどこでやるかわからないけど、行きやすいところでやってくれたらまた行ければいいな。
あと、LibreOfficeコミュニティとしてコラボできないか探りたいです。

いやー楽しかった!いってよかった!

*1:今の実装だとaufsではなくなっているらしいけれども。