«前の日(02-22) 最新 次の日(02-24)» 追記

Matzにっき


2004-02-23

_ [OSS]OSD準拠ソフトウェアはオープンソースソフトウェアか

先日(といってもアップロードしたのは今日だが)、 『オープンソースの光と影』という スライドを公開したら、塩崎さんから反論というか批判というかをいただいた。この意見に対して同意はしないが興味深い。

まあ、客観性などという言葉にだまされてはいけないやね。 私は、 オープンソースの客観性 というものは全く認めない。確かに、定義により 「OSD 準拠のソフトウェア = オープンソースソフトウェア」なのかもしれないが、 しかし、オープンソース運動というのが思想的プロパガンダであることを考えると、 機械的に「OSD 準拠のソフトウェア = オープンソースソフトウェア」という定式を適用することは、「OSD 準拠のソフトウェア」 を勝手にオープンソースのプロパガンダに使ってることに等しい。 これが「OSD 準拠」と言うことと、 「オープンソース(ソフトウェア)」と言うことの本質的な違いだと思う。 思想的プロパガンダに利用するようなことを、単に「定義により客観的」だから「開発者の意図とは関係ない」 と言うことが許されるべきなのだろうか。

たとえば、「日本国民 = ほげほげ党員」という定義を考えてみよう。 かなり勝手な定義だが、確かにこの定義は客観的だ。しかし、ほげほげ主義を信じているかどうかに関係なく、 あるいは、実害があるかどうかに関係なく、この勝手な定義およびその客観性という大義名分によって 勝手にほげほげ党員にされたら誰だって嫌だろうし、「日本国民はみんなほげほげ党員です。ほげほげ主義は素晴らしい!」 なんていうプロパガンダをされたら嫌だろう。 要するにそういうことだな。「ほげほげ主義は素晴らしいから許されます!」 とかアホなことを言い出す奴が出ないことを祈る。

まあ、百歩譲って 「OSD 準拠」のものを単に「オープンソース(ソフトウェア)」と呼ぶのが 「悪い」ことなのかどうかはともかく、少なくとも「失礼」なのは確かよね。 オープンソースという言葉の定義を勝手に別の定義で置き換えることを 「失礼」と言う のならば、 勝手にオープンソースという物を定義して、 その勝手な定義にしたがって勝手にオープンソースソフトウェアと呼ぶことの 「失礼」を認識していてもよさそうなものなのだが。 それが認識できていないあたり、独善と言われても仕方がない。

前にも書いた通り、そもそも「オープンソース」という言葉ができる前から 「オープンソースみたいな何か」という文化があったのだけど、「オープンソース」というのは所詮、 その旧来の「オープンソースみたいな何か」 の文化に対する乗っ取りからスタートしてるからしょうがないのかもね。

いっぱい引用したが、肝心の論についてまず述べよう。

OSD準拠のものをオープンソースと呼ぶのは失礼なのか

私は失礼だとは思わない。議論のため、ある定義を満たすものに名前をつけることはよくあることだ。 もちろん「オープンソースみたいな何か」という文化が以前から存在していたのは事実だが、 オープンソース以前には明確な定義もなく、的確な名前もなかったことは 塩崎さん本人がそれを「オープンソースみたいな何か」と呼ばざるをえなかったことから明らかではないだろうか。 明確に名前がないものに名前をつけ、範囲を確定する行為は自然な行為である。

中にはいろいろな理由から「オープンソース」という用語を好まない人はいるだろうが、 あらゆる人の意向を尊重することは事実上不可能であるため、ある程度「しょうがない」だろう。

では、失礼でないとしたら、問題はなにか。 それを考えるために塩崎さんがあげられた「たとえ」について考えてみるのは有効かもしれない。

  • 「日本国民 = ほげほげ党員」という定義を考えてみる
  • 勝手にほげほげ党員にされたら誰だって嫌
  • 「日本国民はみんなほげほげ党員です。ほげほげ主義は素晴らしい!」 なんていうプロパガンダは嫌

うむ、よく出来たたとえに見える。

しかし、「勝手にほげほげ党員にされたら誰だって嫌」なのは、 最初の定義は「日本国民 = ほげほげ党員」でしかないはずなのに、 「党員」という単語の語感によって、本来の「ほげほげ党員」定義に含まれない 「ほげほげ主義に賛同する人」という「別の定義」を導入しているからではないだろうか。 これでは、最初の定義は本当の定義ではないということになる。

