«前の日(05-13) 最新 次の日(05-15)» 追記

Matzにっき


2003年05月14日

_ [blog]blogの定義

Internet Watchの 検索エンジンの裏側という連載の第5回 で面白い記述があった。

blogってそういうものだったのね。

この定義は明確だ。この定義なら日記とは全然違うし、混乱することもない。 でも、それってやっぱり違うんじゃないかなあ。

これでは自分から情報を発信するタイプのサイトはblogと呼べなくなるんじゃないだろうか。 しかし、そのようなタイプのサイトがあるからこそ、 いわゆる「blog文化」あるいは「blog publicity」が成立すんじゃないかと思うんだけど。

_ [Ruby]メソッドフック(その2)

昨日、メソッドフックについて書いたら、 akrさんからフォローがあった。

define_before_hook(:initialize){...}
define_after_hook(:initialize){...}

とか

define_method(:before, :initialize){..}
define_method(:after, :initialize){..}

はどうだろうか、という提案だ。フックの種類なんてbeforeとafterで十分だろうから、 これで良いのかもしれない。個人的には後者の形式は順序を変えて

define_method(:initialize, :before){..}
define_method(:initialize, :after){..}

の方が良いとは思うけど。

もう一つ別の考えとしては、

def initialize__before(*args)
  ...
end

と普通のメソッドのように定義するというものだ。あるいは名前は

def initialize:before(*args)
  ...
end

のように普通の識別子でない方が良いかもしれない。

いずれの記法を選ぶにしても、現時点では効率的な実装方法が思いつかないという、 それはそれで大きな問題が残っているのだが。

_ ツッコミ

しかし、はらさんの「プロレスって」という ツッコミ はどういう意味なんでしょう?

私はプロレスはあんまり好きじゃないんですが、たまに深夜の放送を眺めていると、 ある種の「様式美」に心打たれることがあります。

って、そういう話じゃないよね。

_ プロレス

「プロレス」は「プロセス」のtypoを指摘されていたのね。

私のキー入力法では「ら行」は「r」、さ行は「f」なので、 打ち間違えたのでしょうねえ、たぶん。


2004年05月14日

_ [Winny]日経ネット「識者の反応

記事の日付は11日だから、私はあいかわらず見つけるのが遅い。

識者とされたのは以下の方々。

賛成反対いろいろあるが、それは立場の違いとしておおむね理解できる。

中川氏、藤原氏はソフトの開発には責任が伴うという意見を持っておられるようだ。 特許のときにもあったが、個人的な趣味の延長線上だったソフトウェア開発が、 インターネットなどの手段によってかつてなかったほど広く流布するようになった現代においては、個人を対象に、 従来では企業などだけに求められてきた責任が要求されるようになっていることを示しているのかもしれない。 特許も著作権も「私的利用」に対しては(影響が軽微であったので)規制が緩やかであったが、 いまや個人の行動も無視できない影響力を持てるようになったと。

個人的には技術によって社会が変化しても、従来通り社会は個人を保護すべきだと考える。

社会秩序とか権利者の立場からは許容できない(したくない)変化だろうし、 そのような立場からは我々の希望は「甘え」にしか聞こえないのかもしれない。 ここにも「新しい文化との軋轢」があるように思える。

しかし、どうかと思うのは、ITジャーナリストである津田氏の発言である。

ユーザーの大量摘発が困難な以上、事態を沈静化させるためには、秩序を守るべき立場にある警察が作者を逮捕するしか方法はないと個人的には思っていた。先日、京都府警の巡査がWinnyを利用して捜査上の機密書類を流出させるという事件が起こったが、今回の逮捕はこれと無関係ではないだろう。ソフトウエア開発が著作権侵害ほう助にあたるかどうかは議論の分かれるところだが、警察の真意はこの事件の立件よりもWinnyネットワークそのものを無力化することにあるのではないだろうか。

