https://yosuke-furukawa.hatenablog.com/entry/2014/12/25/104300
今、Node.jsに起きてることを語る上で、io.jsは避けて通れない話題でしょう。
今回のNode.js アドベントカレンダー 2014の締めを飾るために、このio.jsについて僕が知っている限りの事をまとめて書くことにします。
io.jsを知り、今後"Node"がどうなっていくのかを皆で一緒に考えていきましょう。
またこの一連のio.jsのfork騒動はOSSという特殊なプロジェクトをどう進めていくのがハッピーなのかを知る一つの教材だと思います。OSSに関わっている皆さん、今回も長いですが、最後まで読んでもらえると幸いです。
**Node.jsのForkです。**次のNode.jsの安定版になる、v0.12をForkしています。「アイ・オー ジェイエス」と読みます。名前の由来は木星にある四番目に大きな衛星の名前から取られました。*1
Nodeを使っている人のことをnodersと呼びますが、io.jsを使っている人のことはionians(アイオニアンズ)と呼ぶそうです。
一番大きな違いはプロジェクトの取り組み方ですね。io.jsでは、オープンガバナンスモデルを採用しています。
オープンガバナンスモデルというのは、コアチームがどうやってissueやfeatureを進めるのかをオープンにして、周りから見えるようにして実現していくやり方です。一週間に一度程度のペースでミーティングが開催され、その会議の様子はyoutubeで配信されます。もちろん、コアチームは世界各国に散っているのでFace2Faceでの会議ではなく、Google Hangoutを使ったリモート会議です。基本的には合議制ですが、意見が割れた時はVoteして決めます。60%以上の賛成が得られれば採用されます。
さらに、毎回の議事録はio.jsのリポジトリと一緒に文面で保管されます。
これを追っていけば、今io.jsで何が起きててどんなことが議論されているのかが分かるわけです。
**安定したリリーススケジュールを提供することと、オープンガバナンスによる透明性を確保することにより、他の開発者からコントリビュートをしやすくするのが目的です。**後述しますが、今のNode.jsの一番の問題点は安定したリリーススケジュールが確保できていないことにあります。これを解決する道を模索した結果が今のio.jsなわけです。
他にも目標としては