photo via GitHub
GitHubがJavaScriptのパッケージマネージャーnpmを買収
ソースコードを管理運用するプラットフォーム
GitHub が、プログラミング言語 JavaScript のパッケージを管理運用するプラットフォーム
npm を買収した。
GitHub は、世界最大の、ソースコード ホスティング サービスで、ソフトウェア開発プラットフォームでもある。npm(Node Package Manager の意味)は、Webページ上で動くプログラミング言語 JavaScript の開発用部品を配布する最大のサービスだ。
この GitHub は、Microsoft の傘下にある。Microsoft は、GitHub だけでなく npm も押さえることで、さらに巨大な開発者コミュニティを保有することになる。
Microsoft は、サティア・ナデラ氏が CEO になって以降、急速に開発者との親和性を増している。20年前には、Microsoft を蛇蝎のように嫌っている開発者が多かったが、今は改善している。Google に「Web」、Amazon に「クラウド」という大きな拠点を押さえられた Microsoft だが、「開発者コミュニティ」という土地に巨大な陣地を築きつつある。
今回は、開発者目線から見た、この方面の市場の戦線について少し書いてみる。
npm とは、Node Package Manager の意味だ。日本語に訳すなら「Node 向けのパッケージ管理ツール」といったところだ。ここで出てくる「Node」は固有名詞だ。「Node.js」という、サーバー環境などで使う JavaScript の実行環境を指す。
この npm を使うと、開発中のプログラムに、クラウド上に公開されているプログラムの部品を簡単に組み込むことができる。たとえば npm をインストールした環境で、「npm install hoge」という命令をコマンドラインで実行すると、「hoge」というパッケージをダウンロードして、自動でインストールしてくれる。
その際、「hoge」が他のプログラムを利用していると、それらもまとめてダウンロードしてインストールしてくれる。さらに、それらのプログラムが別のプログラムに依存している場合も、芋づる式にまとめて導入してくれる。開発者にとっては、非常に便利なサービスだ。
npm には、多くのパッケージが公開されており、様々なプログラムの部品が利用できる。これらのパッケージを適切にインストールしていけば、最小の労力でプログラムを書くことができる。多くの人々がパッケージを公開しており、プログラマーたちは、それらを利用し合うことで、世界的に生産性を上げている。
npm のようなパッケージ管理システムは、他のプログラミング言語でも存在している。古いところでは、Perl というプログラミング言語の
CPAN(シーパン、Comprehensive Perl Archive Network)がある。CPAN は1995年から活動をおこなっており、初期のWebサイトの多くが Perl で書かれていたために、非常に活用された。
日本初のプログラミング言語である Ruby には、
RubyGems がある。その他多くのプログラミング言語に、こうしたパッケージ管理システムがある。そして、人気の高いプログラミング言語 JavaScript を扱う npm は、登録されているパッケージの数も群を抜いている(
Modulecounts)。
私自身も npm をよく利用する。npm の各パッケージのページには、ソースコードの置き場所が書いてある。それらは、たいてい GitHub のURLだ。「コードを直接見たい場合は、GitHub を見てね」というわけだ。
買収の結果、npm と GitHub の2つのサービスは、長期的には統合していくそうだ。GitHub の中に、npm が取り込まれるのだろう。多くの場合、両サイトを横断することになるので、利用者としては歓迎したい気持ちである。