Apache Arrowの開発に参加している須藤です。Apache ArrowのJavaScript実装のバージョン21.0.0をリリースしたので紹介します。
背景
Apache Arrowはいろんなプログラミング言語で広く使えることも大事にしているので、各種プログラミング言語用の実装があります。
もともとは https://github.com/apache/arrow の中で各種言語の実装を管理していました。しかし、 https://github.com/apache/arrow のメンテナンス・リリースコストが高くなってきました。そのため、メンテナンス・リリースコストを分散するために言語ごとに別々のリポジトリーに分離していっています。
JavaScript実装は https://github.com/apache/arrow-js に分離することになりました。関連議論はここらへんです。
- [DISCUSS] Split JS release process
- [Release] Split JS to its own repository · apache/arrow · Discussion #45943
- [VOTE] Split JS implementation and Release Process
分離してからせっせとリリースの準備を進めていたのですが、ようやく、今日、分離したリポジトリー https://github.com/apache/arrow-js からリリースできました!やったよ!
21.0.0の変更点
新しいバージョンは21.0.0とメジャーバージョンアップになっています。これは、非互換の変更があるからです。どんな変更かというと、すでにEOLになっているNode.js 18のサポートをやめたという変更です。
それ以外は依存ライブラリーのバージョンをあげたくらいでそんなに大きな変更点はありません。
変更のリストを見るとそれなりにありますが、ほぼ、リリース関連と依存まわりの整理です。
今回のリリースでは新しいリポジトリーで開発を進めていける基盤を整えたかったのです。
これから
このリポジトリーの分離と、分離されたリポジトリーからのリリースは、私が結構がんばった感はあるのですが、私はJavaScriptに詳しくありません。そのため、JavaScript実装の機能を追加するとかバグを直すとかレビューするとか各種開発用ツールを整備するとかをがんばれる気はしていません。
たとえば、インテグレーションテスト中にクラッシュすることがあるとかはCIが不安定になるので直したいのですが、ちょろっと直せる気がしません。Yarn 1から移行しようとかはやればできる気はしますが、時間がかかりそうです。あと、いろいろ依存関係を削っていきたい(gulpってまだ必要?とか)のですが、JavaScript界隈の最近のトレンドをわかっていないので、時間がかかりそうです。
ということで、世の中にはJavaScriptが得意な人たちがそれなりにいそうなので、そういう人たちに開発に参加してもらいたいなぁと思っています。半年とか一年とか継続的に開発に参加していればApache Arrowコミッターになれる気はします。私が推薦するかもしれませんし、他のPMCメンバーが推薦するかもしれません。
まとめ
Apache ArrowのJavaScript実装の新しいバージョンをリリースしたので一緒に開発する人を募集しました。
それはそうと、Apache ArrowのJavaScript実装のリリースをがんばった私にApache Arrow関連のサポートを頼みたいという場合はクリアコードのApache Arrowサービスをどうぞ。