なんとなく

誰得感満載な記事が多いかも。Mono関係とLinuxのサーバ関係、レビューとか。

ありがとね、Latif Khalifaさん。

なんと言っていいのか心の整理がつかなくて、書くべきか逡巡したのだけど、やっぱり何か表しておかないと気が済まないので記しておくことにします。 彼の作ったものやソースコードから多大な影響を受けた人間として追悼の意を込めて綴りたいと思います。

悲しい知らせが目に入った

体調が悪いという知らせを数年前に聞いて以来、数ヶ月に一度ぐらいcommitしているかとか名前で検索して活動状況を気にかけていたのですが、 Latif Khalifaさんが泉下の客となってしまったという非常に悲しい知らせを目にしました。

It is with great sadness that I inform you that one of the oldest and most respected members of this community, Latif Kalifa, has passed away, after a long battle with a serious health condition that landed him in the hospital many times over the past few years.

Latif's contributions to the open source SL ecosystem were vast and varied. He was one of the original contributors, and the main maintainer, of libOMV, a library that embodies the LL protocol and data structures. LibOMV lies at the heart of OpenSimulator, as well as many SL/OpenSim bots developed by lots of people. Latif also developed Radegast, an alternative viewer used by many, especially people with disabilities. He also contributed to the Singularity viewer and its offshoot, Replex. He participated in the SL Architecture Working Group, and in many technical discussions in the OpenSim-dev IRC chat channel. He was a vocal advocate of free open source software. [Opensim-dev] Latif Kalifa

Latif Khalifaさんは、LibOpenMetaverseの最初からのコントリビューターの一人で、メインで管理されていた方です。 かつ、Radegastというtext viewerを作られていた方で、さらにSingularity viewerへも貢献されていたようです。

私は、text Viewerを作成しており、LibOpenMetaverseを使わせてもらっていますし、Radegastからもtext Viewer構造的なものを勉強させてもらっていました。

そのような私にとっては、彼は神のような存在でした。過去形で記述しなければならないのがとても悲しいです。

一方的な彼との関わり

一方的な彼との関わりになってしまいますが、LibOpenMetaverseとRadegastについて触れていきたいと思います。

LibOpenMetaverse

f:id:takeshich:20160314015119j:plain

LibOpenMetaverseをAndroidに移植するという作業を2011年の後半から作業を始め、程なくしてある程度動く形にしていたのですが、 2012年に私も病気を患い、思うように進められなくなっています(現在も)。 そんな中でもアプリの中でライブラリとして問題なく動いており、 オリジナル以外のAndroidに依存する部分で、書き換えた部分についてもう少し綺麗にすればソースを公開できると思っています。数年前からずっと思ってはいます。

しかし、こちらについてはなかなか進められてない状態が続いています。

「LibOpenMetaverseをAndroidに移植したぜ!」ってpull request送って、彼にびっくりして欲しかったのですが。。。

Radegast

また、Radegastについては、 上述したように私自身も病気持ちで自由な行動がなかなかできない中、

実例で学ぶゲーム3D数学

実例で学ぶゲーム3D数学

という本を読んでいて、 3Dのプログラミングしたいなと思っており、今年の1月くらいから治ってはいないものの酷かった時に比べれば少しは良くなって PCに向かうためのまとまった時間を取るれるようになりました。

体調が悪くなる前にRadegastの3D SceneをAndroidへの移植を手につけていたのだけど、途中で体調が悪くなってしまって 放ってしまっていたのを久しぶりに触って動く形にしていました。

f:id:takeshich:20160314015328p:plain:w512

最初はOpenGLES1.1に対応させました。実機で使用してみたところまともに動かないほどの遅さだったので 将来性を考え、OpenGLES2.0へ、さらにはOpenGLES3.1へと考え、まずは、OpenGLES2.0に書き換えました。 固定機能パイプラインプログラマブルパイプラインに変更し、遅さの原因の一つはGPUでできる処理をCPU側で行っているためだったので それをGPUに処理させるように実装を変更したりしていました。

f:id:takeshich:20160314015842p:plain:h512

その途中でRadegastのバグやLibOpenMetaverseのバグを見つけたので、目処が立ったら、修正して貢献しようと 思っていた矢先の悲しい知らせでした。

彼のコードをここのところ毎日のように見ており、彼の意思を感じていたので大きな喪失感を感じています。

実際Metaverse界隈にとって彼の死は大きな痛手で、LibOpenMetaverseも開発が継続されるのか心配です。 また、OpenMetaverse Foundationもサイトが残るか心配です。 OpenSourceなのでforkすればいいのかもしれませんね。

最後に

Diva Cantoさんが

His code will outlive him. He will be missed. [Opensim-dev] Latif Kalifa

と述べていたことは、的を射ているなと思います。

2014年の11月にRoad’s EndとしてLatif Khalifaさん自身の健康上の理由でRadegastの終息宣言が出て、重いんだろうなぁと心配はしていました。 その中で彼からのメッセージとして

Radegast is opensource so if there is interest people could continue improving it. Radegast Metaverse Client · Road’s End

とあります。私も病気で、容易に思うようにできないもどかしさを抱えておりますが、少しでも貢献できるようになりたい。

そしてこれだけは、声を大きくして言いたい。

「健康は大事だよ。」

彼の冥福を祈りながら。