あるいはインタビューの内容が正しく要約されなかったのかもしれないが、 この文章を読むと「100万人逮捕するわけにはいかないから、一人を幇助で逮捕する」、 「社会秩序を維持するために警察は逮捕を利用した」としか読めない。 しかも、彼は「摘発するしかないと思っていた」と、それに否定的なニュアンスはない。 この警察の行為を正当なものと考えているのだろうか。

いくらなんでも、それはまずいんじゃないだろうか。 警察は秩序を守るために逮捕するんじゃなくて、犯罪者を確保するために逮捕するはずではないかと。 津田氏の真意がどこにあるのか。

もしかしたら、この文章は「警察はこういう動機で動いた」ということを解説しただけで、 彼自身はそれを肯定するつもりはないのかもしれない。 もし、日経の記者がそのニュアンスを書き落としたのだとしたら、それはそれで問題だなあ。

追記:

彼自身は今回の逮捕に賛成している訳ではなく、 日経ネットでの文章は「警察には警察なりの理由があったんだろう」と 言っているだけだと思います。

というツッコミをもらいました。 薄々そうではないかとは思っていたのですが、 「それならそれで(日経は)問題だなあ」という意見の方は変わりません。

_ [テレビ]原作と乖離したアニメ

いろいろあるんですね

『ジャイアントロボ』は漫画化されたものを読みました。 光輝キャラ総出演で楽しかったです。これもアニメとは違うんでしょうね。

デビルマンは、 「原案: 永井豪」でアニメと漫画は独立に作られたのではなかったかな。 で、永井豪が暴走(いや、良い意味ですが)してしまったと。

そういうのは多いですよね。例に挙げた『サンダーマスク』もそうですが。 ちゅーか、こっちは設定からなんから全部別物で、一致してるのはタイトルだけか。

_ [OSS]オープンソース開発モデルの泣きどころと強み

ITmedia Enterpriseの記事から。

まあ、オープンソースが万能だと主張したことはないんで、 「泣きどころ」があるのも否定しないんだが、 この記事には同意できない点がいくつもあった。

典型的なオープンソースプロジェクト開発戦略はフリーソフトウェアには有効だが、商用製品の開発ではうまくいかないと指摘する専門家がいる。

「オープンソースプロジェクト開発戦略」を「商用製品の開発」に適用するというのは どういうことかと。これは「バザールモデル」は商用製品の開発に向かないということか。

オープンソースプロジェクトに提供できるのは、基本的にコードとバグ報告とパッチに限定されているからだ。

だれだ、そんなことを言ったのは。大嘘だよね。

多くのプロジェクトでは仕様をどうするかという点でも話し合われているし、 その話し合いに開発者しか参加できないなんてこともない。 「コードとバグ報告とパッチ」は大いに歓迎されるが、限定されているわけではない。

一方、同意できる点もある。

Eclipseがオープン化した途端に、開発者はFOSS開発のギブアンドテイク主義に適応することが求められたという。

すなわち、開発者は毎日時間をかけて、ニュースグループの記事を読んだり、ニュースグループに投稿したり、ユーザーに説明をしたり、デモを行ったりすることが求められたのだ。また、ユーザーからのフィードバック(機能に対する要求など)をチェックしたり、提出されたパッチや機能改善を検討したりする必要もあった。

そう、オープンソースソフトウェアのメンテナンスにはとにかく時間が取られる。 Riteの開発がなかなか進まないくらいに(言い訳モード)。

_ [原稿]Linux Magazine

Linux Magazineの原稿。7月号のテーマはeruby、amritaをはじめとするテンプレートエンジン。

『Ruby開発日記』の方は、「ソフトウェア開発者の責任」というテーマでWinny事件について....

書こうと思ったのだが、怒りにまかせて半ページほど書いてやめた。

7月号が世に出る来月上旬までには状況がそれなりに変わっているだろうし、 もうちょっと考察が必要そうだ。 特にインターネットやオープンソースなどに代表される社会の変化と 従来の社会秩序との折り合いとかについて。

_ [Winny]サービス提供者

broomさんのツッコミについてちょっと考える。