最後の「ほげほげ主義は素晴らしい!」についてはもっと論理が破綻している。 「日本国民 = ほげほげ党員」という定義からは 「ほげほげ党員」と「ほげほげ主義」の関連性は引き出せないので、 どう頑張っても「素晴らしい」根拠にはならないはずだからだ。 ここでも暗黙の別の定義が使われている。

語感から本来の定義にないものを導入するのは、やっぱり定義を尊重しない行為だ。 それは少なくとも私のやり方とは真っ向から反対する。 塩崎さんの批判は(定義を尊重しないことを前提にしているので)私にはあてはまらないし、 そういう私の論からそれを引き出すのは、残念であるばかりか、詭弁という印象さえある。

とはいえ、私は塩崎さんが意図して詭弁を使ったとは思っていない。 予想できるのは以下のいずれかだ。

  • 誤解

    オープンソースソフトウェアという名前がオープンソース運動に賛同した作者によるソフトウェアであると誤解している。

  • 危惧

    オープンソースソフトウェアという名前がオープンソース運動に賛同した作者によるソフトウェアであると誤解されると心配している。

いずれにしても、そういうことがないように「定義」をきちんと説明して、 さらに「客観的」という単語を入れたスライドを用意したのだが、 まさにそこがヒットしてしまうとは、なんたる皮肉。

私は、フリーソフトウェアと違ってオープンソースはプロパガンダであるとは思っていない。 むしろフリーソフトウェアという言葉のプロパガンダ臭を嫌忌した人のためのオープンソースだと思っているのだが、 思想や背景がないとまでは言わない。

しかし、オープンソース運動は「(OSD準拠の)オープンソースソフトウェアを活用する運動」であって、 「(OSD準拠の)オープンソースソフトウェアの開発」のことではない。重要なのはここだ。 OSD準拠のソフトウェアを開発しているからといって、オープンソース運動に賛同する必要も必然も存在しない。 オープンソース運動がオープンソースソフトウェアを利用しているのは事実だが、 OSD準拠のライセンスを選んだ時点でそのような利用を許容している(or そのような利用を制限することはあきらめている)とみなされるだろう。

本日のツッコミ(全14件) [ツッコミを入れる]

Before...

_ まつもと [私にはその意図はありませんでした。 どうして詭弁だと思いましたか?]

_ OSSer [詭弁というより明らかな論理破綻ですね。 自己矛盾してるし。]

_ まつもと [もったいつけないでどこが論理破綻で自己矛盾だかはっきり教えてくださいよ。別に論理破綻も自己矛盾も望んでいないので。]

_ yoosee [塩崎さん:   オープンソース ⊂ OSD準拠のソフト まつもとさん: オープンソース := OSD準拠のソフト ..]

_ ひろし [自分には 塩崎さん: オープンソース ∩ OSD準拠のソフト != φ と言ってるのかなーということしか読み取れ..]

_ 別人だが [>もったいつけないでどこが論理破綻で自己矛盾だかはっきり教えてくださいよ >>明確に名前がないものに名前をつけ、範囲..]

_ no name [後付で申し訳ないがこちらも自由に時間があるわけではないので 「オープンソースみたいな何か」を塩崎君が「フリーソフト」..]

_ jzkey [「おまえらがオープンソースなんて定義を勝手に作って、GPLをその定義に含めるのは、まー勝手にやってろ。 けどFSFの..]

_ τ森 [植物をその性質から「被子植物」と「裸子植物」に分類したり、社会の仕組みをその性質から「共産主義」「資本主義」「修正資..]

_ Yoshi [オープンソースは、フリーソフト(フリーは自由)運動の思想や倫理という面をかたること避けるために生まれてきたものと理解..]

[]

2005-02-23 父の誕生日

_ [言語] Teaching my kids to program

子供にプログラミングを教える時にどんな言語を選ぶかって話題。 DanDon Boxってのはすごく有名な人らしい(ごめん、知らないの)。

私だったらどうするかなあ。私の4人の子供たちは、 あいにく(さいわい?)プログラミングに関心がないので そういうことを考えたことがない。 プログラミングってのは自分で学びたいと思って身につけるものだと思ってるし。

でも、いざ彼らが「学びたいんだけど」と言ってきたら、なにを与えるかなあ。

