ちょっと古い論文。だけど知らなかった。
静的言語ではダイナミックディスパッチの実現にC++のVirtual Table(VTABLE)のような ディスパッチテーブルを用いる手法が使われることが多い。 これは「高速である」、「コンパイル時の情報が豊富」などの性質が有利に働くからだ。
上記の論文はこのようなディスパッチテーブル手法をSmalltalkのような動的言語に適用する、 というもの。動的言語特有のクラスやメソッドが動的に追加された時にどう対処するかという点についても 考察されている。
目新しい点は
なかなか効率は良さそう。しかし、この手法はRubyのようなオープンなクラス(既存のクラスにメソッドを追加できる)ではテーブル再構成が増えて効率が悪くなるかも。ここをどう解決するか。
Computer Associates(CA)は自社の特許ポートフォリオの一部をオープンソースの開発者に公開し、すでにこうした動きに出ている他社を追従する計画を進めている。
同社関係者によると、CAは自社の特許を利用して、オープンソース製品に対する法的攻撃からユーザーや開発者を守る考えもあるという。特許の公開時期やライセンス条件の詳細については今後決定されると、この関係者は述べた。
とりあえず素直に歓迎したい。望むのは、どうせ公開するなら(Sunのようにではなく)IBMのような上手な方法で行われることだ。
「自社の特許を利用して、オープンソース製品に対する法的攻撃からユーザーや開発者を守る考え」というのは、IBMのアナウンスよりも一歩踏み込んでいるように思える。
もっとも、そもそもソフトウェア特許に運用に問題があるからこんなことが必要なんだ、 ということは忘れないようにしたい。なにか良い解決策はないものか。
既得権者には受け入れられそうもないが、「特許の有効期限は2年」というのが 一番「産業振興に利する」ように思えるなあ。
Perl, Apache, Linuxの各プロジェクトリーダー(「元」も含む)の言葉。
まあ、一言にフリーソフトウェア/オープンソースソフトウェアと言ってもあり方はさまざまだ。
たとえば私が関わるものだけでも、 Rubyはよくも悪くも私が始めた「私のもの」で、いろんな人の意見を反映するとは言え、 最終決定するのも、責任を取るのも私だ。 逆にcmailは私はオリジナルの作者ではなく、引き継いだ保護者であり、 そして集団管理体制に移行した(が、最近は衰退しているんだろうなあ)。
どれがいいとは断言できないが、 参加しやすいコミュニティを持つものは長続きしそうな気がする。
ところで、この記事のタイトル「要諦(ようてい)」って知らない言葉。 辞書によると「肝要なさとり」あるいは「肝心の点」ってことらしいけど。 原文タイトルの「The paradox of free/open source project management」とはずいぶん印象が違う。
ここで言う「paradox」とは
フリー/オープン・ソースプロジェクトを立ち上げ大成功に導きたいのなら、時機をあやまたずに手放す計画を立てよ。
ということらしい。上記のインタビューのどこからそういう結論を引きだしたのかよくわからないけど、 まあ全く嘘というわけではない。
でも、同じインタビュー(と自分の経験)から、私が教訓を引き出すとしたら、
くらいかな。上記の「結論」は最後のものだけを強調し過ぎているように思う。
Overall, you scored as follows: 6% scored higher (more nerdy), and 94% scored lower (less nerdy). What does this mean? Your nerdiness is: Supreme Nerd. Apply for a professorship at MIT now!!!.
だそうだ。そんなに?