«前の日(03-02) 最新 次の日(03-04)» 追記

Matzにっき


2004年03月03日 ひなまつり

_ [OSS]Open Source History

OSDNの佐渡さんからオープンソースの歴史と経緯についてメールをいただきました。 許可をいただきましたので掲載します。

お疲れ様です。ふと日記を見ると、私の名前が出てたので歴史ぐらいは簡単にまとめておきます。

オライリーのオープンソース本(1997年と誤記されている箇所あり)を 読めばだいたいのことは分かるのですが、オープンソースという言葉は 1998年2月3日に初めて生まれたというのが通説です。(ESRあたりが 実はその数週間以前にOpen Sourceという言葉自体も案として持っていた 可能性を捨てきれないと考え通説と言ってます。公にはなってませんが ペレンスあたりと情報交換はひんぱんにしていたらしいですし。)

経緯的には、アンチビジネス的なイメージに悩まされていたVAリサーチ(当時) がそれを払拭する手段を求めていたという背景が大きいのですが、直接きっかけと なったのは Netscapeのソース公開のニュースです。1998年1月22日にNetscape のソース公開計画が公表されましたは、そのNetscapeの行動を成功 に導いてフリーソフトウェア自身も成功に導きたいESRとフリーソフトウェア のイメージに悩まされていたVAリサーチのLarry Augustinらの思惑が がっちり合って、2月3日のVAリサーチでの会合で「Open Sourceという名称」と 「DFSGをその定義」として使ってフリーソフトウェアのキャンペーンしていこ うという流れになったわけです。この会合に出席していたのは、 Larry Augustin、ESR、John "maddog" Hall(USENIXの重鎮、Linux Internatinalの会長で既にVAにjoinしてたかも)、Sam Ockmanらですが、 その後ESRがVAのboardになってますので、出席者の多くがVAのメンバーと いうような会合だったのではないかと思います。 <URL:http://www.oreilly.co.jp/BOOK/osp/OpenSource_Web_Version/introduction/introduction.html> これを書いているのも当時のVAリサーチ社員だったりします。

で、ここまでは密室でしたが、ESRがこの会合終了後からOpen Source を成功に導くべく動きだし、2月4日にLinus の指示を獲得、1週間以内に www.opensource.org立ち上げ、DFSGをOSDとして書き直し、SPI Inc. (Debianの商標等を管理している組織)を通じてOpen Sourceの商標申請 までが行われたと思います。この動きがほぼ今のOSIを形成するものと なっていますが、この時にweb、osd、TMの作業を行ったのがペレンスです。 US Patent Officeで確認したところ、"OPEN SOURCE"の申請は98年2月24日に 受理されています。

その後は <URL:http://wp.netscape.com/newsref/pr/newsrelease577.html?cp=nws02flh1> 2月23日のNetscapeのリリースでおそらく世界初のOpen Sourceという 単語を使ったリリースが出ます。ここではアカラサマにOpen Sourceという 言葉を使用しています。

ですが、まだこの時点では主要なハッカー連中の支持があったわけでは ありません。しばらくはESRとペレンスあたりがOpen Sourceの 支持獲得に動き、4月7日にTim O'Reillyが一働きして、主要な開発者 を一ヶ所に集め、free softwareにかわる名称について議論を行い、そこで 投票によってOpen Sourceを今後使うことが採択されました。RMSはここでは 出席しなかったと思いますが、その当時はOpen Sourceという名称については 静観するというスタンスでした。出席者等詳しいことは <URL:http://www.linuxgazette.com/issue28/raymond.html> に書いてあります。ここでのポイントは、

Larry Wall (Perl), John Ousterhout (Tcl) and Guido Van Rossum (Python). Eric Allman (Sendmail) and Paul Vixie (BIND/DNS) were present, representing their own projects and the BSD community. Phil Zimmerman, the author of PGP, was there too, as was John Gilmore, a co-founder of Cygnus and the Electronic Frontier Foundation. Brian Behlendorf spoke for the maintainers of Apache. Jamie Zawinski and Tom Paquin represented Netscape and mozilla.org.

