jq が jqlang organization に移譲されました

JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦めて無言で閉じられるといった状況でした。

jqは広く使われている有用なツールであるにも関わらず、メンテナンスがこのように滞っていることを不安に思う人は多く、そういう声は多く寄せられていました。 しかし、メンテナの二人が忙しく時間が取れないことや、オリジナル作者と連絡がつかないことなどもあり、うまく話が進みませんでした。 github.com

こういう状況ではありますが、メンテナのNico Williams氏は去年末からorg移行を構想していたようで、jqlang organizationを作成したり、リポジトリをforkしてGitHub Actionsを整備したりしていました。 彼はオリジナル作者の意思を確認できるまでは元のリポジトリを公式としたままgithub.com/jqlang/jqで開発を進めて必要なものをオリジナルのリポジトリにバックポートすることを考えていたようなのですが、先週オリジナルの作者であるStephen Dolan氏が突然降臨して、リポジトリを完全に移譲するという意思を示しました。 github.com

ここからの展開は早く、当初懸念されていたGitHub Pagesのjq manualのリダイレクト方法も編み出されて、リポジトリのjqlang organizationへの移譲(transfer)があっという間に完了しました。 古いリポジトリのissueやPR、リリースのURL、マニュアルなど全て新しいリポジトリにリダイレクトされています (一部の実行ファイルのダウンロードURLのリダイレクトは対応できなかったようなので、失敗するようになったらGitHub Releasesから直接ダウンロードしてください)。 とにかく晴れて、jqは個人のリポジトリからjqlang organizationの管理に移行したのです。

organization管理下への移行というのは形式的なものに見えるかもしれませんが、新たに六名がメンテナとしてメンバーに加えられ、持続的なメンテナンスを目的としています。 そしてありがたいことに、他薦と自薦により私もメンテナとして招待されて参加しました。 gojqの作者としてjqの仕様には詳しいと自負しておりますが、jqのメンテナになれたことはとても嬉しかったです。 さらに、メンテナ同士は素早いコミュニケーション (とはいえ時差はあるのですが) のために、Discordでチャットできるようになりました。 滞ってしまったメンテナンスをどう立て直すか、次のリリースに向けた議論を進めていきたいと思います。

jqの開発には、C言語はもちろんのこと、パッケージング、マルチプラットフォームなCIなど様々な知識が求められます。 jqの持続的な開発のために、自分にできることから貢献していこうと思っています。

\広告です/