«前の日記(2006-09-01) 最新 次の日記(2006-09-03)» 編集

Matzにっき


2006-09-02 [長年日記]

_ [Ruby] Ruby for Symbian

Symbian OSで動くRuby。実際には確かめてないんで完成度とかはわからない。

正直、当初UNIX系のことしか考えずに実装されたRubyが、 Symbianで動くとは驚きである。PDAということならZaurusで動くわけだけど。

そのうちPalmとかでも動くようになるかもしれない。 Palmの絶滅とどっちが早いか。

_ U-20プログラミングコンテスト最終審査会

実際の受賞候補者のプレゼンテーションとそれを受けた最終審査。

詳細は(まだ)書けないが、印象に残ったことを

  • みんなプレゼンテーションが上手。感動モノ
  • 若いのに言語処理系を作ろうとは見上げた根性だ。このまま続けば私を越えるな
  • 個人部門の方が面白いものが多い。完成度は団体部門の方が上(のことが多い)
  • 評価は難しい。ゲームと言語処理系を同じ土俵で評価するなんて無理がある。審査員の得意分野もばらばらだし。

ま、それでも、それなりの結果を出せたのではないか、と思う。

_ [Ruby] Symbol as subclass of String

SmalltalkにならってSymbolをStringのサブクラスにしてみた。 東京からの帰りの飛行機の中で実装できちゃった。

どのくらい影響があるのかなあ。

(追記)

ある程度予想していたが、結構広いようだ。 さて、これもどうするかな。

_ [Ruby] nil.to_s

金曜あたりにnil.to_sが"nil"を返すようにしたんだけど、 その影響は意外に大きいようだ。

で、ruby-devでいろいろ議論が持ち上がっている。 実際にはこの変更に固執するつもりはないんだが、 議論の結果

  • nilとはなにか
  • to_sの役割
  • nil以外(ArrayとかHashとか)のto_sの挙動

などについて考察が進めばよいと思っている。

しかし、言語のあるべき姿について頭をつきあわせて考えるのは楽しいな。

_ 遅れても困る人はいない , リリースは政治パフォーマンスなんだよ。

私の愚痴に対して、 mputさんが突っ込んでおられる。

mputさんのところはコメントできないようなので、こちらで書くことにする。

さて、私の読んだところ、mputさんの主張は以下のようなものだと考える。

  1. リリースが遅れると社会的信用が目減りする
  2. リリースがきちんと行われていることは「このプロジェクトはきちんとした運営が行われています」ということを内外に示す政治的パフォーマンスである。
  3. インターネットの普及とリポジトリの公開によってリリースを行う技術的動機はなくなった(減った)
  4. しかし、リリースの「儀式的意味合い」はむしろ増加している

合ってるかな?

で、私自身はこれに対して極端に反対しているわけではない。 さすがの私だって「リリースが遅れると社会的信用が目減りする」ことは解っているし、 リリースがちゃんと行われているプロジェクトの方がきちんと運営されている印象を与えることだって知っている。

ただし、(大方の人には意外かもしれないが)私はリリースの技術的動機がなくなったとか、 減ったとか全然思っていない。ほとんどの人はCVSリポジトリを直接アクセスしたり、 スナップショットをコンパイルして使ったりなんてしない。 リリースされていないバージョンは98%の人にとって存在しないのと同じなのだ。

そうすると、天秤が発生する。 つまり、リリースが遅れることによる社会的信用の目減りと リリースにバグが含まれていることによる社会的信用の目減りだ。

「期日通りのリリース」を選ぶか「期日は遅れるがいくつかバグが少ないリリース」を選ぶか、だ。 期日通りのリリースには社会的信用を勝ちえるというメリットがある。 一方、バグにはその存在自身に社会的信用を失わせる働きがある。

もちろん「期日通りにバグのないリリース」がもっとも良いのだが、 なかなかそれは実現しない。かならずどちらかを選ばなければならないとしたら?

私自身は後者の方がより重要だと思う。

しばらく経ってしまえば1.8.0がいつリリースされたかなんて誰も気にしない(覚えてる?)。 だけど、1.8.0に含まれてたバグに突き当たった人の何人かは それ以降Rubyの品質を信じられないだろうし、「だから、もう使わない」って人もいるだろう。 そしたら「期日通りのリリースによる社会的信用」なんて簡単に吹っ飛んでしまう。

