Node.jsのコミュニティに変化を与えるnode-forwardについて

ちょっとここ最近node.jsを騒がせてるnode-forwardについてまとめました。

node-forwardとは

Node.jsを専門とするTechnical Committee(技術委員会)です。
nodeforward.org というサイトができており、簡単にそこに書かれている事を翻訳しておきました。

[翻訳] nodeforward.org


Node Forwardとはオープンなコラボレーションを通してNode, JavaScript, それらのエコシステムを改善するために努力をするコミュニティです。


Nodeは驚くべき速さで成長しています。この成長はコミュニティが一定以上の規模になるまでに起きたいくつかの問題を先頭を切って解決してきました。

いくつかの問題は単純にアサインされるようなものだけじゃなく、リーダーシップとコントリビューターの自主性を要求するような問題でした。一方で他の人達は小さなプロジェクト間で分散された状態で問題を解決してました。Node Forwardはこういった分散された状況を解消しつつ、"自主性を要求する問題"を解決するコラボレーションのための場所です。

Current Efforts (現在の活動)

welcome - NodeとJavaScriptをこれから学ぶ人達のためのより良いエントリーポイントを作ることを目的としています。

help - JavaScriptとNodeに関する質問するための場所です。

build - nodeのアプリケーションやテストを実行するためのより良いツールやインフラを作るための場所です。

roadmap - Nodeを作ったり、コミュニティに必要な標準化を通知するためにNodeやJavaScriptの方向について、より大きなコミュニティからフィードバックを得るための方法を探しています。


全ての議論、新しい活動を含んだ提案はdiscussionsの中で起きています。今のところ特に面白い議論はadvanced mathematicsをサポートすることについてですね。

この他にもあなたが興味のあるコミュニティドリブンな活動もあるでしょう。NodeSchoolは無料でNodeを学習できるワークショップを作るためのコミュニティです。無料もしくは低コストで世界中でミートアップが開催されています。NodeConf ONE-SHOTはシンプルに一日でできるforkableカンファレンスです(nodefestみたいなの)。コミュニティの誰もが世界中でカンファレンスを開催可能です。

Node Forwardは誰が主役なのか?

最も重要な事ですが、Node Forwardの主役はあなたです。Node Forwardは問題を積極的に解決したい人とそれを一緒に修正していく活動です。誰かと一緒に活動する意志があり、行動規範に従うなら全ての活動はwelcomeです。もしあなたがいくつかのリポジトリをモデレートしてステップアップすることに興味があるなら、気軽にissueに記述したり、新しいissueを追加してください。

翻訳はここまでですね。

なぜここ最近node-forwardが騒がれていたのか

このTechnical Committeeのorganization自体は2ヶ月以上前からあったんですが、最近すごく盛り上がっています。なぜならnode-forwardがNode.jsをforkし、自身の運営ルールを記述し始めたからです。

※ ちなみに現在、そのリポジトリ商標権の問題がunclearな状態なので、 private リポジトリになっています。

そこには以下のメンバーをアクティブなcontributorとすると記載されておりました。

Fedor Indutny
Trevor Norris
Ben Noordhuis
Isaac Z. Schlueter
Nathan Rajlich
Bert Belder

これまでNode.jsを作ってきたコアメンバーが載っており、逆にTJ Fontaine(現リーダー)が載っていないことがわかると思います。
TJ Fontaineはこのnode-forwardのメンバーになるようにinvitationを送っていたものの、受け入れられていない、という旨の記述があるので、node-forwardがNode.jsをforkしたことも相まってコアメンバーの人達がJoyentのチームとは別に自分たちで別なdistributionを作るのかとか、全く進まないNode v0.12の活動にいよいよコアメンバーがクーデターめいたことをし始めたのかと邪推しそうになります。

ただ断っておくと、今のところそういう言及は一つもなく、node-forwardがNode.jsをforkしたのは単に"そこにforkボタンがあったから"という事になっています。



そして、Contributor.mdには、以下のことが記述されていました。

Contributorガイドに記述されていたこと

TC(Technical Committee)が持つこのプロジェクトを通した最終権利:
現在のガバナンスルール:
  • Consensus Seeking
  • コンセンサスが取れない時は投票で決める
  • 60%以上の定数が取れたら、単純に多数票の勝利
  • (偏りを減らすため)同じ企業から本TCに加盟できるのは、TC会員数の30%以下とする。

また、TC(Technical Committee)がそれを必要と見なせば、ガバナンスルールは変更できる。

TC ミーティング

TCはGoogle hangoutを通してミーティングする。現時点では、 @mikealがモデレータとしてミーティングを運用する。各ミーティングはYoutubeに公開されることにする。

Contributor Policy


グループの各メンバーが重要かつ価値のあるコントリビュートをするため、プロジェクトにはコミット権が与えられている。毎週のTCミーティングの間で議論され、メンバーにいれるかどうかはTCによって認定される。


もしあなたにコミット権が与えられていないのに重要なコントリビューションをしようとしてるのであれば、一旦issueを記録してもらい、次のTCミーティングでそれを議題に上げる。


重要なコントリビューションのためにフィードバックを求めるpull-requestが送られた場合にどうするかはコントリビュータの自由裁量に委ねられている。

重要な変更は48時間 (週末をまたぐ場合は72時間) 以内にマージする前に世界中のactive contributorsによってチェックする機会が与えられる。


議論の余地がある変更ととても重要な変更はTCによって議論され、最終決定されるまでマージしてはいけない。

TCメンバーはTCに対してコントリビュータを推薦し、TCの投票によって追加される。毎週のミーティングの中でメンバーを推薦できる。

まとめ

nodeforward.orgの翻訳とnodeforwardが盛り上がっている理由、さらにnodeforwardがフォークしたNode.jsリポジトリに記述されていたContributor.mdを翻訳しました。

今のところforkした真意は分かりません。ただし、遅々として進まないNode.jsに対するリアクションであるとは推測できますね。

今後どうなるか、nodeforwardのissueをwatchしておくこともオススメします。

ちょうど11/15にnodeforwardの運営者の一人、mikealが日本にNode学園祭で来るので、真意を尋ねてみるのもいいのではないでしょうか。

(これが言いたかった。)


東京Node学園祭2014