関西オープンソースに本格参加しました

11月10日(土)に開催された関西オープンソース2012に参加しました。関西オープンソースへ行くのは3回目なのですがその前の2回は発表の聴講のみで出展も行なったのは今回が初めてです。関西オープンソースは金曜と土曜の二日間開催されますが、今回は土曜日のみ参加しました。というのは、10月31日(水)を以て退職して11月1日(木)から別の会社に移ったので、予定が見えなかったためです。


参加名義は「CLU動態保存会」です。CLUはプログラミング言語で「クルー」と読みます。「Rubyist のための他言語探訪 【第 2 回】 CLU」にあるとおり、Rubyを作る際にまつもとゆきひろさんが参考にした言語です。私は東京工業大学理学部情報科学科木村泉研究室の出身者で研究テーマとしてCLUの処理系clu2cを研究テーマにしていました。ただ、まつもとさんも言及しておりますが、CLUを使っていた人は非常に少なく、東京工業大学理学部情報科学科木村泉研究室の人しか使わなかったのが実情です。まつもとさんもCLUの処理系を使ったことはなく、いまは亡き bit 誌の 1989 年 5 月号から久野靖さん (筑波大学) が連載していた「CLU とその仲間たち」という記事の記述のみを元にRubyに取り込んだそうです。今回はCLUとclu2cの紹介を主眼に置き、clu2cのソースを収録したCD-Rを配布しました。


この活動を開始したのは、最初に関西オープンソースへ行く直前、「そういえばclu2cもオープンソースだったなあ」と思い出したのがきっかけです。調べてみたところ、木村泉先生が退官した後、東京工業大学理学部情報科学科での公開も停止されていた状態になっていました。ですが、公開されていたファイルをミラーしているところがフランスにあることを見つけ、何とか元のファイルをとってくることができました。また、Rubyの関係で活躍されている前田修吾さんがどういうわけかCLUに興味を抱きLinuxに移植してパッケージ化までしていたこともわかりました。前田さんの書いている文章には最近は動かなくなってしまったとあったのですが、前田さんの行なった修正を施したソースを試しにCygwinでmakeしてみると、ちゃんと動きました。その後、Ubuntuでも動作しました。フランスのサーバーにミラーされていたこと、前田さんが一時的に保守していた事、この二つのどちらか一つでも欠けていたら clu2c は伝説の存在になっていたかもしれません。clu2cがGCライブラリとして採用していたBoehm GCが未だメンテナンスされていたことも幸いしました。


ただ、前田さんはCのファイルに手を入れていたので修正としては不完全なものでした。前田さんが手を入れたファイルはCLUで書かれたファイルをclu2cで変換して作られたものだったのです。私がまず最初に行なったことは、前田さんの作業を CLU のファイルに反映させることでした。それを手がかりに修正を初め、今では64bit環境でも動作するようにまでなっています。なおclu2cのライセンスは後のMITライセンスに似たようなもので、使用や改造や再配布は自由だけれども、MIT処理系由来の部分はMIT処理系のものに準じ、Boehm GC由来の部分はBoehm GCのものに準じ、その他の部分は東京工業大学理学部情報科学科木村研究室が著作権保有、となっています。この部分を明記すれば使用、複写、改変、再配布は自由です。


このように使っている人が非常に少ない状態でしたので、関西オープンソースでの出展は今回でおしまいかなと思っていました。オープンソースカンファレンスにも出展してはいましたが、あまり評判は高くなくて地味な存在だったからです。ですが、予想外に手ごたえがありました。TwitterFacebookでCLUのことを取り上げてくださった人もいらっしゃいましたし、用意したCD-Rはほぼなくなってしまいました。時間がとれるようなら次回以降も出展しようかなと思いました。


団体名を「CLU動態保存会」とした理由は、上述の通りほとんど使う人もおらず、今でも使う人が全くいない状態ですが、今の環境でも動く状態で保存すべく最低限の保守をするのを目的にしたからです。64bit環境で動かす目途が経ったのでしばらく延命はするでしょう。ただ、NetBSD関係の人にも指摘されたのですが、私が使える環境がSony Vaioのみなので、SPARCなどの検証はできておりません。過去はSPARCでも動かしていたのでおそらく動くでしょうが、確証は持てません。どなたかお手伝いいただけるとありがたいです。また日本語についてはISO-2022-JPShift_JISEUCしか対応しておらず、UTF対応が課題として残っています。


とまあ色々課題がありますが、できる限り、続けていきたいと思っております。