ruby-protobuf の fork を GitHub に作った

Google Protocol Buffers の Ruby 実装として ruby-protobuf (Google Code) というライブラリがあるが、それの fork を GitHub に作成してみた。

オリジナル版からの変更点は以下の Wiki にまとめている。

今日時点までの変更点は以下のとおり。

  • 機能改善
    • rprotoc コマンドの挙動
    • C 言語風のコメント
      • /* コメント */
    • エンコードを高速化
    • メッセージのネストの改善
    • Ruby 1.9 サポートの改善
      • Wiki には明示してないが、1.8.7 と 1.9 開発版で動作確認をしている
  • バグ修正
    • enum 型のデフォルト値を指定できるようにした
    • エンコード時に未初期化の optional field においてデフォルト値が出力されないようにした
    • 各型の最大値・最小値の値を修正
    • 固定長型や負の整数のエンコード・デコードに関する修正
    • repeated field に関する修正

GitHub の機能を使って gem を作成しているので、以下の手順でインストールできる。

 $ gem source -a http://gems.github.com
 $ sudo gem install macks-ruby_protobuf

今のところ、機能もインタフェースもオリジナル版と大差ないので、そちらで困っていない方はわざわざ使う必要は無いと思う。
fork した理由は、バグ修正は始めのうちは本家の Issue Tracker に報告していたものの、だんだん面倒になってきたりとか、バグ修正以外の(個人的な趣味に属する)変更がしたくなってきたとか、メンテナンスの速度と私が欲する開発速度とが合わなかったとか、そういった理由。
Upstream への merge は、目的にはしていないが、特に否定もしない、というスタンス。*1
1ヵ月くらい前にリポジトリを作成したんだけど、私のツリーからさらに fork を作る方がいたり、メッセージを送ってくださる方がいたり、GitHubSNS 的な側面がなかなか面白い。

*1:GitHub の pull request みたいなものを送れれば楽なんだけど……。