という出席者で投票でOpen Sourceを使うと決めたことでしょう。これ以降 は多少のゴタゴタもあったりしますが、Open Sourceという言葉自体は すんなりと浸透していくことになります。日本でも夏頃にはチラホラと 使われるようになり、98年の年末ぐらいには少なくともLinux界隈では 普通の言葉になってたかなぁと思います。

で、OSDについては経緯的に2月3日にはDFSGを使うと決めていたわけで 最初からセットです。4月7日の投票時に、GPL, Artistic, BSD, MPL, Python を使う開発者がそれに御墨付をつけるという行動にでたのも、Open Source にとっては非常に結果をもたらしたのでしょう。

また、Open Sourceという単語はNetscapeやVAといった企業のマーケティング 的な目的も含んでいましたが、その運動を作りだし、実行したのは同じフリー なソフトウェアに関わるコミュニティです。この点からも単なる一企業の エゴで作られたものではないことは分かります。

それから、<URL:http://sourceforge.jp/projects/faif/document/ch11_txt/ja/>も参考になる、 とのことです。 こちらを読むと、ESRらが1996年ごろまでバザールモデルを意識していなかったということが分かります。 ある意味、驚異的ではあるのですが。


2005年03月03日 桃の節句

_ 初節句

末娘の初節句。でも、なんにもしていない。 雛人形を出すのもこの子が分かるようになってからでいいかな、と。

_ [特許] ブラウザ特許訴訟、控訴審でMicrosoftが逆転勝利

Eolasの「ブラウザ特許訴訟」に関して、米連邦控訴裁が一審の判断を破棄して、 審理のやり直しを命じた、という話。

ただし、この記事は相当ミスリーディングで、この記事だけ読むと

「Eolasの特許訴訟で地裁評決を覆し、審理を差し戻すという本日の控訴裁の決定は、Microsoftのみならず、インターネットユーザーにとっての明白な勝利だ。当社はこれまで一貫してEolasの特許は無効だと訴えており、本日の決定は当社の立場がはっきりと肯定されたものだ」。 Microsoftは声明でこう述べている。

Eolasとカリフォルニア大学関係者からのコメントは今のところ得られていない。

とあたかもマイクロソフト完全勝利のように読める。

実際はもうちょっと複雑で、同じITmediaの記事である 「プラグイン特許訴訟、差し戻しに−米控訴裁が下級審判決を無効と判断」を読めば、単に差し戻しになっただけで、 一方的にマイクロソフトが勝利したわけではないことがわかる。

今回の判決は、下級裁判所の判決を一部破棄して残りは支持し、判断全体を無効として差し戻した上で裁判のやり直しを命令する、という複雑なものだった。このことから、両当事者はともに勝訴を主張している。

「重大な問題の大半が明確になったため、この判決は大学にとって勝訴だと考えている」とカリフォルニア大学の広報担当Trey Davisは述べ、「Microsoftにとって重要な問題については、同社の敗けだ」と語った。

と、カリフォルニア大学(特許所有者でEolasに独占的ライセンスを提供している)は、 自分たちの勝利を主張している。Eolas不利の流れは事実だろうが(そしてそれは望ましいことだ)、 あまりにもミスリーディングな記事は弊害の方が大きい。

_ [OSS] オープンソース・イニシアティブ、ライセンス急増への対策を提案

増え続けるオープンソースライセンスへの対策として、 OSIがOSDに3項目追加を検討という話。

  • 既存ライセンスと重複しないこと。

    新しいライセンスは、認定済み既存ライセンスがカバーしていない問題を解決するために設ける

  • 簡潔で理解しやすいこと

    法律の専門家向けではなく、一般の人々にも理解できるように記述する

  • 再利用可能なこと

    特定の個人、組織、プロジェクトの名称を差し替えるだけで、ライセンスの条件を変えることなくほかのオープンソースにも適用できるようにする

