オモイカネの大熊氏から「日本発オープンソースは42件」ということについて 反論[PDF]が出た。
が、私に限って言えば、 久米氏の講演には「42件」という数字だけでその基準は明らかになっていなかったことだけをとりあげていたので、 別に反論していただく必要はない。
疑問を呈した時点で、 大熊氏の元の資料の存在は知らなかったわけだが、そちらの方を読む限り、基準は明確になっている。
という基準を満たすのが、氏によると42件なのだそうだ。
まあ、基準が明確になってめでたしめでたし、としたいところだが、いまだに引っかかるところがある。
この4つの基準のうち、「オープンソースソフトウェア」を除いた3つに関しては、 大熊氏が恣意的に決めたものであるが、もっとも目的にかなった数字を出すためにどこかで線を引く必要があるということで、基準が明確である限り、受け入れることに問題はない。 問題にしていたのは、基準が明らかにされないまま「42件」しかないと断言されたことなのだから(そしてそれには大熊氏には責任がない)。我々が少ないと感じたのは、我々は「一定規模」とか「良く使われている」とかの基準を共有しなかったからに過ぎない。
5000行や「よく使われている」にはそれほど意味はないと思うけど、それは立場の違いということで。
どうしても無視できない問題はこのリストに「オープンソースソフトウェア」でないものが含まれている点だ。
その点について大熊氏も「反論」の中で
と述べておられるが、これは見当違いである。 繰り返しになるが、少ないと思ったのは「5000行以上」で「ディストリビューションに含まれる」という基準を共有していなかったからで、それが明確になった後では数が減るかどうかはもはやどうでも良い。 むしろ適切な基準が適用されているかどうかだけが重要である。
大熊氏はこの資料について
と述べておられる。
数を数えることを目的としなかった資料の中の数字が講演で引用されたばかりに独り歩きしてしまったことは、 大熊氏にとっても不幸だとは思い、同情もするが、 「発想を広げていただくため」だろうがなんだろうが、 誤解を生まないためにOSIが苦労して明確に定義した「オープンソース」という単語をないがしろにするのは、 OSIにも個々のオープンソース開発者にも失礼である。
たとえ基準の中で
と定義していたとしても、それはやはり問題だと思う。
「フリーソフトウェア」あるいは「自由なソフトウェア」ほどではないにしても、「オープンソース」という単語も また思想や信条を反映したものであり、その思想信条を表現するために定義されていることを忘れてはいけない。 その定義を自分勝手に改変してしまうことは 他人の思想や信条を大切にしない行為であり、それしかよりどころのない 「オープンソース」や「フリーソフトウェア」活動にとって致命的な問題であると考える。
さらに
という発言からは、「オープンソースかどうかなんてどうでも良い」という大熊氏の考えがよりはっきりうかがえる。 「5000行」、「ディストリビューションに含まれる」という恣意的な基準を導入しておきながら、 結果の数が期待より少なければ、そちらの基準を変えるのでなく 「じゃあ、オープンソースじゃないけどこれも足しとこう」 ということになる発想はオープンソースの定義を軽んじていると言われてもしかたがないと思う。
氏はVzエディタでかつて実現されたようななんらかの「オープンソース的なもの」のイメージをもっておられるようだが、 それはやはりオープンソースではない。別のものには別の名前が必要だろう。
もちろん、政策を語る時に重要なのはライセンスではなく、経済効果、産業競争力であるという考え方は 理解できるし、
という言葉が間違っているとまでは言わない。
しかし、オープンソースの定義やその背景の思想を無視してしまえば、 後に残るのは単なる「無料ソフトウェア」でしかない。 個々の開発者が共感し実践している思想抜きでオープンソースが存在できるかといえば、 ほとんどのケースで「否」なのではないだろうか。 オープンソースあるいはフリーソフトウェアの思想を背景とする開発者なしに単体で 「ネットワークに密着したソフトウェアの開発・流通・マーケティングの構造」 が成立するわけではないのだ。
ということならば、「OSIの定義を厳密に適用することには意味がない」とは言えないのではないだろうか。
むしろ、「意味がない」と言えてしまうのは、オープンソースに対する表層的な理解から来るのではないか、 ということを危惧してしまうのだ。
我々フリーソフトウェア開発者が個々のユーザから対価をもらわず日夜開発を行っているのは、 自らの思想の実践であり、ソフトウェアの自由を実現するためである。
ユーザには我々の思想をないがしろにする自由があるのだろうか。 たぶんあるのだろう。しかし、少なくとも私は愉快ではない。
東京に行ってIPAヒアリングに参加する。 予定された時間を大幅にオーバーしてプロジェクトの目的や計画について説明を行う。 実際に採択されるかどうかは結果の公表待ちということになる。
オープンソースで食べていくというのは、それはそれは大変なので、 公的な支援を受けられるということであれば、それが不当なものでない限り、 喜んで受けようと思うのだ。
しかし、東京という街はなんでこんなに歩かせるんだ。 日帰りのスケジュールもあって大変疲れた。あさっても東京なんだよなあ。
今朝、書いた
という表現に関連していろいろとツッコミをもらう。
要約すると「私は自由を実現するためにフリーソフトウェアを書いているわけではない」ということのようだ。
いや、まあ厳密に言えば、全員が同じ動機でフリーソフトウェアを書いているなんてことはありえないので、 直接的な動機はさまざまあると思う。ちょっと考えただけでも
などなどが考えられる。
しかし、考えてみてほしい。
これらの理由のうち、「ソフトウェアの自由」に間接的なりとも関係しないものが存在するかどうかを。 過去のフリーソフトウェア(オープンソースでもいいけど)という「実績」があればこそ 公開する気になったんじゃないだろうか。
「無料でソースコードまで手に入るソフトウェア」は、その利用者にとってはこの上なく都合が良いだろう。 利用するにあたっては妙な制限は少ない方が良い。思想や信条なんて邪魔なだけだ。 そう思う人もいるだろう。気持ちはわかる。
しかし、思想や信条を手放してしまえば「ソフトウェアの自由」は危険にさらされるのではないか、 思想や信条を抜きにして利用者の都合ばかり考えていては、 フリーソフトウェアの供給は維持できないのではないか、 私はそれを危惧するのだ。
「ソフトウェアの自由」を手放す時、 フリーソフトウェア開発者はソフトウェアをタダで産み出す便利な存在に 成り下がってしまうんじゃないだろうか。今でもしばしばそう思われているのに。
我々は搾取の対象ではない。
これは杞憂だろうか。
新しいうちは細い路地の奥にある。路地の入り口の家には犬がいる。
この犬は気まぐれな犬で、機嫌が悪いと路地を歩く人に吠えかかる。 けっこうびっくりする。
宅配業者がうちに電話すると必ず「おたくは犬の家の奥ですね」と確認する。 今日も吠えられていた。
久しぶりに散髪に行った。暑くなってきたので耐えられなくなったからだ。
今日は意外と混んでいて、数名が待っていた。お姉さんが順番を間違えないように名前を聞きに来た。
お姉さん 「あのー、お名前を」 わたし 「まつもとです」 客A (当惑した様子で)「まつもとです」 客B (困惑した様子で)「....まつもとです」 お姉さん 「....(笑)」
だめじゃん。
住商情報システムが本家Curlをまるごと買い取ってしまったという話。
やっぱりCurlは(アメリカでは)ビジネス的には成功できなかったのだろうか。 やはり「言語ビジネスは死屍累々」の1ページを飾るのか。 (過去の例)
戦略として有効そうなのは、言語そのものを売るのではなく
くらいだろうか。 少なくとも「言語は広まってナンボ」というハードルをクリアするのが難しいということだろう。
ビジネスって難しいなあ。
妻が退院したからといって、完全に回復したわけじゃない。 というわけで、ひきつづき主夫業が続くことになる。
しかしだな、昨日までは感じなかった疲れを感じるのはどういうわけだろうか。 これはつまり、妻がうちにいるということによる甘えなのだろうか。
それともただ単に今週のたまった疲れが顕在化しただけなのだろうか。
夕食はカレー。あんまり成功したとは言えないな。トマトを入れすぎてすっぱいカレーになってしまった。
Rubyに導入することはあきらめた型システムではあるが、 「Rubyではない別の言語」であれば、可能性は十分にある。 また、そのような型システムを持つ言語はあまり知られていないから、 そんな言語を設計(実装)できれば、成功の可能性があるかもしれない。
しかし、難しい問題も横たわっていそうだな。
しかし、それに付いて考察するにはこの日記の余白は狭すぎる。
とりあえず課題を。
いろいろ考えなきゃいけないようだ。langsmithで議論することにしよう。
ワード評議会なのでいつもより早い時間に教会へ。 子供たちは末娘の子守りをしてくれた。助かるなあ。
日曜学校。今週は私が代理教師。日曜学校の教師なんて久しぶり。 範囲は「ヨシュア記」。旧約聖書は文化的な隔絶が大きいのもあって みんなあんまり知らないところだ。 私自身も勉強になった。
とはいうものの、あまり準備する時間が取れず、 時間配分もあまりうまくいかなかったように思っているのに、 教師の人たちから「よかったです」と言われると、 嬉しいような、不本意なような。
教会から帰った午後、子供の自転車の練習につきあう。 やっと乗れるようになったらしい。
出張で信州・松本市へ。
出雲空港から伊丹空港へ。 さらに乗り継ぎで信州まつもと空港へ。
意外なことに出雲・伊丹間と伊丹・松本間は同じ機材(Q400)だった。 CAも同じ人。初めての経験。
まつもと空港はこじんまりとした空港。 行き先が、福岡、大阪(伊丹)、札幌しかない。 タクシーの運転手の人がいうには他にはエプソンの人が ビジネスジェットで利用するんだそうだ。
タクシーで空港からホテルまで移動。 その後、荷物をホテルに預けて、市内観光。
遠くの山はきれいだし、ちょうど天気もよいし、 熱からず寒からず、非常に快適である。 しかも、どこもかしこも「私の名前」だらけである(しかも、かなりの割合でひらがな)。
車一台一台にまで名前が付いている。
松本城を訪問。意外に平地でびっくりする。 松江城も、今は亡き米子城も山城ですこし高台に立っているので、 これが当たり前のような気がしていたが、戦国時代の城ではないだろうから、 高い位置にある必要はないのかも。
美しい城であった。
おみやげ(要望通りのキーホルダーなど)を購入。 昼食は蕎麦。出雲蕎麦よりも色が白くて上品な感じ。
というわけで、長野県ソフトウェア生産性研究会主催の講演会。
70名定員という話を聞いていたが、 ふたを開けたら出席は95名だったそうだ。 かなりいっぱい。 長野市の方から来た人も大勢いたようだ。
で、2時間。
途中、5分休憩を入れたのと、最後5分残して質疑応答に当てたのと以外はしゃべりっぱなし。 大学の集中講義(5コマ×2日)を除くと、最長の講演だったのではないだろうか。 使用したスライドは実に106枚。
その後、懇親会。
大変待遇が良くてありがたかった。 なぜか、繰り返し繰り返し「先生」と呼ばれるのだけは閉口したけど。 私、教員じゃないし、医師でも、弁護士でも、作家でも、政治家でもないんで 「センセー」は勘弁していただきたい*1。
大変楽しかった。
そして、今度買い替えるプリンタはエプソンのにしようと思った。 問題はA970かA920かどちらにするかだが。
*1 その点、「住井さん」は教員なので難しい
で、泊まったホテルはネットは自由に使えたのだが、 メールが外に出ていかない。どうやらOutbound Port 25 Blockingを実施中のようだ。
以前から「なんとかしないと」と思っていつつも、 面倒でずるずると引き伸ばしていたのだが、どうにも手をつけざるをえない。 メール出さずにすむわけじゃないからね。
会社のメールサーバはサブミッションポートをオープンしているのは確認済。 以前、途中まで試した時にアカウントもパスワードも用意しておいた。
愛用のnullmailerはstarttlsに対応していないので、 MTAを置き換える必要がある。シンプルなものが好きなので、 msmtpとかnbsmtpとかを使おうかとも思ったが、 これらはメッセージキューを持たないので、 ネットに接続していない時にはメールが出せない。
しょうがないので定番のexim4を使うことに。 以前は設定がよくわからなかった(ように思った)のだが、 なんとなく設定してたらうまくメールが送れるようになった。
めでたし、めでたし。
PHPでは、round(0.49999999999)が1になる、という話。
一瞬、浮動小数点数の誤差の話かと思ったが、 考えてみれば0.5は二進数で割り切れる。
その真の理由はどうやら
要約すると、「紙とペンで計算すると5.045になるはずの値(実際にはコンピュータ上では約5.04499999999999992894573)を小数点以下第二位までで四捨五入してるのになぜか5.04になった!バグだ!」って騒いでいるプログラマがバグ報告をしてきて、これに対処するために四捨五入の境界値付近(0.00000000001くらいの差)だったら全部0から遠い方に切り上げるようなコード修正をした、ということかと思います。
ということらしい。
えーと、通常なら絶対にあり得ない設計なんだが、 PHPユーザはこういう設計センスの言語を信頼できるのか*1。
なんだかとても悲しい気持ちになった。
それはそれとして、PHPやPythonのround関数はオプショナルな第2引数をとって何桁目まで切り捨てるのかどうかが指定できるのだそうだ。 これは面白いから、Rubyにも取り込もう。
p 5345.6432.round(2) # => 5345.64 p 53456432.round(-4) # => 53450000
となるはず。
追記
どうやら上記は正確ではなくて、補足エントリによるとconfigureが検出する状況によって、変な挙動だったりそうじゃなかったりするようだ。
って、要するにIA86の80bit浮動小数点数の問題かっ。まともな挙動をすることもある点では欠点をあげつらうのは「フェアじゃない」のかもしれないけど、 正直、自分の使ってるPHPが変な動作をするかもしれないというのは イヤすぎる。なんでこんなことに。
*1 オマエが言うか、という批判は甘んじて受けよう
懇親会で「私、こんなフレームワーク作ってます」という話が出たもの。
「そりゃ、皆さんに知ってもらわないと損ですよ」と焚き付けたら、 さっそくsourceforge.jpでアップデートされていた。素早い。
オープンソースやフリーソフトウェアへの理解はもうずいぶん進んだのだろうと 思っていたのだが、「業界」の外では、まだまだまるで理解されていないのだ ということがよくわかる文章。
この場合の「業界」は「IT業界」ではなくて(記者はIT分野の記者だ)、 「FLOSS業界」のこと。