成瀬です。

Yugui wrote:
> 下記の要領でRuby開発会議20091013を開催します。
> 日時: 2009-10-13 12:00 JST
> 場所: 秋葉原ダイビル 13F 東京大学秋葉原拠点 笹田研

にて開催された開発会議の議事録を公開します。

参加者: matz, ko1, yugui, akr, nobu, usa, naruse
(nobu と usa は Skype 経由)

== リリーススケジュール
=== 1.9.2 のリリースはいつ
* クリスマスに予定されていたリリースはキャンセル [ruby-core:25707]
* 1.9.2 リリース要件に「rubyspec が通る」を追加する
  → それによってリリース時期はどうなるのか
  → 実際の所現状がどうなのか見てみるべき
  → ……なんとかなりそうかな?
  → どちらにしろ rubyspec が律速することになるであろう
* みんな rubyspec をもっと走らせて、問題を見つけたら報告してください
  (ruby 側でも rubyspec 側でもよい)

=== 次の preview と feature freeze
* 10 月末頃に preview2 を出す [決定]
* 12 月の feature freeze を目指す [決定]

== prime.rb
* timeout の話 [ruby-dev:39465]
* あらゆるところで Timeout がおこりうる
* 困っている人はいないの?
  → ruby-core で数回出た事があり、彼らはなんとかしたのだろう
* Timeout 等を受け付けずに遅延させる critical session を
  宣言する block を作る機能と文法が必要?
  → ^C まで抑止されると困る
  → 特定のものを選んで行う?
  → 継続して検討

== Big5
* Big5-HKSCS は済み
* Big5-UAO は Martin さん担当で数週間後の予定

== メンテナについて
* メンテナ解任プロセス [ruby-core:25764] [ruby-dev:39372]
* 一方、メンテナに立候補している人がいる [ruby-core:26066]
  → 立候補した人は受け入れたい (matz)
  → 好き勝手に変な機能を追加されても困る
  → 原則として仕様変更をする前には議論が必要であることを周知する
  → そもそも、彼らが立候補しているライブラリはどれも十分に安定している
  → 新機能を追加したくてメンテナになっても、
     期待通りにならないことが予想されるが、それはいかがなものか
  → 新機能の提案があったときに却下権限を持つ人がいないため、放置される傾向がある
  → 権限を絞った committer の概念を作り、それにする?
  → とりあえずは Redmine の contributer にして、
     チケットの close や reject をしてもらって様子を見る [決定]
  → コミッタ採用の判断は matz が行う

== ffi の標準添付について
* ffi と言っても何を使うの?
  → libffi
* libffi 自体のソースは添付するの?
  → 現状の gem ではソースを添付し、環境に libffi が既にあればそれを、
     なければ添付したものを用いている。
  → ソースを添付するのならば常にそれを用いた方がよいのではないか
* そもそも添付するの?
  → dl2 には解決できない問題がある (後述)
  → ffi ではインラインアセンブラを用いているので解決可能
* 現状サポートされていないプラットフォームについて
  * IA64 では動いているしコードもある
    → 単に Web の記述が更新されていないのではないか
  * Windows はサポートされているのか
    → VC はパッチをあてれば動くらしい?
    → MinGW は動く
    → VC の新しいの (2010?) はインラインアセンブラがないので動かなくなる
    → 誰かががんばってサポートさせるか、VC を捨てる必要がある
* Windows サポートの問題が解決された上でメンテナがつけば標準添付は可能

=== dl2 の問題
* 引数が型によらず一様だという仮定をしているが、
  ia64とかx86_64では、double/floatが混じるとこの仮定は成り立たない
* がんばってなんとか引数ごとに振り分けようとしても、
  call の時点ではもうベタ詰めにされたメモリの塊になっており、
  CFunc#callではそれぞれにどういう型が期待されているかはわからない。
* しかも引数の情報は CFunc にはない
* dl1 ではスタックに積まれるという前提があるが、
  引数が型情報を持ったまま渡ってくるので、がんばる余地がある
* ffi ではインラインアセンブラでがんばっている

== win32-unicode-test におけるファイルパス絡みの変更
* これまでの作業から UTF-16LE を ruby 本体で扱うのは無理がある
  という知見が得られたので、UTF-8を経由する方向で行う
* ゆえに、パス変換機能が必要 [ruby-dev:39156]
* パス変換は Unix で default_internal を設定した場合と同じ問題がある
* パスを使うとき (アクセスするとき) は安全側に倒してエラーにする
* とりあえず GO

-- 
NARUSE, Yui  <naruse / airemix.jp>