最近のBoost

Boost 1.56.0のリリースまでもう少しかかりそうなので、Boostの近況を書きます。

  • Boostの開発リポジトリが、SubversionからGit(GitHub)に移行しました。
  • 「Boostの一部の機能を使いたいだけなのに、全部入れないといけないのはしんどい」というのに応えよう、という活動を始めました。
    • GitHubでモジュールごとにリポジトリを分けてるのも、その一環。
    • 現在、モジュール間の依存関係を整理中。そのうち何らかの方法で、「自分が使いたいモジュール(とその依存モジュール)だけを持ってくる」というのができるようになるでしょう。(現在もbcpツールを使えばできることはできる)
  • コミュニティメンテナンスチーム
    • 一人のメンテナにライブラリのメンテナンスを丸投げすると、小さなバグもなかなか直されないことがあって困る、というのがあって、その状況を改善するために、コミュニティメンテナンスチーム(CMT)というのが立ち上げられました。
    • https://svn.boost.org/trac/boost/wiki/CommunityMaintenance
    • CMTに合意したライブラリは、メンテナに限らずBoost開発者コミュニティが、バグ修正、ドキュメント修正、機能追加を行えます。
  • Boostへのライブラリリクエストの方法を改善する。

    • 今までの、Boostにライブラリを入れてもらうようリクエスト/レビューする仕組みは、なかなかレビューが始められない/採択されないという問題がありました。
    • それを改善するために、Boost Library Incubatorというのが動き出しています。
    • http://rrsd.com/blincubator.com/
  • Boostを進化させるための新たなガイドライン

    • BoostはC++03とC++11の両対応をしていますが、C++03をサポートしなければならないことが足かせになってきています。その状況を改善するために、これからのライブラリ開発のガイドラインの見直しが行われています。
    • https://svn.boost.org/trac/boost/wiki/BoostEvo
    • 概要としては、Boostは革新的なライブラリを書くことを奨励するので、新しいライブラリは新しい言語機能をどんどん使っていいよ、としていきたい、としています。
  • Boost.Asioの標準化が進められそう。
    • C++標準のNetworking TSでは、ネットワークバイトオーダーの変換、IPアドレスといった小さな機能から入れていこうとしていましたが、先日の会議では、「いいからBoost.Asioを丸ごと入れようよ」という意見が圧倒的だった、とのこと。
    • http://thread.gmane.org/gmane.comp.lib.boost.devel/252494