朝、目が覚めたら一面の銀世界であった。夕べのうちにまた降ったらしい。 昨日は割と天気が良かったので油断していたらこれだ。一晩で15cmくらい降ることは、 最近では珍しい。
今日は松江でよかった。これで遠くに訪問しろとかだったら大変だものなあ。 教会への途中、移動の足に不自由しそうな人を二人乗せていく。
集会終了後はお弁当食べてから、教会の雪かき。 まるで雪国のようだ。
sodaさんから情報提供。
実は、私、NetBSD の ARC マシンの移植 (の元となった OpenBSD の移植) の作業に関して、OSSAJ の設立団体の 一つの open technology さんには、大変お世話になって ます。その結果は、現在、NetBSD の sys/arch/arc の 下に統合されています。というわけで、フリーライダーっ てわけじゃないと思いますよ。
そういう情報はどんどん公開すべきだと思います。 やっぱり、貢献しているということは表に出てナンボだと思うんです。 いや、聖書にあるような
という態度もアリだとは思いますけどね。
ただ、知っておいていただきたいことがあります。 私はOSSAJがフリーライダーであるとするつもりも、フリーライダーを非難するつもりもありません。 OSSAJそのものが貢献でありえると考えていますし。
ただ、彼らの現時点での意図が読み取れないという事に対して、不満は持ってます。
「日々の流転」経由。 MITの講義資料。
こんな講義が受けられる人は幸せだ。ちゅーか、もっと勉強しなくちゃな。
元々は、Linux.com分室に書いた記事だが、こちらにあまりにたくさんコメントがついたので利便性のため、こちらにもコピーすることにする。
「GPLの見直しが進んでいる」が、その詳細は明らかになっていない、という話。 GPL3についての新しい情報はなにもないが、 それぞれの人が勝手な立場からいろいろ期待していることは分かる。
Sughrue Mion法律事務所に所属する弁護士のFrank Bernsteinによると、... 特許に関する問題が解決されれば、オープンソースソフトウェアの(発展の)貢献者であり顧客でもある企業にとっては、GPLがさらに利用しやすいものになる可能性があるという。
オープンソース文化を啓蒙する非営利組織Open Source Initiative(OSI)会長のEric Raymondは、「ソフトウェア特許に関する厄介で崩れかけた少数寡占体制がより深刻な被害をもたらす前に、それを解体する方法を見出す必要がある」と述べ、さらに「仮にGPL Version 3がその一助になるのであれば、(同ライセンスは)大変貴重な存在だ」と語った。
オープンソース提唱者のBruce Perensは、特許権侵害訴訟に関する罰則が、単に問題のソフトウェアの使用禁止から、フリーソフトウェアと分類される全てのプログラムの使用禁止へと強化されることを期待しているという。「次期版GPLに、例えば、ある人物が特定のフリーソフトウェアに関する特許権を行使したら、その人間のフリーソフト使用権が消滅するといった、相互防衛条項が盛り込まれることを期待している」(Perens)
Eric RaymondやBruce Perensが、Stallman以上にGPLを「武器」として使いたがっているのは、 興味深い。
しかし、私の予想では、いろいろなしがらみからそのような「劇的な変更」は行われず、 現在の条項の明確化が行われるのがせいぜいだと思う。
GPLにはこんなことが書いてあるしね。
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
現在の精神を満たしつつ、新たな「制約」を加えるのは容易ではないだろう。
さて、仮にGPL3が登場したとしよう。 現時点ではどのようになるのかまったく明らかにされていないので、 どのような条項になるのか予想することさえ困難だが、 それは現在のGPL(GPL2)よりもある部分では制限が厳しくなるかもしれないし、 別の部分では制限が緩くなるかもしれない。
さて、それは現在すでにGPLが適用されているオープンソースソフトウェアにどのような影響を及ぼすか。
多くのGPLソフトウェアにはこのような注意書が書かれていることが多い。
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
つまり、このソフトウェアを修正あるいは配布する際のライセンスとして、 GPL2かまたはGPL3の「好きな方」を選ぶことができる、という意味だ。
このライセンスを受け取った人のうち、 GPL3の方が制限が厳しくなる部分が(あるかどうかさえ現時点ではわからないけど)気に入らない人は自らにGPL2を適用することができる。 逆にGPL3の方が制限が緩くなる部分があり、その方が都合が良い人はGPL3を適用できる。 が、その場合でもそのソフトウェアのライセンスの条件が「either version 2, or (at your option) any later version」であることには代わりがない。 この条件だとGPL3が「自動的に適用可能になる」が、「自動的に適用される」わけではない。
だがしかし、これだけ外部からいろいろ言われていると、 「将来のFSFの行動を信頼できない」と思う人もいるかもしれない。 私は20年以上の実績を信じるけど。
そういう人は「このバージョンのGPL」とか「添付したGPL」とかを明示するとよいだろう(Linuxはそうしている)。 個人的にはそれによってえられるメリットは多くはないと思うけど、 それによって「心の平安」が得られるのなら、それはそれで良いと思う。
ところで、現在Enumerable#selectなど一連のメソッドは Arrayを返しているわけだが、 これをEnumeratorを返すようにすると、一種の遅延実行が実現できるのではないだろうか。
イテレーションの中でしか実行できないので、 関数型言語における遅延実行のようなわけにはいかないけれども。
要素数が非常に多くなると効率に違いが出てくるかもしれない。 無限な要素([1..]とか)も扱えるようになる。
とりあえず、将来への布石として 1.upto(3)などをブロックなしで呼んだときにはEnumeratorを返すようにする。
うーん、あんまり布石になってないかな。
東京に移動してから 東京オフィスで内職してたりしたら、 会場についたのは指定された時間(15:15)ぎりぎりであった。 受け付けではすぐ前に坂村先生がいてビビる。
そのまま会場へ。
ただ講演をするもんだと思っていたら、 「ソフトウェアジャパンアワード」なるものをいただいてしまう。 実は案内のメールにはちゃんと書いてあったのだが、 夕べまできちんと読んでなかったよ。 坂村先生と並んで話すというだけで十分緊張していたのだが、 アワードをもらうということで緊張は頂点へ。
で、そのまま坂村先生の話を聞いていたんだけど、 お話がかっこいいなあ。なんか、「これだけのことをしてきましたっ」というような なんというか、「実績バリバリです、先進的過ぎて時々理解してもらえないけど」、というか。
その後、私が話すんだけど、 坂村先生の話と対比して私の話のユルいこと。 Rubyには別になんのイノベーションもないしなあ。 「楽しさだけ追求してたら、いつの間にかこんなところにいました」というか。
その後の懇親会も楽しかった。坂村先生はすぐ帰られたようで あいさつすることもできなかったけど。
一番印象的だったのはIBM基礎研の小野寺さんとお話できたこと。 私、小野寺さんのデザインされたCOBのリファレンスマニュアル、今でも持ってます。
最近はJavaばかりだそうだけど、そろそろ他の言語もやってみたいとのこと。 Rubyなんかも考えてくださっているようだ。正直、うれしい。
その他、いろいろな方とご挨拶して、 いろいろな話ができた。大変楽しかった。
会場で何人かとリクルーティングモードでのお話もできた。 なんか、好感触。どうかな。
懇親会後、さそわれるままに六本木のお好み焼き屋で二次会。 こちらも大変おもしろかった。 大挙して「オープンソースラボ」に遊びに来てくださるとの口約束であったが、 酒の上でのことでしたでしょうか。Kさん。 私、待ってますから。
ニーズウェルが Ruby on Rails講習会を開催するという話。 特徴はテーマとしてSNSを選択したという点。 3日で18万円。 (株)メタWeb 研究所が協力している、とのこと。
いや、頑張ってください。
値付けとかでだいぶうちのとかぶっているような気がするけど、 切磋琢磨することも重要だと思う。
っていうか、よそが参入する気になるほどRubyとRailsが魅力ある市場とみなされれたことに正直に喜びたい。
島大講義。後期のRuby講座の最終回なんだそうだ。 最終回とは認識してなかったな(いいかげんな講師)。
テーマは「Rubyの今後」。 でも、Rubyの今後というか、 Rubyのご先祖とこれからのテクノロジートレンドとかいうような話だったな。 Rubyに限定した話ではなかったような。 学生さんがどのくらいわかったかは疑問だけど。
しかし、スライドが100枚近くあって、 サンプルプログラムがLispとSmalltalkしかないってのはどうよ。
講義後、法文学部主催で「語る会」も開かれる。 地域振興やIT産業、また閉ざされた日本、みたいなテーマから Rubyそのものにいたるまでいろんな話をつまみ食い、みたいな。
たのしかったけど。ちょっとくたびれたかな。
PHPの文字列処理の話。
ジュン:特に最近話題になってるのは、バイナリセーフな関数とかバイナリセーフじゃない関数とかを交ぜこぜで使うと困ったことになる、ってとこかなぁ。
っていうか、バイナリセーフ関数とそうでない関数があるって必然性そのものが理解できないんだけど。 ちょっと手抜きすぎじゃないかと。
いや、もちろんC文字列を経由しないと呼び出せないものがあって、 たとえばファイルパスとかにNUL文字が入れられないのはわかる。 しかし、それだってできる限りちゃんとチェックして、 NULが入ってたらエラーにするとか、するもんじゃないの?
で、そのチェックがもれてたら、「すいません、それバグですから直します」とか いう話なんじゃないかと。少なくともRubyではそういう態度。
それを「文字列処理関数にはバイナリセーフなものとアンセーフなものがあります」って 割り切っちゃうってのは。 ところ変われば、ってのはあるんで、言語コミュニティごとに常識は 違うのはある程度「当たり前」なんだろうけど、 個人的には大変驚いた「当たり前」であった。