オープンソースソフトウェアという言葉と、あの大手スーパーマーケットWalmartが頭の中で結びつく人はあまりいないと思うが、同社のイノベーション意欲旺盛な技術開発部門WalmartLabsはこれまでにも、さまざまなオープンソースプロジェクトを一般公開している。その中でいちばんおもしろいと思えるのがDevOpsプラットホームOneOpsだが、今日(米国時間10/3)はそれと同等に意欲的なプロジェクトを立ち上げた。
Walmartのeコマース部門Walmart.comは、今や月間ビジター数が8000万、販売品目1500万に達する。そこが昨年1年間をかけて、React(react.js)とNode.jsに移行した。その移行過程でWalmartLabsのチームがWalmart.comのために作ったReactベースのアプリケーションプラットホームElectrodeがこのほど、オープンソースになった。
デベロッパーは、Electrodeが提供しているいくつかの定型句的なReactコードに自分なりに手を加えて必要なモジュールを作り、それらの機能をNodeで作るアプリケーションに加えていく。たとえばそれは、Node.jsアプリケーションの構成を管理するツールや、アバブ・ザ・フォールド(above-the-fold)を素早く表示するReactコンポーネントなどだ。〔above-the-fold, アバブ・ザ・フォールド, ページの最上部、スクロールしないで見れる部分。 〕
チームによると、このプロジェクトにはいくつかの特定の目標があり、それらはほかの企業の問題解決にも役立つはずだ、という。Electrodeは社内のデベロッパーがアプリケーションを早く作れることが目的であり、彼ら自身がこれまでの経験の中で開発してきたベストプラクティスに従った、堅実な構造をそのまま利用できる。
WalmartLabsの技術部長Alex Grigoryanはこう語る: “Electrodeはとりわけ、われわれが作るアプリケーションのパフォーマンスとデベロッパーの生産性を上げた。オープンソースにすることによって、コミュニティがそれをさらに良くしていくことを期待したい。もちろんそれは、うちだけではなく、これを使うデベロッパー全員にとってね”。
このプラットホームは、できるかぎりモジュール的な構造にするよう努めた。その結果それは、コア、モジュール群、ツール類、という三つの部分から成り、それぞれを単独で利用することもできる。
Electrode今、WalmartでWalmart.comを動かしているが、今後はSamsClub.comなど、Walmart社のそのほかのWeb資産にも適用していく意向だ。Electrodeは昨年の12月に発足したプロジェクトだが、Grigoryanによると、プロジェクト自身は若くても内部で大量のオープンソースプロジェクトを利用している。オープンソースコミュニティの助けがなければ、これだけのものは到底作れなかっただろう、と彼は言う。
Electrodeに移行する前Walmartは主に、Thorax(Backbone.jsとHandlebars.jsによるフレームワーク)と、Javaを使っていた。
WalmartLabsがこれまでに発表したオープンソースプロジェクトはおよそ140あり、Electrodeもその仲間に加わる。まさしく、「今やすべての企業がソフトウェア企業だ」と言われる由縁である。Walmartのような一見保守的な企業でさえ、オープンソースの意義と効用に目覚めるのだから。
Grigoryanは述べる: “うちはいつも、大量のオープンソースを利用しているから、そのお返しをすることをつねに念頭に置かなければならない。Electrodeはアプリケーションのパフォーマンスとデベロッパーの生産性の両方を上げるから、オープンソース化する意義が十分にある。そしてまた、オープンソースのコミュニティによって、うちばかりでなく、それを使うほかのデベロッパーの役に立つ改良改善が為されることも、働きかけていきたい”。