訳文の引用は日経IT Proから。

私が感じたことは、すでに該当記事内でBruce Perensによって述べられていた。

「OSIが採用する項目としては良いと思う。しかし、これらはオープンソースライセンスの定義というよりも、OSIの認定ガイドラインといった部類に属するものだと思う」(Perens)

OSDの既存の10項目は「オープンソースとはなにか」を記述したものであった。 追加が提案されている3項目は「OSI認証ライセンスの満たすべき条件」を記述したものであり、 性質が違うので明確に区別されるべきだと思う。

_ [OSS] IBM、オープンソース支援策を発表--学生の求職やスキル習得をサポート

IBMがオープンソース開発を支援するため、求職者データベースの構築やEラーニングに取り組む、 という話。

これらがどのくらい役立つのかは未知数だが、次々とアクションを起こすIBMは本当に上手だ。 本気度をアピールすることができていると思う。

ところで、日本でオープンソース開発者の求職者データベースとか作ったとしたら、 登録したい人はどのくらいいるだろう。アメリカと比較して人材の流動度が圧倒的に低いお国柄では、 なかなか勇気がなくて登録できない人が多数のような気もする。

_ 論文書きにおける悲劇のサイクル

  1. ACM SIGPLANや情報処理学会から面白そうな論文を見つける
  2. 読む
  3. それを、動的言語、スクリプト言語、Rubyなどのコンテキストに応用することを考える
  4. そのコンテキストで不足する部分を補う論文を構想する
  5. 一人悦に入る
  6. しばらく経つと少し冷静になる
  7. 新規性はそんなにないじゃないか、と思うようになる
  8. orz
  9. そして1.に戻る

2006年03月03日

_ [Ruby] 面倒なバグ

コンパイル時に決まらないので、 ささだくんには不評そうだが、 local visibilityのアイディアで実装してみる。

おおむねうまくいくのだが、test suiteを実行すると rss/maker辺りのテストでへんなエラーが出る。 が、test suiteを個別に実行すると再現しない。

こういう再現性のないバグは大抵GCが原因なのだが、 今回はちょっとおかしい。

  • GCバグだと大抵segmentation faultを起こすのだが、今回はそんなことはない
  • むしろ本来と違った別のクラスのメソッドを呼び出しているみたい

が、メソッド探索ルーチンには間違いはない。 一晩格闘してメソッドキャッシュに問題があるとわかる。

でも、今考えたら「本来と違った別のクラスのメソッドを呼び出している」 という時点でメソッドキャッシュが怪しいのは明らかなような気がしてきたな。 後で冷静に考えるとすぐ分かることでもデバッグしている最中には分からないものだな。

それじゃあんまりデバッグしてる意味ないじゃん。

が、メソッドキャッシュのどこがおかしいのかわからない。 なにしろキャッシュを壊している時と問題が発生する時は全然違う時なので 問題が発生している場所を確認することができない。

お昼過ぎまで自宅で格闘していたのだが、とうとう分からない。 あきらめて会社に向かう。

が、会社についてフレッシュな気持ちでPCに向かうと5分で解決できた。

自宅でデバッグしていた時間は意味がなかったということか。

pointy-haired bossに「do not work harder, work smarter」とか言われそう。 ぐすん。

_ [言語] Marketing Python - An Idea Whose Time Has Come

John Sirbuという人がGuidoに「マーケティング重要」、「mobileに注力しては」と進言した話。

いや、Python陣営にそういう「焦る」気持ちを与えるというのは、 Rubyも有名になったものだな。Railsのおかげだけどな。 だけど、この人(John Sirbu)ずっと「"R" language」と呼んでRubyを名指ししてくれない。 Bruce Tateが「R」言語をほめたとは 思えないんだがなあ。

あ、マーケティングは重要だと思うよ。昔は軽視してたけど、 最近はもうちょっと重要だと思うようになった。 Pythonに適切なマーケティングがどのようなものかは分からないけど。


2007年03月03日