すみません。先ほどのつっこみ、分かりにくかったと思いますが、要約すれば、『Winny開発者が、Winnyを配布していた点につき、著作権侵害に継続使用されていたサービスの提供者にあたるかどうか』という点が、問題になるのでは?ということでした。ご理解いただければ幸甚です。

たとえば、以前「ファイルローグ事件」があって、ファイル交換サービスを提供していた日本MMOに6689万の損害賠償命令が出されている。

ここで、日本MMOが管理主体であったことについては、中間判決で、

日本MMOが著作権侵害の主体か否かという点では、実際に複製されたMP3ファイルが保存されているのがユーザーのハードディスク内であり、日本MMOの中央サーバーにはインデックス情報しかなかったとしても、交換を行なうためには、日本MMOのサーバーを利用し、日本MMOが提供するクライアントソフトが必要であるため、日本MMOが著作権法の自動公衆送信権と送信可能化権を侵害している主体と認定された。つまり、実際に違法MP3ファイルをやり取りしていたのがユーザーであっても、それは日本MMOの管理下で行なわれていたと判断された。また、広告を掲載していたことや、有料化の予定があったことにも触れられ、日本MMOが利益を上げるために、送信者にMP3ファイル交換をさせていたと判断された。

とある。要約すると交換には

  • 日本MMOのサーバ
  • 日本MMOが提供するクライアント

が必要で、

  • 日本MMOが利益を上げるために、送信者にMP3ファイル交換をさせていた

から侵害の主体は日本MMOという主張だ。やや無理があるが、納得できないことはない。

では、47氏についてはどうか。

  1. 彼は著作権侵害の主体になりえるか

    無理だろう。確かに交換には「彼の作ったクライアント」 が必要だが、それ以外については成立しないのだから。

    だから彼は著作権侵害の主体ではありえない。 実際に彼は著作権侵害の罪ではなく、 幇助という罪で逮捕されているのだから、 その点については京都府警もそう考えているのだろう。

  2. 彼がサービス提供者とみなされるか

    もし彼がサービス提供者で、Winnyで利益を上げるつもりだった(広告を掲載するとか、有料化の予定があったりとか)ならば、 判例があるのでクロ。だが、そうではない。

    しかし、冷静に考えれば、Winnyクラスタをひとつのサービスとみなすならば、 サービスの提供者はWinny利用者ひとりひとりであるはずだ。 開発者であるといえども、どのようなファイルが交換されているかのインデックスを持つわけでもない。 P2Pでは個別のサービス提供者を特定しにくいという理由で、 特定しやすい開発者をサービス提供者とみなすのは間違い。

    どうしてもそうしたいならば、P2P禁止法を作り、日本をP2P暗黒国家にするしかない。 その場合でも法律制定前の違反は罪ではない。

  3. 彼の開発意図が著作権侵害なのか

    こればっかりはわからない。

    しかし、たとえ彼が開発動機が「現在の著作権のあり方に対する疑問」であって、 自分のソフトウェアによる著作権侵害を容認していたとしても、 他の人が行った著作権侵害に対する幇助として適用するのは思想統制の可能性が強い。

だからこそ、この件については注目を続けなければいけない。

権利者の横暴なのか、社会秩序のための必要悪なのか、 当然かつ正当な規制なのか、圧政の始まりなのか。

将来、日本を捨てなくてすむことを願ってやまない。

追記:

「特定しにくい」ではなく、「特定出来ない」とした場合も同様の結論となりますか?

というツッコミをもらった。 私なら同じ結論を出す。完全匿名の実現を禁止したP2P規制法が出来ない限り。

が、完全匿名の禁止はプライバシー権や言論の自由の封殺でもあり、 そのような法律には反対だし、そもそも憲法違反の疑いがある。

憲法違反の疑いがあってもなあなあで世の中が回ってしまう国であるけれど、この国は。

_ ネタブラカダブラその後

私が紹介したことを取り上げてくださるのは嬉しいが、 私の名前は「ゆきひろ」であって、「ゆきお」ではない。 しばしば「ひろゆき」と間違えられるが、「ゆきお」は久しぶりだな。

「ゆきお」は私の父の名前だ。