さらに今回のリリースについては、以下のような条件もあった。

  • リリース日の決定には外部からの要因はまったくなかった
  • 1.8系のリリースはもう5回目で重要なバグはかなり減っていることが期待できた(ので、今報告されているバグをなくすことは割合として大きいことが予想できた)

さらにさらに言えば、リリースってのは(特にRubyのように複数のメンテナがいて、中には反応の悪い人もいる場合には)異常に面倒な上に、実際の作業者(この場合は私だ)にはなんにもいいことないんだよなあ。バグが残ってても、遅れても、文句言われて。開発じゃないからつまんないし。細々とした作業ばかり多くて、気は使うし。

受益者負担? なにそれ?

ま、イシュートラッキングの品質が低くて、 ずっとほったらかしになってた問題もあったのは事実なので、 誰かも指摘しているように、そろそろ誰かが「仕事として」そゆことをやることが 求められるようになってるのかもしれない。

私自身もいろいろ画策してるんだけど、なかなか実現しない。 先立つモノが必要なんだよなあ。

(追記1)

上記の文章を読んで「バグの根絶は現実的じゃないんだから、いつまでたっても出せないじゃないか」という批判は当たらない。

私が言っているのは、すでに分かっているいくつかのバグを放置するかどうかだから。 まだ見つかってもいないバグも含めて全て直してからリリースする、なんて 非現実的な話じゃない。

(追記2)

MoonwolfさんからTrackbackがふたつ。 でもなんかおかしいよ(Trackback内容とリンク先が対応していない)。

そのいち。

Devlog:[Ruby] 1.8.0に対してAppleの連中が全然本気じゃなかったのはBefore Railsだったからでしょ

After Railsだったら、プレッシャーかけてきたと思いますよ。

えーと、いつから「After Rails」なんでしょうか。 ごく最近だった直前のOSXのリリースでもAppleからなんのコンタクトはありませんでしたが。 まあ、コンタクトがあったら1.8.5がそれに間に合うように出せたかというと かなり疑問ですけど。

そのに。

Devlog:[Ruby] Ruby1.8.xのリリースエンジニアリング引き受けます

そろそろ誰かが「仕事として」そゆことをやることが 求められるようになってるのかもしれない。 Matzさんが言ったので、立候補してみる。 報酬はPayPalでよろ。

えーと、DevlogでPaypal経由の寄付を集めていらっしゃるようですが、 それってMoonwolfさんが自分でお金を集めて自分でリリースエンジニアリングの仕事をする ということですか?

(追記3)

otsuneさんのブックマークのコメント

気持ちは分かるが、Matzさん。あなた当事者だから! 「先立つモノが」と愚痴る立場じゃない。まぁパフォーマンスかもしれないけど

よくわからない。私がRuby開発の当事者なのは確かだけど、それだと「先立つモノが」と愚痴ってはいけないのかな。好きでオープンソースを始めたのだが、自分のソフトウェアが世界中に使われるようになったのだから、責任がある。どんなにイヤなことでも我慢して粛々とやるか、それが我慢できいないなら自費持ち出しで人を雇え、と?

(ちょっと怒ってる)

_ [Ruby] OSX 10.3とRuby 1.8.0

あと、mputさんは、 「Ruby 1.8.0 のリリース」について皮肉られているけど、私はアレで良かったと思う。

そもそもAppleの連中は1.8.0を10.3に含めることに全然本気じゃなかったと思う。 「入れたい」という話は間接的に聞いただけでAppleから直接連絡はなかったし、 だから10.3のためのスケジュールについても「8月のはじめ頃」としか聞いてなかった。 で、8月4日にリリースして、蓋を開けたら入ってなかった、と。

もっと早く出せなかったのは、別に怠けていたからじゃなくて、 その間ずっとバグを直していたからなのだから、仮に正確なスケジュールを聞いていて、 「スケジュールに間に合わせるためにここでリリース」のようなことをした日には バグが一杯残ってて、 Macユーザの間で「Rubyは使えねー」という評価が定着してしまってた可能性が高い。 *1

そしたら、Macユーザの、あるいはAppleのRubyの評価は今よりも低くて、 今日のRubyCocoa標準添付とかいう話にはなってなかったんじゃないかなあ。 単なる憶測だけど。

それに、たとえ間に合ってたとしても、 Appleとしてもメジャーバージョンアップ直後のソフトウェアを取り込むのには 勇気が要ったと思うなあ。

*1  実際には「Ruby古いぞー」という評価があったわけだが、それはそれとして

本日のツッコミ(全28件) [ツッコミを入れる]
_ oo (2006-09-07 21:31)

