MoonWolfです。

akira yamada / やまだあきら wrote:
>>(4) コードレビューは行われているか
>>      * ライブラリとしてのRDtoolはかなりのコードレビューが行われたと思います。
>>        * 実装で言うと、
> 実装があるといっても(ちょっと言い方が良くないですが)
> 単に使わてきただけというものも含まれると思います。
> [ruby-dev:24725]で述べられた意味で
> レビューが行われてきたかどうかは……どうなんでしょう?

ライブラリとして利用するための仕様については、既に利用している実装が
あるので変更できませんね。
でも、「仕様が独り善がりでない」というのはRDとして十分に議論されたと思います。

> 十分にメンテナンスされるようになるのはうれしいですし、
> RDは便利に使っていますけれど、私は
> Ruby本体といっしょに配布する必要があるかどうかは疑問です。
> これはメールのライブラリについても同様ですが、
> そうすることによって誰がどれくらいうれしくなるんでしょう?

「誰がどれくらい」に関してはどのライブラリもユーザが使うときに
別途インストールしないで済むのが嬉しいと言うだけでしょう。
パッケージが用意されていれば別配布でも構わないわけで。

ruby-dev/ruby-coreでの議論はRubyユーザ全般の意見を反映しているとは思えません。
全員がruby-dev/ruby-coreを読んでるわけではないし。
特にWindows関係については、開発者全般がかなりUnix寄りなので適当になっていませんか?



十分に議論して添付されたライブラリはどれぐらいあるんだろう。
Ruby本体で標準添付されているライブラリについてリストを作ってみました。

標準ライブラリ
* lib/cgi.rb,lib/cgi/session.rb,lib/cgi/session/pstore.rb
  * まだ議論が必要ではないか?
    * Ruby1.8.1においてCGI#server_portが常に0を返すバグがある。CVSでは修正された。
* lib/csv.rb
  * いつのまに入った? 議論されたか?
* lib/delegate.rb
* lib/drb
  * いつのまに入った?
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/erb.rb
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/forwardable.rb
* lib/ftools.rb
* lib/generator.rb
* lib/getoptlong.rb
* lib/gserver.rb
  * いつのまに入った?
* lib/logger.rb
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/mailread.rb
  * 仕様について議論されているか?
* lib/mathn.rb
* lib/matrix.rb
* lib/monitor.rb
* lib/mutex_m.rb
* lib/observer.rb
* lib/open-uri.rb
* lib/open3.rb
* lib/optparse.rb
* lib/ostruct.rb
* lib/parsearg.rb
* lib/pathname.rb
  * 仕様について議論されているか?
* lib/ping.rb
  * 仕様について議論されているか?
* lib/pp.rb
  * 仕様について議論されているか?
* lib/prettyprint.rb
  * 仕様について議論されているか?
* lib/profile.rb
* lib/profiler.rb
* lib/pstore.rb
* lib/rational.rb
  * 仕様について議論されているか?
* lib/rdoc
  * いつのまに入った? 議論されたか?
* lib/readbytes.rb
* lib/resolv-replace.rb
* lib/resolv.rb
* lib/rexml
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/rinda
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/rss
  * 標準添付でいいのか? 議論されていない。
* lib/set.rb
  * 仕様について議論されているか?
* lib/soap
  * 標準添付でいいのか? 議論されていない。
* lib/sync.rb
* lib/test/unit
  * 仕様について議論されているか?
* lib/timeout.rb
  * 仕様について議論されているか?
* lib/tmpdir.rb
  * 仕様について議論されているか?
  * tempfileに対してtmpdirと名前がバラバラではないか?
* lib/tracer.rb
  * 仕様について議論されているか?
* lib/tsort.rb
  * 仕様について議論されているか?
* lib/un.rb
  * 仕様について議論されているか?
* lib/uri.rb
  * 仕様について議論されているか?
* lib/weakref.rb
* lib/webrick
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* lib/wsdl
  * 標準添付でいいのか? 議論されていない。
* lib/xmlrpc
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。



拡張ライブラリ
* bigdecimal
  CVSにいきなり入ったような気がします。議論されていないのでは?
* curses
  * 標準添付でいいのか? 議論されていない。
* dbm
  * 標準添付でいいのか? 議論されていない。
* digest
  * 標準添付でいいのか? 議論されていない。
* dl
  * 標準添付でいいのか? 議論されていない。
* enumerator
  * 標準添付でいいのか? 議論されていない。
* etc
* fcntl
* gdbm
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* iconv
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* io
  * 標準添付でいいのか? 議論されていない。
* kconv
  * 標準添付でいいのか? 議論されていない。
* nkf
  * 標準添付でいいのか? 議論されていない。
* openssl
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* pty
  * 標準添付でいいのか? 議論されていない。
* racc
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* readline
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* ripper
* sdbm
  * 標準添付でいいのか? 議論されていない。
* socket
* stringio
* strscan
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* syslog
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* tcltklib
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* tk
  * 標準添付でいいのか? 議論されていない。
    * 最近の更新頻度を見ると別途配布した方が良いのではないでしょうか?
  * Debianでは本体と別パッケージになっている。
* tkutil
  * 標準添付でいいのか? 議論されていない。
    * 最近の更新頻度を見ると別途配布した方が良いのではないでしょうか?
* Win32API
* win32ole
* yaml
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。
* zlib
  * 標準添付でいいのか? 議論されていない。
  * Debianでは本体と別パッケージになっている。



> raccなんかは仕様が安定してそうなのですけど、
> 今回の話の中のRDtoolについてはそのあたりもちょっと心配です。
> また、Rubyに添付するということは、
> 大きめの変更やリリースについては
> ある程度Rubyに引きずられることになる(逆はナシ)と
> 思うのですけど、そのあたりは良いんでしょうか?

Pure Rubyまたは外部ライブラリに依存しない拡張ライブラリで[ruby-dev:24721]のような5項目を
クリアしていないものについてはよくレビューすべきだと思います。
「既に追加してしまったのだからしょうがない。」というのは多少ありますが……
bigdecimal/openssl/racc/drb/erb/rexml/soap/tk/webrick/xmlrpc/zlibなどは標準から外すというのも
選択肢に入れたらどうかと思っています。