_ [Winny]「開発者逮捕は不当」 ウィニー事件で弁護団結成

今日はたくさんのツッコミをいただいたが、 当然私は法律家ではないし、素人なのでなにも断言できるものはない。 私がWinnyについて書いた文は、基本的に疑問の提示と意見の表明にすぎない。

弁護団がきちんと結成されたからには注目し続けることにしよう。

あと、津田さんご本人からもコメントをいただいた。 警察の行為を正当化する意図はなかったとのことで、 結局、表現だけの問題と分かった。限られた文章でニュアンスを表現するのは難しいので、 しかたがないのかもしれない。

それに私だって同じことだ。私の文章も 津田さんへの一方的な非難に読めないことはない。


2005年05月14日

_ [OSS] コード読みのコード知らず

小飼さんが怒っている。元々は三浦さんのエントリ。

Momokuri's Memo - Code readers daily [Japanese] - CodeFest 2005 JAPAN

だからこそ、CodeFestを日本で開く応援をしたい、推進派になった。人材育成とか、日本発のOSSとか、コードも書かない人に言われたくはない。一緒に取り組んでいる仲間を増やすこと、同じ空間と時間を共有して、フリーソフトウエアの世界を確かに広げた実感を共有すること、それこそが醍醐味ではないか。

...おい、何生意気いってんだよ。コードだけでOSSの世界が回ると思ってんのか?「コードも書かない人」だと?だったら言ってやる。必要経費も出さない奴にOSSがなんだかいわれたかねーよ。コードが書けずとも、コーダーに理解を示してくれる貴重な人たちの手を払いのけるようなことを言ってる奴にフリーソフトウェアがなんたるかいわれたかねーよ。

うーむ。まあ「コードを書かない人間に」という表現だと直接コードを書かない人間すべてを排除しちゃうんで表現としてはイマイチで、実際は「コード書きの気持ちがわからない人間に」くらいが正解ではないだろうか。小飼さんはTim O'ReillyやLawrence Lessigのことをあげているが、彼らは自分ではコードを書かないかもしれないが(ただし、Timはコードを書く人のはず)、コード書きの気持ちはかなりわかってると思う。

で、まずそこをはっきりさせておいて、 さらに考えるとどうにも「コードだけでOSSの世界が回ると思ってんのか?」という言葉に引っかかる。 いや、小飼さんの真の意図とは(おそらく)別にこの言葉の表現が非常に気になるのだ。

オープンソースという概念の周辺を取り囲むひとつの生態系がある。 オープンソースプログラマやコミュニティの参加者、 オープンソースビジネスにかかわる人などなどから構成される系である。 わざわざオープンソースという単語を使うところがビジネス臭を感じさせる。 これをとりえあず「オープンソース・エコシステム」と呼ぼう。

小飼さんのおっしゃる通り、オープンソース・エコシステムはコードだけでは成立しない。 開発者以外に、議論に参加する人、ドキュメントを書く人、単なるユーザ、本を買う人、 ビジネスとして利用する人、オープンソース開発者を雇用する人などが集まって絡み合って成立する系だからだ。 そういう意味では「コードだけでOSSの世界が回ると思ってんのか?」という言葉に嘘はない。

また、

コーダー<としても>OSSに関わってる実感から行けば、コード書きなんて一割いかねえよ、必要な作業の。

という言葉も、「必要」が「ビジネスに利用するに十分なクオリティを確保するため」のものであると 考えれば納得できる。個人的にはそれでも1割よりもうちょっと多いとは思うけど。

で、嘘がなく、納得できる内容のはずの言葉なのだが、どうにも私の心に響くのだ、ネガティブに。