_ [Ruby] 19 Rails Tricks Most Rails Coders Don't Know

Railsテクニック19連発。

最近1.9で取り込んだto_procとかはともかく、

  • Array#to_sentence

ってのは知らなかった。こういう英語centricなメソッドが豊富なのも Rails(っていうかActiveSupport)の「ブレーキが壊れてる」点だろう。

Ruby本体には取り込まないけどね。

_ [教会] 活動

若い女性を中心にした料理を作る活動。 娘二人が参加。

「豚汁を作る」という話だったが、 巨大な鍋二つぶんも作ってしまって、 みんながおなかいっぱいになってもまだまだ余っている。 どう片づけるか。

明日、教会に来た人で分けるかなあ。


2008年03月03日

_ [言語] CS 11: Python track: python idioms

Pythonのイディオム。

List Comprehensionの解説で

results = [(x, y)
           for x in range(10)
           for y in range(10)
           if x + y == 5
           if x > y]

という例題がある。そうか、forって複数指定できるんだ。

で、Rubyのメソッドチェーンではこのような複数シーケンスの ネストしたループをストレートに書くことができないことに気がついた。

(1..2).xxxx(1..2)

で、

[1,1],[1,2],[2,1],[2,2]

を返すようなxxxxメソッドがあれば、

(1..10).xxxx(1..10).select{|x,y| x+y == 5}.select{|x,y|x > y}

と書けるんだけど、名前がな。いい名前ないかな。

_ [Ruby] Binary search algorithm - Wikipedia, the free encyclopedia

Rubyのオブジェクトはヒープと呼ばれる複数のメモリ領域のいずれかに所属する。 GCの過程で(保守的なチェックの一環で)ポインタがどのヒープ領域に所属するか をチェックしているところがある。

今までは線形探索をしていたのだが、 ここを二分検索するようにした。 まあ、現時点ではヒープの数はあまり多くならないので メリットはさしてないのだが、今後ひとつひとつのヒープのサイズを小さくすることを 考えているのでそのための下準備として。

ところが、二分検索の基本的なアルゴリズムは理解していたはずなのに なかなかバグが取れない。結構、情けない。

_ [OSS] Theological Cultural Analysis of the Free Software Movement

クリスチャン的視点から見たフリーソフトウェア運動。

っていうか、タイトルを見た時にはどういう論理展開するのかと思って読んだのだが、 実は穏当な意見であった。

_ 小寺信良:正直、テレビはもうダメかもしれん - ITmedia +D LifeStyle

テレビはダメかもしれん、という話(そのまんま)。

実際、ここ数年テレビを見る時間はぐんぐん減っている。 私の家族も最近はPCを使った情報収集に時間を取られて テレビはあまり見なくなってしまっている。

テレビはもはや時間が余った時に雑学を入力する手段くらいにしかなってなくて、 しかもそれってインターネットで代用可能だったりするんだよね。

やっぱ、2011年にはテレビを捨てることになるのかなあ。

_ [Ruby] You Used Ruby to Write WHAT?! - CIO.com - Business Technology Leadership

Zed 「ゲットー」 Shawが(CIOに向けて)Rubyの「欠点」について語る。

言語そのものについての欠点の指摘はほとんどないので 言語デザイナーとしては安堵なのだが、欠点のほとんどは私の実装(MRI)の弱点なので そういう意味では涙目である。

やや、根拠が薄いような気もするが(ほんとに遅いのかとか、ほんとにリークするのかとか)、 改善の余地があることについては私も認める。

悔しいので、また手を入れることにする。 一番難しいのはGCだろうか。「保守性によるリーク」や「停止時間」の問題について また考えてみたい。

_ 取材

某雑誌の記事のため写真撮影。 なんか金かけてるよな。

今日はいきつけの本屋さんで立ち読みしているところの撮影だとか。 事前に本屋には許可を取ってあるのだが、 立ち読みしてるところをバシバシとられるのは かなり恥ずかしい。


«前の日(03-02) 最新 次の日(03-04)» 追記