«前の日(02-27) 最新 次の日(02-29)» 追記

Matzにっき


2004-02-28

_ [生活]スケート

次女とその友人とを連れてスケートに。

ほぼ一年ぶりになるので、滑り方を忘れている。 しばらくすると少しはマシになったものの、姿勢が安定せず、 自分で「下手くそだなあ」とあきれる。

娘の友人はスケートははじめてということで、 最初は手すりを磨いていたが、しばらくすると滑れるようになっていた。 なかなかの順応能力。

帰るまぎわ、ふざけていたら思いっきり前方に転倒。はずかしい。 さらに肋骨が痛い。ひびが入ってたりして。

_ [OSS]「オープン」の意味

くっぱさんからコメントそのフォローをいただきました。

再度要約すると、

  1. 従来の意味での「オープンにする」という言葉には、「オープンにされたものを自己責任のもとでどのように利用してもかまわない」というライセンス上の基本前提が根底にある
  2. OSDの「オープン」はその「共通の概念」から逸脱している部分がある
  3. OSD流の定義を「オープンソース」の定義としようという啓蒙運動は、「オープン」という言葉がもつ基本概念を根底からの変更するよう迫ることにつながる。OSD流のライセンスに「オープン」という言葉を与えられるほど社会通念はまだ成熟しておらず、また今後成熟するという保証もなく、今それを推し進めることには少々無理があるのではないか

ということだそうです。

同意できる部分もあるのですが、結論には同意できません。

まず、(1)には一部共感できる部分はあるものの、完全には同意できません。 「オープン」という単語に「オープンにされたものを自己責任のもとでどのように利用してもかまわない」というライセンス上の基本前提があるというのは、面白い考えだと思います。 確かに「オープン」という言葉の使い方のうち、いくつか(多く?)はそのような考えで説明できそうです。 しかし、逆に言うと私は指摘されるまでそういう風に認識していなかったわけで、 それが「オープンという言葉が持つ基本概念である」とまでは言えないんじゃないでしょうか。 「全米オープン」とか「オープンカー」とか「オープンサンドイッチ」とか、 かならずしもその概念で説明できそうにありませんし。 IT分野に限定しても「オープンアーキテクチャ」、「オープンシステム」、「オープンスタンダード」、「オープンオフィス(OpenOffice.org)」、「オープンウィンドウ(OpenWindow)」、「オープン・クローズの原則(Open-close principle) by B. Meyer」などがすべて上記概念を満たしていると断言するのは難しいでしょう。 一時期(10年以上前?)、この分野で「オープンなんとか」は流行語のように多用されましたし。

さらに言えば、 合成語である「オープンソース」における「オープン」という単語の使い方が、 「オープン」の意味を「根底から変更するよう迫る」ほどインパクトがあるような気はしません。 推測するに「オープンサンドイッチ」のインパクトと同程度*1ではないかと。

その次の(2)については、「OSDのオープンは上記の概念を逸脱している」という点では同意します。 OSDは「どうぞご自由に」という印象を与えるためには条件が多すぎます。 もっとも、それは「オープンの仕方」を指南していると解釈すべきなのかもしれません。

最後の(3)は、その前提となる(1)に同意できませんから、同意はしません。

私の意見は、

  • くっぱさんが示された「オープンの基本前提」は多くのケースで成立する(かもしれない) 興味深い観察だが、社会全体で合意されていて、 変更されると不都合が起きるほど広く認識されているとは言えない
  • また、「オープンの基本前提」が存在するか、しないかに関らず、 OSDを「オープンソース」の定義としようという運動は「オープン」という言葉の意味を大きく変えることはない

というものです。

くっぱさんは「オープン」という言葉の「基本前提」と、 「オープンソース」という言葉が「オープン」に与えるインパクトの両方を、 私よりずっと大きく(おそらくは過大に)評価してらっしゃるように思います。

他にもさゆちゃんとかKLさんからツッコミをいただいています。

おじさんは仕事を頑張るのは嫌いなんですが、仕事は投げ出さないようにしようと思います > さゆちゃん

KLさんのツッコミは、また難解なんで(まあ真剣に考えてくださった証拠だと思いますが)、 後で時間をとって考察しようと思います。コメント入力欄のサイズについては調査してみます。

追記:

「「OpenStep」は「Open Source」を意識している可能性が大」などと書いたら、 「OpenStepの登場は、OpenSourceの定義よりも前ではありませんでした?」との ツッコミが。

ちょっと調べてみると、どうもそうらしい。 1993年かあ。そういえばそうだったか、最近記憶があいまいになってきて(いいわけ)。

*1  いや、「OpenOffice.org」や「OpenStep」は「Open Source」を意識している可能性が大なので、もうちょっと大きいかもしれないけど

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