おそらく、以下の点について言及が無いからなのだろう。

  • オープンソース・エコシステムによって再生産的に開発されているオープンソースソフトウェアはまだほとんどない*1。割合は少なくてもコードが無ければエコシステムが持続できない。エコシステムにとってコードがクリティカルな存在であることはこれからも急激には変わらない。
  • オープンソース・エコシステムによって食べていけているプログラマは増えている。 私もそうだ。それは良いことであり、ありがたいことだが、 エコシステムがなくなってオープンソースソフトウェアがビジネスに使われなくなったら 致命的かというとそうでもない。プログラマにとってエコシステムはクリティカルではない。
  • フリーソフトウェア・プログラマが幸せに開発を行うためには、 コンピュータ、インターネット、小さくてもよいコミュニティ、 自由な時間とわずかな食い扶持とがあれば良い。 オープンソース・エコシステムが亡んでも フリーソフトウェア・プログラマが不幸になるとは限らない。
  • エコシステムの存在はプログラマを楽にしているとは限らない。 給料を払ってもらえてる人はもちろん楽させてもらっているけど、 その他のことをエコシステムが肩代わりしてくれているわけでは実はない。 むしろ、エコシステムの一部である圧倒的な「勘違いしたお客さん」が プログラマの負担を増やし続けている。 「あなたはコーディングに専念してください」とか 「ドキュメント整備、広報、伝道など引き受けますから」なんて話はついぞ聞いたことない。 助けてくれる人もたくさんいるけど、 それはほとんどの場合ビジネス臭の強い「オープンソース・エコシステム」からではなく、 手弁当の有志である。わずかな例外を除くとね。

こういう事実もあるところで、

コーダー<としても>OSSに関わってる実感から行けば、コード書きなんて一割いかねえよ、必要な作業の。MLでコンセンサス取って、ドキュメントを整備して、モノが出来たら広報して伝道してフィードバック受け付けて、それを回すだけのインフラを用意して....未だにコーダーだけでやってけると思ってるのかこの青二才が。

と言われると、はなはだしく萎えるのだ。嘘じゃなくても。 私、上司からこういう言葉をいただいたら、その日のうちに転職を考えます。

そういう意味で、こういう発言をしてしまった小飼さんは、ご自分が想像する以上に 「コード書きの気持ちがわからない人間」になってしまっていると見える。 少なくとも私からはそう見える。 たとえご自身がコードを書くことがあっても、 本人そのつもりが無くても、 他のプログラマに「わかってもらえてる」という信頼を得られない言葉を吐く時点でかなりヤバい。

これらに小飼さんが気づいてないはずはないと思うのだが、 怒りのあまりうっかりしたか、私が思っている以上に小飼さんの心がスーツ化しているということか。 あるいは(元々の三浦さんのエントリがそうであるように)単なる表現上の問題か。

*1  Rastとかうちの会社で作っているものは例外的にそういうのが多いけど

_ 第1回出雲・玉造アートフェスティバル

近所で「あーとふぇすてぃばる」なるものが開催されている。 子供たちは学校帰りにいくつも目撃しているらしい。 夜はライトアップされているとも聞く。

そこで、今夜は見学することにする。もっとも30箇所以上ある「あーと」を全部見るわけにはいかないので、 「玉造温泉ゆ〜ゆ」と「玉造史跡公園」にあるものを中心に。

結構おもしろいものが多かった。若い人の作品が多いのね。 多摩美の大学院卒業制作のものが複数あった。

次女がうっかり「バオバブ・プランテーション」のライトにふれてしまって、けっこうな火傷を負ってしまったのは残念だった。 この展示がいちばんきれいでインパクトが大きかっただけよけいに残念。 でも、暗いから注意書とか書いても読まないだろうしなあ。 つい、なんにでも触りたがる次女が悪いと言えばそのとおりだし。

5月末までの展示なので、終わるまでに残りも見よう。


2006年05月14日

_ 遅い帰宅

今日は車二台で教会に来たため、 妻子は早くに帰ってしまう。 残された私は打ち合わせとかをしてたら ずいぶん遅くなってしまった。

出張やら家族の体調不良やらでずっと打ち合わせが出来てなかったからね。

疲れた。

帰ろうと思ったら、若い人たちが黒板に漢字を書いて読みを当てる遊びをしていた。 漢字検定に挑戦した高校生がいるとかで(何級か聞き忘れた)、 難しい漢字が頻出してた。

