COPY
のフォーマットを拡張できるようにするためのPostgreSQLにパッチを送っている須藤です。本命のパッチはまだマージされていないのですが、マージされやすくなるといいなぁと思って関連するコードのパッチを書いたり、他の人のパッチをレビューしたりしていたらPostgreSQL 17 Contributor Giftをもらいました。
PostgreSQLはContributor Giftsとして各メジャーリリースごとにコントリビューターにちょっとしたものを贈っているようです。Contributor GiftsのWikiページによると、毎年違うデザインのコインを贈っているようです。
これまでいろんなプロダクトに関わってきましたが、ちょっとした贈り物をしているのはPostgreSQLしか知りません。すごいですねぇ。こういうこともPostgreSQLコミュニティーを強くしているんでしょうねぇ。(私は贈り物をもらったからがんばるとかもらうためにがんばるとかという気持ちにはならないのですが、こういうことが励みになる人がいるだろうということは想像できます。)
ただ、PostgreSQLの開発に参加するのって結構大変なんですよねぇ。
COPY
のフォーマットを拡張できるようにしたくて1年ちょい前からパッチを送ってメーリングリストでやいのやいのしていますが、そこらへんの人に気軽にPostgreSQLの開発に参加してみなよ!と言うのにはちょっと抵抗があります。パッチを送ってからマージされるまでに数週間から数ヶ月かかることは普通にありますし、年単位になることも驚くことではなさそうです。数週間・数ヶ月単位で反応がなくて進展しないことも驚くことではなさそうです。世界中の人達が一緒に開発しているプロダクトではそんなに驚くことでもないのですが、もっとスピーディーに進むプロダクトはいろいろあるので、そういうプロダクトに慣れていると、この進み方に慣れることは難しいかもしれません。たとえば、Apache ArrowはPostgreSQLほどゆっくりではなかったですが、それでも私がこれまで関わってきたプロダクトに比べるとゆっくりしていたので、私はペースをつかむまでしばらくかかりました。
また、長期間パッチを維持することになりがちなので、何度もrebaseしないといけません。そしてコンフリクトの解消に意外と時間がかかったりします。git am
/git format-patch
なども使いこなす必要があります。
という感じで、時間がかかりがちなので、途中でくじけちゃうかもなぁと思うのです。そういうわけで、気軽にPostgreSQLの開発に参加してみなよ!というのにはちょっと抵抗があります。もちろん、がんばりたい人は応援するので、なにか私が助けられそうなことがあれば私に相談してください。私はPostgreSQLの開発にはまだそんなに詳しくないので助けられることは少ないですが、私が助けられることは助けますし、助けられないことは他の詳しい人を紹介します。