近年、JavaScriptでは膨大な数のライブラリーとフレームワークが現れては消えていきました。プロジェクトでどのソフトウェアを使用するかについて、重要な判断を下すことが難しい場合があります。なぜなら、メンテナンス担当者がサポートできなくなり、最悪の場合、放棄される可能性があるライブラリーに依存するリスクが常に存在するからです。
JavaScriptエコシステムのサポートおよび開発に関する問題に取り組むために、おなじみのjQuery FoundationがJS Foundationとしてリニューアルしました。1年以上前に、jQuery FoundationがDojo Foundationと合併したことを思い出してください(誰かが「Foundation」と言うたびに1セントもらえるのだったらよかったですね!)。
財団の将来
JS Foundationの理事を務めるKris Borchersは、発足にあたって次の声明を発表しました。
Linux Foundationの主な任務は、世界最大の共有技術の投資を創出することです。JavaScriptは非常に重要なプログラミング言語であり、周辺には数多くのオープンソースプロジェクトが生まれています。
これらのプロジェクトの多くはインターネットの基盤には必要不可欠なので、Linux Foundationは安定性を確保するために構造化されたサポートおよび中立的な管理を確実に実施することが重要であると考え、それがJS Foundation発足の理由だと捉えています。
2つの財団を1つに統合するのは、利益や私欲を追及しているわけではありません。少し立ち止まってそれに感謝しましょう。統合は、次の2つのうちの1つ、または両方を意味していると考えられます。
- JavaScriptは限界点に達している。優れた開発者が休暇を取っている間にワークフローが変わってしまうこともあるので、もはや最近のテクノロジーに追いつくのは困難になった。JavaScriptの混沌とした世界に秩序をもたらすには、バットマンの助けが必要だ
- jQuery FoundationおよびDojo Foundationは同様の目標と価値を持っているため、連携するのに適していると考えられた
最初のシナリオが技術コミュニティ内のさまざまなミームやジョークが背景にあることから、1つの理念できちんと整理して協力することは、健全なステップだと言えます。分散化はオープンソースコミュニティーで高く評価されていますが、実際には善意ある独裁者によってプロジェクトの状態(この場合はエコシステム)を大きく改善できるということも広く認められています。
最近の記事では、JavaScriptが絶えず変化していることが批判され、ネタにされていました。誇張されてはいますが、そのメッセージはかなり的を射ています。しばらくJavaScriptを使用しておらず、最近になって再び使い始めた場合、とほうもない学習を強いられるかもしれません。おそらく、JS Foundationが問題に取り組める場所はここにあるのではないでしょうか。
財団のガバナンス
財団は取締役会の理事の任命と、技術面全体を取り扱う技術諮問委員会(取締役会からは独立している)という2つの部門を設けることで、ビジネスと技術の意思決定を分離しています。賢明だと言わざるを得ません。
貢献者ライセンス同意書(CLA)
ほかの多くのオープンソースプロジェクトと同様に、JS FoundationもCLA(Contributor License Agreement:貢献者ライセンス同意書)を設けています。この規約はJS Foundationまたはそのプロジェクトへのすべての寄付に適用されます。一部の人びとにとっては恐ろしいことかもしれませんが、今日ではよくある一般的な慣習です。ライセンスで分からないことがあれば、2015年に私が執筆した『An Introduction to Open-source Licenses』を参照してください。
プロジェクト
JS Foundationはさまざまなプロジェクトの本拠地となっており、そのリストに名を連ねるプロジェクトはどんどん増えています。もっとも人気があるのが、jQuery(驚きです!)、Grunt、RequireJSです。さらにリニューアルの前にも、LodashやESLintなど、かなりの数のプロジェクトがjQuery Foundationに参加していました。新しいプロジェクトには、Mocha、Moment、Webpackがあります。
すべてのプロジェクトのリストは、JS Foundationのサイトで参照できます。
王国の統一
さらに、JS FoundationとNode.js Foundationは同様の目標を共有しているため、密接に連携しています。興味深いことに、JS Foundationはサードパーティーのパッケージサポートを促進する立場になる可能性があります。Node.js Foundationがまだ取り組んでいないことです。
(原文:Quick Read: The JS Foundation)
[翻訳:市川千枝/編集:Livit]