Ruby
やっぱり父親が一番詳しい言語だから(当たり前)。 でも、Rubyってばどっちかっていうと「ハッカーの道具」で素人向けではないような気もする。 ま、そういう点は触れないで教えればよいのだが。
Squeak
やっぱ、一番見栄えがいい処理系といえばSqueak周辺ではないかと。 ただねえ、次につながるかといえばなんか違う気がする。
LOGO
元祖タートルグラフィックス。 子供にプログラムの結果がはっきり見えるのは良い。 でも、ちょっと古めかしい。今でも処理系は入手できるんだろうか。 「次につながるか」という不安はここにもある。
Dolittle
ドリトル先生にお願いしようか。 が、父親もよく知らない言語は教えられないなあ。
ひまわりなでしこ
これも同様。日本語プログラミングにはずっと前から懐疑的なのだ。 ただ、「シンボルを日本語の単語にして構造は通常言語」というのはアリかもしれない。

なんかコレというものがないねえ。

....作るか(ぉぃ)。

_ [Ruby] Probe Object

sshiさんの日記から。

まあ、Rubyを含め動的型言語には、

Rubyでは動的型付けの悪影響で、ライブラリなんかの関数に何のオブジェクトを渡せばいいのかさっぱりわからないことがある。ソース読んでも関数定義だけでは仮引数の個数と名前くらいしかわかんない。

  • 変数宣言に型を書かなくていいなんて、なんて書くのが楽なんだ、ビバRuby!
  • 変数宣言に型を書かなくていいなんて、なんて読むのがつらいんだ、ガッデムRuby!

てなかんじ。

という傾向があるのだが、それに対する対応策として、 「じゃあ実行してみちゃえ」というアイディア。 動的言語万歳。

使い方のわからないメソッドにProbeというオブジェクトを引数にして渡すと、method_missingを活用して

  • そのオブジェクトに対して呼び出されたメソッド
  • その引数
  • メソッドの戻り値の使い方

などを記録してくれるという仕組み。詳しくは元のエントリを参照のこと。

結構いいかも。逆転の発想だ。

本日のツッコミ(全19件) [ツッコミを入れる]

Before...

_ Classiclll [いまさらですが、私のWebでHyperCardによるTurtleGraphicスタックを作っています。 子供へのプロ..]

_ 大島芳樹 [僕自身がこういうシナリオを信じているかというと微妙ですが、例えば冷蔵庫と電子レンジとガスコンロにコンピュータが入って..]

_ 兼宗 [Dolittleの兼宗です。言語はRubyで(が)いいんじゃないかなあ。よいサンプルとアドバイスできる身近な存在が一..]

_ 兼宗 [LOGOは設計が古いので何とも...。子供にDynamic bindingとrecursionを体験させるには適して..]

_ Classiclll [>kitajさん 変数「it」はハイパーカードにもありますよ。 >兼宗さん 「recursionを体験させる」ではな..]

_ Classiclll [↑言葉が変ですね、以下のように訂正します。 「recursionを意識させずに自然な論理として思考に織り込むことが出..]

_ 山路邦夫 [私は 文字列入れる 変数名の最後に _s とつけて 整数なら _i とつけてます 配列は 英語がわからないので 配列..]

_ Tanabata [ロボット組み立てるのが楽しいなら、MindStormはどうですか。プログラミングの勉強にはならないでしょうけど。]

_ Classiclll [>Tanabataさん MindStormもOKです。「子供向け」のキーワードは、言語構想の理解というよりは、思考の..]

_ 原田 [なんか,1ヵ月も前の話題にすみません.僕は自分の子供のためにViscuitを作りました.何を教えるかという議論をはじ..]

[]

2006-02-23

_ 体調不良・スライド

昨日に引き続き、風邪。

午前中はまるまる寝込んでしまう。朝食を食べ、子供たちを学校に送りだしてから午後二時まで寝ていた。

その後、起き出して、やっとスライドの準備を。話の流れは考えていたので、割と短い時間に書き上げたが、なんかあんまりすっきりしない。

_ 父親の誕生日

今日は父親の誕生日である。皇太子の誕生日でもあるそうで、子供のころ「いつか天皇誕生日になる」と聞かされたような記憶がある。

で、当の本人は母と一緒に東京に出かけている。退職してのびのびとやっているように見える。

いつか、私が退職したら、生活の苦労なく思う存分ハックできたらいいなあ。 縁側で猫とひなたぼっこしながら。

あ、今とあんまり変わらないか。

[]

2007-02-23

_ B・ゲイツ氏:「娘のコンピュータ使用時間は平日45分、週末1時間」