_ hs [OpenStepの登場は、OpenSourceの定義よりも前ではありませんでした?]

_ くっぱ [全米オープンもオープンカーも、ゴルフやテニスの大会や車そのものをオープンにさらすという意味ではないですよね。世の中の..]

_ 村田拓哉 [ちょっとoff-topicですが、すごく面白い記事を見つけたのでたれ込みします。 Young Programmer,..]

_ ま2 [自分の日記にも書きましたが,まつもとさんのいう通り「its meaning has lost some precis..]

_ KL [長々と書いてしまい失礼しました(笑) 私は、OSSは、フリーソフトウェア運動などとは質を異にする、プラグマティックで..]

_ えーしー [マーケティングな人、仲間にくわえたほうがよさそう。技術者だけに限界を感じたり。]

_ tek [家族を大事にできるHackerってかっこいい。]

[]

2005-02-28

_ [特許] 最近の特許交渉相手の問題点

企業知財部員の日記から。

実際の業務担当者の立場からの文章は新鮮だ。

最近話題になった松下vsジャストの訴訟でもそうだが、(松下の人曰く)ジャストは再三に渡る契約交渉の申入れを行っても無視しつづけたとのことだが、そのような会社が出て来ている。(ついでに松下の人に聞いたところによれば、差し止め請求でもすれば、ビックリして交渉のテーブルにでもつくだろうと思っていたとのこと。だから、損害賠償請求もしなかったとのこと。しかし、テーブルにつくどころか、徹底抗戦の構えだったので、判決が出るまで行ってしまったとのこと。世間が騒いで2度ビックリとのこと。まあ、本件は直接関係ない。)

なんだそうだ。この日記の特許セクションのエントリはどれも勉強になる。

_ [OSS] IBM、PHPの支持を表明--「Zend Core」バンドルを共同開発へ

言語としての筋なんか関係ない、要するにマーケットシェアが重要なのだ、 という言語屋としては口にしたくない現実を見せつけられる出来事。

いや、やっかんでいるだけです。

_ [OSS] オープンソースプロジェクトと企業間の確執

「フリーソフトウェアプロジェクトPreludeと、プロジェクトのプログラマの一人を起用した企業ExaProtect Technology社の関係が破綻した」という話。

どちらに味方するつもりもないけれど、不幸な出来事だ。 「お金が絡むと難しい」という事例のひとつとして歴史に残るのだろうか。

とはいえ、GPLソフトウェアについて、

Preludeチームは現在、ExaProtect社が今後Preludeを使わないようにするため、拘束力のある合意をExaProtect社と締結しようとしている。

というのは明らかに賛同できないなあ。 これは「ExaProtectがGPL違反行ったから」という理由ではないようだし。

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

_ 山路邦夫 [ Rubyは タイプ量が 少なくて いいし 考えなくていいし 書いたものが読みやすくて 最高ですが、 万年素人なの..]

[]

2006-02-28

_ Joelが腹立たしいわけ

2月24日のエントリに「書いてあることはどれも正しいし、この本は一読の価値がある。しかし、読めば読むほど気分が悪くなるのはなぜだろう。」と書いたわけだが、もうちょっと考えてみた。

あの時にも考えたように「正しいことを指摘されると腹が立つ」というのが一つ。もうひとつは彼の文章にはプログラミングに対する愛が感じられないのがもう一つ。彼自身もプログラミングする人のはずなんだけどな。

そして、最後にもっとも大きな理由は、私自身が彼に揶揄される立場だということだろう。たとえば、私は彼の言うアーキテクチャ宇宙飛行士のあらゆる属性を備えているし、オープンソースに対するややナイーブな立場もそうだ。

してみると腹が立つのも当たり前か。

感情は制御して、良いことを学ぶことにしよう。

_ [Ruby] Ruby2.0への一歩

Gimiteさんにもらったアイディアが当初思ったよりも有意義かもしれないと思えてきた。

localというvisibilityを導入して、関数形式でメソッドが呼ばれたときは「localメソッドを探索(そのクラスのみ)→見つからなかったらその他のメソッドを探索」というのは…効率が悪くなるから駄目でしょうか?

基本的な部分は「private問題」で行った実装と共通なので、そのまま流用する。割と簡単に実装できた。

試してみる。

ふむ、なかなかいい感じだ。後方互換性も高い。ちょっと試してみよう。

また、以前検討していたBasicObjectも導入してみた。こちらもちゃんと動いている。以前試した時にはあまり使えない印象だったが、最近、定数の検索順序を変更したのが、うまくいったみたい。

ただ、まだバグが残っているのでもうちょっと試してからコミットしたい。

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

Before...

_ tyz [_privatefunc() -> .privatefunc() ('self' 無し)なんてどうでしょう。]