「後で読む」というタグは有名ですが、「後で書く」というだけのエントリーは初めて見ました。画期的かも。

_ 田辺 (2006-09-07 22:44)

飛行機の中で実装とは、かっこいいですね。

_ takahashim (2006-09-08 15:27)

「先立つモノ」って、「金」と「時間」のどちらでしょうか?(あるいはそれ以外?)

_ まつもと (2006-09-08 15:42)

今回念頭に置いているのは「お金」です。あるいは「片手間じゃ無理なくらいの時間」かも。

_ otsune (2006-09-08 16:52)

>どんなにイヤなことでも我慢して粛々とやるか、それが我慢できいないなら自費持ち出しで人を雇え、と?<br><br>それはちょっと「極端な例を持ち出す」という詭弁テクニックすぎると思います。<br>「先立つモノが必要なんだよなあ。」という台詞は、暗黙で「(いろいろと考えて行動しているが今は決まっていなくて何も言えないので)先立つモノが必要なんだよなあ。(……と、他人事のように言っておいて、忘れている訳じゃない事をアピールしよう)」という善意の解釈をしています。<br>ただ、それは「今は何も言えないから他人事のように言っておく」という意味で、当事者からは言いがたい台詞だと思いました。<br>だから「先立つモノが必要だが、めどはたっていない」という書き方なら腑に落ちます。<br><br>もっとも私は根本的に「ほのめかしで何かの意図をアピールするMatzさんのパフォーマンスである」という解釈しか現時点ではしておらず、もしそうだとしたら「先立つモノが必要なんだよなあ」という文を書く事は有効に作用するとも思うので、そういう意味で特にツッコミはありません。(仮に真だとしたら、こういうネタバレ気味の事を書く事でパフォーマンス効果が薄れてしまうのは迷惑かもしれませんが)

_ まつもと (2006-09-08 17:16)

otsuneさん、それは読みが深すぎです。<br>私の元文の意図は「先立つモノが必要だが、めどはたっていない」以上のものではないのですよ。

_ MoonWolf (2006-09-08 19:19)

現時点の体制でRuby開発チームからリリースチームに対しての報酬が払えるとは思えないので、<br>一般Rubyユーザ全般からの寄付によって仕事しようということです。<br>まぁ、別にPayPalじゃなくてもお金さえもらえればいいんですけどね^^;

_ MoonWolf (2006-09-08 19:23)

After Railsで1.6.8を収録するのと1.8.0を収録するのとでは、かなりの差があったでしょうということです。<br>最近のリリースではRailsは動くことは動くので、何もいってこないだろうけど。

_ まつもと (2006-09-08 19:56)

寄付でリリースマネージャですか。いろんな意味でハードルが高そうです。<br>ま、次のリリースまでにはしばらくありそうなんで、考えていきましょう。

_ MoonWolf (2006-09-08 20:04)

Ruby Cityである松江市から資金援助とかあれば楽なんでしょうけどねぇ……<br>お金が絡むと色々難しいですね。<br>かといって、現状のボランティアベースでは不満が色々でてくるでしょうし。

_ mi (2006-09-08 23:38)

まあ、otsuneは荒しなので、無視するのがいいかと。ことの当事者にならないように生きている人間ですから。

_ まつもと (2006-09-08 23:50)

私はotsuneさんに荒らされた覚えはありませんし、直接お会いしたこともありません(LL Ringのときには同じ会場にいたはずなんですが)ので、そのような先入観をもって対処するつもりはありません。<br>ただ、「当事者だから言えない」というロジックは今でも理解できないでいます。<br>たぶん、私の書き方が悪くて、元の意図とは違う意図を読みとられたのだとは思いますが。

_ モルモン仲間 (2006-09-09 00:29)

リリース日を守ること以外を考えていない mput。<br>邪推の otsune。<br>独自 Ruby 作って放置した Moonwolf がリリース管理。<br>コメントを荒らす俺。<br>matz も大変だな。<br><br>分かっているバグを直さないでリリースするより、<br>バグを直すためには数週間程度リリース遅れるのは何てことないよ。

_ /.J 経由の通りすがり (2006-09-09 01:14)

matz さんは期日遵守よりも品質保証の方を採る立場のようですが,僕にはそれが最適解だとは思えません.<br>多くの人は,過去のリリースに遅延がなかったことを忘れがちだという理由と同じ理由で,「いづれ潰される運命にあるバグ」の存在にも大した関心がありませんので.<br>また,品質を優先したためにリリースが遅れたという事実自体には,開発者側の技術力が疑われる強力な動機を与えてしまうという含みを持つでしょう.<br><br>潔く Open issues としてバグを容認・共有することの方が,需要側・供給側双方にとって最適なのではないでしょうか.

