MessagePackがIETF標準化に巻き込まれてる件について

2013/2/26-1

ここ数日、MessagePackがIETFにおける標準化に巻き込まれてザワザワしています。 何が起きているかというと、MessagePackプロジェクトとは関係が無い第三者がIETFで派生物の標準化を進めようとしています(binarypack、Informational RFCとして)。 binarypackは、自らをMessagePackの派生であるとしながらも、MessagePackとの後方互換性が無いものです。

binarypackのInternet-Draftを提出しているのは、coreと6lowpanのchairです。 Chairであるかどうかが議論そのものに与える影響はそこまで大きくないとも言えますが、少なくともIETFでの話の進め方に精通した人物であることは確かです。 ただ、今回のInternet-Draftは、その人物がChairをしているワーキンググループとは関係がないところのようです。

この話題が登場したのは、Internet-Draftの著者がmsgpackのgithubに対して書き込みを行ったことによって、MessagePackプロジェクトに標準化の動きが伝わったためです。 Internet-Draftそのものは、昨年10月に発行されていたようです。

それにともない、以下のようなissueも発行されました。

ただ、IETFのJSONメーリングリストでの発言を見ると、色々と微妙な感じもします。

このメールを見ると、何故今月になってmsgpackのgithubへの書き込みがあったかが垣間見えます。 JSONメーリングリストで、「frsyukiさんは、このdraftに関わっているの?もしくは、これが提出されたことを彼は知っているの?」という突っ込みを受けたタイミングと、githubへの書き込みが同じ日です。

19日に指摘されてgithubへと書き込み、そのときには「後方互換性を気にして私のアイデアには反対のようだ」と言っていますが、その後24日出されたのがリンク先のメールです。 そこでは、以下のような文があります。

It already is pretty good at the details, too, but this whole thing is being done in a process that is closer to Japanese consensus processes than to IETF culture.

と、github上での議論の結果出て来ている改変案を「日本的コンセンサスであってIETF文化ではない」と一蹴しています。

そのうえで、来月開催されるIETFにおいて廊下での会議(Hallway Time)で考えようと提案しています。 要は、裏ネゴでやっちゃおうという感じです。 IETFって「rough consensus and running code」とか「メーリングリストでの議論がメイン」とか「オープンである」と言いつつも、実際は裏ネゴが非常に重要な世界なんですよね。 裏ネゴに持って行くまでのところは、比較的オープンという意味では、チャンスが開かれているといのは確かにありますが。

That doesn't diminish from the requirement for a msgpack-like format, and I think we should use Hallway Time in Orlando to discuss potential ways forward.

古橋氏の提案が今後変わったとしてもマイナーな変更しか行われないだろうと言っている点に関して、古橋氏は「事実と異なる」と発言しています。

(frsyuki's proposal may change some more, but those will in all likelihood be minor details)

こういった背景もあり、KazuhoさんのFacebook投稿が行われたようです。

現時点におけるMessagePack変更案

今回の騒動を受けて、古橋氏が変更案(proposal 1)を公開しました。 古橋氏の変更案(proposal 1)に対して、kazuho氏がさらに追加の変更案を提案しています。

現在は、proposal 2としてTLV encodingを導入することで型拡張されても後方互換性が保たれるようにする変更案が公開されています。 まだ、early stageなので、これがそのまま採用されるわけではないのですが、「String」タイプを追加したいという要望への議論が盛り上がることによって、様々なタイプを追加できるような拡張という提案も出ているというのが現状です。

今後どうなるのだろう?

ただ、実際問題として、IETFでの標準化がどのように進むのかは不明です。 同メールの「Summary」を読む限り、そもそも、IETFでの標準化も強制的に外部から圧力をかけて実装を変更させようとしている節もあり、最初から敵対的のようにも見えます。

とはいえ、現実問題として、誰かが提案しているInternet-Draftを阻止するというのも非常に困難であることも確かです。 そのため、対抗して個人ドラフトを出して戦うという案も現在検討されていますが、課題もあります。 まず、IETFでの議論は既存システムの後方互換性よりも、プロトコルそのものの「あるべき論」が優先されることもあることがあげられます。 古橋氏がRFC化を特に強く望んでいるわけではなく、IETFでの政治に時間を割くのが難しいという点も懸念されています。

RFCはRFCで勝手にあったとしても、MessagePackはMessagePackで気にせず実装を作り続けるという方向性もあるのかも知れません。 その場合は、色々なforkが発生して実装間の互換性が損なわれる可能性がありそうですが。

さて、これからどうなるのでしょうか。。。

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!