_ まつもと [確かにドットはprefixには使ってませんねえ。]

_ Gimite [プレフィクスをつけなくても、(localメソッドが優先的に探索されるなら)「クラス内にその名前のlocalメソッドが..]

_ まつもと [Rubyはあまりにも動的なので、defがifの中にあったりする可能性がありますので、コンパイル時に決定することは無理..]

_ Gimite [あ、なるほど…。]

_ Tets [def /.private() みたいに、 スラッシュドットはどうでしょう。]

_ まつもと [残念、正規表現と重複します。]

_ かりやん [スラッシュ2つ、とか、後はドットくらいしか思い付かないですね。__privatefunc()ならぎりぎり許せそうな気..]

_ まつもと [「スラッシュ2つ」もなかなか面白い外見なのですが、これも(空の)正規表現と重複しますね。 __privatefunc..]

_ かりやん [ふと、_/privatefunc() もいいかな、と思いました。]

[]

2007-02-28

_ @nifty、時間軸に沿った情報を投稿・共有できる「@nifty Timeline β」

時間軸でまとめるという面白いサービス。@niftyから。

こいつはRuby on Railsで実装されており(表示部はflash)、 開発にはうち(NaCl*1)も協力した。

で、サンプルと言うかちょっと面白いタイムラインも登録してある。

なお、Timelineの開発そのものはNaClが行ったわけではなく、 あくまでも「技術協力」、「開発支援」および「共同開発」である。

*1  ところで、NaClを「なくる」と読む人があまりにも多い。その心は「塩化ナトリウム」なので是非「えぬえーしーえる」と発音していただきたい

_ [OSS] O'Reilly Radar > Is "Open Source" Now Completely Meaningless?

自社製品を「オープンソース」にもしていない企業が 堂々とオープンソース企業を名乗るのはどうよ、という話。

ちょっとフライング(ソースをちゃんとオープンソースにしている(アクセスしにくいけど)Vyattaまで、非難しちゃった)もあったけど、 おおむね同意する。

いや、マーケッターが単語をもてあそぶのは昔からだし、 絶対的に止める方法はないのだけれど、 少なくともオープンソースと言う単語が本来リーチするエンジニアには 実体のないオープンソースを見抜いて下手なマーケッターを見下すくらいの態度で いてほしいものだ。

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

_ 斎藤ただし [> 自社製品を「オープンソース」にもしていない企業が堂々とオープンソース企業を名乗るのはどうよ 確かに。 prev..]

_ まつもと [えーと、元の文の本意は「自社製品を全くオープンソースにしていない」という意味ですね、もちろん。 で、当該のもののソー..]

[]

2008-02-28

_ [Ruby] MacRuby - ruby - Trac

Mac OSXで動作するRubyというだけなら単にコンパイルするだけでよいのだが、 このMacRubyは、YARVをベースに

  • 全部のオブジェクトをObjective-Cのオブジェクトにマップ(プロクシ不要)
  • OSXの世代別GCを利用
  • obj.foo(1, bar: 2)を [obj foo: 1 bar: 2] にマップ

するという大胆なもの。すげーっ。

これが成功すればRubyは名実ともにOSXの公式スクリプト言語として定着するに違いない。

言語設計者として一番気になるのは、リストの最後にある「Objective-C呼び出しへのマッピング」。 上の例では「foo:bar:」というObjective-Cのメソッドが存在しなければ 通常のfooメソッドの呼び出しになるようになってるそうだ。

将来(2.0?)のキーワード引数に対するヒントになるかもしれない。

言語実装者として気になるのは、世代別GCの実装。 確か明示的なライトバリアが必要なタイプだったと思うんだけど、 これをどうしたかっていうのも興味深い。

っていうか、手元にOSXマシンがなくて試せないってのはどうなのよ。

最近はMacBook安いし、ひとつ手元にあっても、という気もしないでもないのだが、 あのポインティングデバイスが駄目なので*1、 どうにも購買意欲が。

*1  試したがiPod Touchも駄目だった

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

_ ささだ [なんと! 世代別GCですか。凄いなあ。]

_  [MacBookをノートだと思うからイカンのです。 私はHHKと1000円マウスと液晶モニタ繋いで、 蓋を閉じて、省ス..]

_ まつもと [そういう意味ではYARVがすでにnative thread「対応」です。 MacRubyはYARV以上のことはしてな..]

_ MSuzuki [RubyオブジェクトをObjectにマッピングしているようなので、世代別GCもObjective-Cの物なのかもしれ..]

_ まつもと [「かもしれない」じゃなくて、まさにその通り、です。 作者のLaurentに確認してます。]

[]

«前の日(02-27) 最新 次の日(02-29)» 追記

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