_ soda (2006-09-09 01:31)

どうなんでしょう?<br>http://d.hatena.ne.jp/atsushieno/20060907<br>には、人はリリース遅延のことは忘れてしまうが、<br>それに比べると、出会ったバグについては忘れない<br>という主旨の話が載ってますが?<br><br>> 品質を優先したためにリリースが遅れたという事実自体には,<br>> 開発者側の技術力が疑われる強力な動機を与えてしまうという<br>> 含みを持つでしょう.<br><br>そういうことで技術力を疑う人は、大規模ソフトウェア開発の<br>経験がないのでは?

_ まつもと (2006-09-09 01:41)

もちろんバランスの問題だと思います。すでに述べましたが、品質のために無限にリリースを遅らせるわけにはいきませんし、そのつもりもありませんから。<br><br>で、現実的なバランスの範囲内で考えるとして、「いづれ潰される運命にあるバグの存在にも大した関心はない」という意見には同意できません<br><br>以下の二つが要因です。<br><br> * ほとんどの人は自分でバグを直さない、直せない。<br> * ほとんどの人はリリースバージョン以外使わない。<br><br>前者により、バグはいつか直されるかもしれないけど、その直される日までは存在し続け、引っかかってしまった人を悩ませ続けます。<br><br>後者により、リポジトリで直されたバグもそのfixが一般の人の手に届くまでにはある程度の時間がかかります。<br><br>ですから、バグを容認することによって需要側は不利益を被ります。その代償として得られるものは、通りすがりさんの言葉を借りれば「開発者側の技術力への信頼」ということになるのでしょうが、きちんとリリースする努力だけで、我々の技術力がすぐに高まるわけではないことを考えると、その信頼は幻想である可能性が否定できないでしょう。<br><br>とかいうことを考えると、いくつか新たに見つかったバグのために(数週間や数ヶ月、ましてや数年ではなく)数日リリースが遅れることは、そんなに悪いことではないかなあ、と思うのです。<br><br>イシュートラッキング能力の向上により問題が回避できるという考えもあるかもしれません。否定しませんが、それが技術力の一部であるとするならば、私(たち)の技術力はしょせんその程度であり、それを実態以上に高く見せようとは思いません。<br><br>リリースマネージメントの改善についてはこれからも考えていきたいとは思いますが。

_ otsune (2006-09-09 03:00)

>ただ、「当事者だから言えない」というロジックは今でも理解できないでいます。<br><br>私が邪推していてMatzさんの書いた台詞の本意を読み取れていないとしても、この点に関しては伝えた方が良いと思うのでツッコミします。<br><br>「先立つモノが必要なんだよなあ。」という書き方は、独り言の振りをした他人事にしたほのめかしのように受け取られる言葉だと私は思います。また、そう思う人は(多数派では無い可能性もあるでしょうが)そんなに少なくないとも思います。<br>例えば「先立つモノが必要だが、めどはたっていない」という他人事ではない当事者の言葉であれば、私はそういうツッコミコメントをしないです。

_ まつもと (2006-09-09 03:12)

ごめんなさい。まだ理解できない部分があります。<br><br>「先立つモノが必要なんだよなあ。」という書き方は、独り言の振りをした他人事にしたほのめかしのように受け取られる言葉だ、というのはなんとなく分かります。私の書き方が不適切だったのかもしれません。<br><br>ですが、これが「当事者だから言えない」というのはどういうことなんでしょうか。<br>これがほのめかしであったと仮定して、あらためて読むと、私なら「だから、だれか経済的に支援してくれないかなあ(寄付歓迎)」くらいが読み取れます。スラッシュドットを読むと、実際そう解釈した人もいるようです。ですが、これは別に「当事者だから言えない」内容ではないですよね。日本では寄付を積極的に求めるのは金銭的に汚いと思われがちな点はありますが、ここではそれは別の話です。<br><br>となると、otsuneさんは私の意図とも違う、私の想像する範囲を越えたほのめかしを読み取られたのではないかと想像します。それって一体なんなんでしょう?

_ i (2006-09-09 04:36)

開発者は開発に集中させないと!どうして雑用に追いやろうとするかな...

_ 靴屋のスミス (2006-09-09 13:38)