ふーん、そうなんだ。

うちは

  • PCはリビング。個室への移動は禁止
  • PC使用は親に優先権あり

くらいかな。PCが空いている限りは特に時間制限はしていないな。 もっとも子供たちの使用時間が1日45分をこえることは滅多になさそうだけど。 別にフィルタリングソフトとか入れていない。

_ ウィキペディア頼み、誤答続々 米大学が試験で引用禁止

大学の試験でWikipediaを丸写しして間違いが伝搬しちゃったという話。

まあ、習ってもいないことを裏も取らずにWikipediaからコピペしちゃうのも 大学生としてはどうかと思うけど。 それはそれとして、Wikipediaに限らず書籍とかでも間違いが伝搬することはあるんだけど、 そっちはどうでもいいんかね。誰もが一次情報にアクセスするわけじゃないんだから。 むしろ、大新聞社(特に朝日?)がWikipediaを特別扱いしているような雰囲気がある方が気になる。

そういえば、うちの中学生たちは先日のレポートにWikipediaを丸写ししていたが(Wikipediaって明記していたし、面白いので黙って見ていた)、先生はどう思ったんだろうか。

_ [Ruby] 合宿1日目

1.9になって多重代入ではなく、ローカル変数のみになった block parameterとformal argumentのルールの統一化。 やはり顔を突き合わせていると話が進む。

うささんたちはsignalの話を延々と。 話を聞いているとWin32でのsignalの扱いは悪夢のようだな。

あと、夕食を食べながら、キーワード多重代入のようなものを用意して

foo: a, bar: c = {foo: 4, bar: 5}
# a = 4, b = 5になる

それをメソッド引数に許すことにより

def foo(a, b, foo: c, bar: d)
end

というのを許すのはどうだろうか、という話が出た。 一応、Railsとかで多用されているHashをキーワード引数の代わりに使う やり方と互換性はそれなりにありそうだ。

もっとも

foo(1,2 bar:42)

という呼び出しは許されても

foo(1,2)

という呼び出しに「引数の数が合わない」というエラーが出ないようにする 理屈付けが必要そうだ。

_ 誕生日

今日は中村うささんの誕生日であった。 そういえば私の父親も誕生日である。

「おめでとう、おじいちゃん」

イヤな顔をされた。実際、孫が11人もいるのに。 あれ? 12人だったか。

本日のツッコミ(全1件) [ツッコミを入れる]

_ eto [「foo: a, bar: c」は「foo: a, bar: b」の間違いですか?]

[]

2008-02-23

_ 帰還(2)

早起きして羽田に。

昨日から札幌便とか全然飛んでないので、空港は大変な人だかりである。 eチケットなので窓口に並ぶ必要があったのだが、 羽田のANAは人間がいる窓口が圧倒的に足りないので、 こういう異状事態が起きると大変な行列になる。

で、行列に並んでいると、私が乗るはずだった米子便が欠航になったとのアナウンスが。

がびーん。

仕方がないので、予約変更。次の便は空席待ちになった。

で、そうなると欲しいのがネットアクセス。 ところが、現在使っているX61はどうにもWEPキーがあるAPへの アクセスができない。

しょうがないのでndiswrapperをアンインストールし、 2.6.24に標準添付されているiwl4965モジュールを使ってみることにする。

いくつかおかしな点はあるが、とりあえずWEPキーを設定してアクセスできるようになった。

おかしいこと。

  • ifconfig wlan0 upしないとiwlist scanが働かない
  • root権限がないとiwlist scanが表示されない
  • gkrellmのwirelessプラグインが情報を表示しない

なんでだろう?

ちょうど私まで空席待ちが乗れたので、 11時の便で米子まで。 雪で欠航ということだったので、 どんなに積もっているのかと思っていたら ぜんぜん雪なんかなくて拍子抜け。

用事が残っていたので、一度教会によってから自宅へ。

思いっきりくたびれた。

本日のツッコミ(全3件) [ツッコミを入れる]

_ Ayato [なんだか「がびーん」という表現を久しぶりに聞いた気がします。 語源について調べてみたのですが、どうやら昭和の漫画等の..]

_ まつもと [まつもとは間違いなくおじさんですからねえ。 小飼弾さんより年上といえばイメージしていただけるでしょうか(失礼 昭和は..]

_ hyosihok [がびーん。]

[]

«前の日(02-22) 最新 次の日(02-24)» 追記

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.