「向日葵」とかならともかく、 「仙人掌」とか「女郎花」とか読めないよ。 あと、「蛭」は読めたけど、「孑孑」は忘れてた。


2007年05月14日

_ [Ruby] Rubyを飲み込んでしまうJava − @IT

ふーん、飲み込まれちゃうんだってさ。

しかし、バックにサンというブランドを得て、性能や普遍性で勝るJRubyが、Rubyワールドのヘゲモニーをいつの間にか奪ってしまう可能性も否定できない。現在、JRubyはRuby1.8と互換性を持っているが、Ruby1.8から大きな変更が加わるRuby1.9が登場するころに、もし万が一、 JRubyユーザーの多くが、そうした変更を嫌ったら、どうなるだろうか? Rubyが、いくつかの“Rubies”にフォークしてしまわないだろうか。ちょうど、BSDがFreeBSD、NetBSD、OpenBSDと分かれたように。

まつもと氏を中心としたRubyコミュニティは、今後どういう体制を整えていくのか。あるいは緩やかで暗黙的な連帯だけで開発を続けていくのか。それは、今後Rubyの受容がどこまで進むのかにも関わってくる問題で、今は誰にも予想ができないことなのだろう。

っていうか、「Javaのやり方」から見てるからそう感じるのかもしれないけど、 フリーソフトウェアの歴史を見てると、「Javaのやり方」の方が特殊だし。

Java界におけるRubyの存在意義のひとつは「Alternativeの提示」だと思う。 Javaの世界の当たり前が、外の世界では必ずしも当たり前でないことを示してきた。 Rubyだけがそうしてきたわけじゃないけど。

つまり、

  • 静的な型がなくてもちゃんとプログラムできる
  • コンパイル型の言語じゃなくても実用になる
  • 大胆なリフレクション(メタプログラミング)も実用になる
  • 硬いAPIを作らなくても、アプリケーションを構築できる
  • XMLを使わなくてもDSLできる
  • などなどなど

で、フォークだけど、「したければしたらいい」というのが私のスタンス。 少なくとも現時点では「フォークしたくない(ので調整したい)」と思ってるのはJRuby側だから。 言っとくけど。

_ bashにて複数端末間でコマンド履歴(history)を共有する方法 (iandeth.)

これこれ。ながらく「育てて」きた.bashrcがあると、 zshに移行するのも面倒だと思ってきたが、ヒストリの共有だけはうらやましいと思っていたので これはありがたい。

後、ワイルドカード展開もうらやましいかなあ。

「なら、さっさとzshに移行すればいいのに」と言われそう。

_ [言語] Relevance: Static Typing and Readable Code

「静的型情報がないとヒントが少なくてコードを読み解くのが難しいんじゃない」という疑問に対する反応。結論は、「人間にとっては(多くの場合)そんなことはないんじゃない?」というもの。

Structs+Springの以下のコードと

public ActionForward edit(ActionMapping mapping, ActionForm form,
                          HttpServletRequest request,
                          HttpServletResponse response)
    throws Exception {
  PersonForm personForm = (PersonForm) form;
  if (personForm.getId() != null) {
    PersonManager mgr = (PersonManager) getBean("personManager");
    Person person = mgr.getPerson(personForm.getId());
    personForm = (PersonForm) convert(person);
    updateFormBean(mapping, request, personForm);
  }
  return mapping.findForward("edit");
}

Rails (ActiveRecord)の以下のコードを比べてみる。

def edit
  @person = Person.find(params[:id])
end

で、読みやすさは言語(の文法)によるものではなく、 プログラマによるものである、という結論。

もちろん、Java文法でも上の例題よりも読みやすいコードが書けるAPIは可能だろう。 要はモチベーションの問題か。

_ [Ruby] CodeGear、「Ruby on Rails」対応の開発ツールを発表へ - CNET Japan

来週のRailsConfで正式発表だとか。

日本での発表は6月5日のCodeGearイベントにて。 私もゲスト出演することになった。事前打ち合わせ、何にもしてないんだけど。


«前の日(05-13) 最新 次の日(05-15)» 追記