自分の言葉が誤解された原因を探ろうとする、上記のまつもとさんの行為は、デバッグに非常に似ていると思います。<br>コードを読み返すだけでは何が悪いのか分からない場合、デバッグライトで発生個所を突き止め、利用しているライブラリの仕様をなんとか探ろうとします。<br>そんな作業でコーディングモードになると、作業が終わっても頭の回転の慣性によってしばらくは書き込みが止まりません。<br>というのは私の経験上ですが、ネット上の書き込みが多いということは調子が良いバロメータなのではないかと思います。

_ 通りすがり (2006-09-09 21:01)

やりたくないなら、明確に「放棄します」と宣言すれば良いだけ。<br>「自分以外の人間」を信用できず、すべて自分で管理しようとするから、嫌いなことまで管理しなければならなくなるんでしょう。部下に仕事を割り振れない「昔は有能だった管理者」と同じ。

_ まつもと (2006-09-09 23:34)

全否定はしませんけどね>「昔は有能だった管理者と同じ」<br>やや老害が出ているかも。<br><br>とはいえ、私には「部下」がいないんで、なかなか「割り振る」わけにはいかないという現実があります。また、完全に放棄しちゃうえるほど割り切れない人間なんですよねえ。

_ 残暑きらい (2006-09-10 00:15)

始めまして。「自分でバグを直さない、直せない」「リリースバージョン以外使わない」ユーザです。<br>いまのRubyの立場って、微妙なんでしょうね。<br>私のようなド素人たちも、楽しい雰囲気につられて使い出してるし、Railsの追い風もあるし。<br>でも、ここまでになったのは、意見の異なる様々な有能なひとたちが、仕事抜きにして、引き込まれて、Rubyに貢献してくれてたからだと思うし。<br><br>なんか、インターネット黎明期の縮図みたいですね。<br><br>解決方法の見当もつきませんが。Rubyなりの解決方法が見つかることを祈っています。

_ otsune (2006-09-10 05:47)

>ですが、これが「当事者だから言えない」というのはどういうことなんでしょうか。<br><br>それは私の表現が分かりにくかったです。<br>「当事者だから言えない」は「当事者だったら言えない(台詞だ)」ということで、冗長にすると「当事者なのに、まるで他人事のような台詞を言うのは変だろう」ですね。<br><br>自明でしょうが、これは書いてある事を字面だけ素直に解釈した場合におけるツッコミです。私はコメントで「まぁパフォーマンスかもしれないけど」と書いた通り、素直には読み取ってません。<br><br>前述の通り、私は「他人事のように書いたのはMatz氏のパフォーマンスである」という解釈をしています。<br>また今日に成って<br>http://d.hatena.ne.jp/odz/20060908/1157730305#c<br>http://slashdot.jp/comments.pl?sid=331825&cid=1015040<br>を読んで、パフォーマンスとして「他人事のようなほのめかし」をしたという解釈はさらに深まりました。

_ 通りすがり (2006-09-10 13:18)

>私には「部下」がいないんで<br><br>部下と言うのは単なる比喩です。OSSは会社じゃないので、部下はいません。<br>しかし、「○○の部分は、他人に任せる」と言う方針を完全にした上で、コミュニティで議論すれば結論は出るでしょう。方針が中途半端だから、誰もまじめにやらないだけ。

_ まつもと (2006-09-10 15:59)

いや、もちろん比喩だということを理解した上で(仕事のアサイン対象という意味で)「部下」という書き方をしたわけです。比較的時間が自由になる私でさえ投げ出したくなるような仕事をアサインすることが「方針を完全にしてコミュニティで議論する」だけで結論が出るほど楽観的にはなれないですねえ。<br>方針が中途半端なのは認めますが、障害はそれだけではないと思いますよ。

_ takaBSD (2006-09-10 16:56)

> ほとんどの人はリリースバージョン以外使わない。 <br><br>仕事で使う場合、リリースバージョンしか使わせてもらえないこともあります。<br>ですので、数日と言わず数週間遅れてでもバグが少ない方がいいです。

_ takaBSD (2006-09-10 18:17)

ruby-dev の リリース・スケジュールの決定からリリースまでの一連のメールを読みました。<br>そして、mput さんがリリース・スケジュールに大変を気を使われてたことを知りました。<br>そんな一連の経緯を知らずに、「数週間遅れてでも」という発言はあまりにも軽率でした。

お名前:
E-mail:
コメント:
[]

«前の日記(2006-09-01) 最新 次の日記(2006-09-03)» 編集

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