グローバルでエンタープライズ利用が進むPostgreSQL。その普及を支えているPostgreSQL開発コミュニティーとは? コミュニティーでの開発プロセスやルールは?富士通の若手技術者が、コミュニティー活動歴10年以上のエキスパートにインタビュー。
「[第2部]PostgreSQL開発は世界交流の場~技術者として成長できるコミュニティー~」はこちらへ
[2015年4月24日掲載]
こんにちは。今日はPostgreSQL開発の初心者代表として、開発のエキスパートであるArulさんにPostgreSQL開発コミュニティーの実像をいろいろお聞きしたいと思います。
よろしくお願いします。PostgreSQL開発のことだったらなんでもお答えしますよ。
ありがとうございます。ではさっそく最初の質問ですが、まずはPostgreSQLの現状についてお聞きしたいと思います。日本では今、PostgreSQLのエンタープライズ利用が急速に進んでいるのですが、オーストラリアではいかがですか?
オーストラリアでも同じ状況ですね。多くの企業で、基幹システムに限らずPostgreSQLの利用が進んでいます。コスト削減や他のデータベースとの互換性の向上など、PostgreSQL導入のメリットはたくさんある。それが高く評価された結果でしょうね。特に通信分野での導入が顕著です。通信会社がデータマートでPostgreSQLを使っている事例がたくさんあります。民需だけでなく、官公庁でも利用が広がっていますね。
やはりそうですか。PostgreSQLをエンタープライズで…という需要は、日本だけでなくグローバル規模で高まっているようですね。 それでは次にArulさんが長年活動されているPostgreSQL開発コミュニティーについて聞かせてください。
まずコミュニティーについてざっとご説明しましょう。
設立は1995年です。以来約20年、新機能の開発や勉強会などの交流を行い、オープンソースの開発グループとしてグローバルレベルで成長してきました。
技術的な取り組みだけでなく、ユーザーの拡大やPostgreSQLの価値を高めることを目的としたイベントなどのプロモーションも行っています。非営利組織なので、主に企業からの寄付や献金をもとに活動しています。
開発は主にメーリングリストを使って進められています。何しろ世界中から開発者が集まっていますからね。
それだけ大きなグループをどうやって舵取りしているのでしょう?組織というか、体制のようなものはあるのですか?
ええ、組織の中で中核的な役割を果たしているのが、コアメンバーによる委員会です。コアメンバーは現在7名で、彼らがPostgreSQLの方向性や戦略、重点テーマ、開発すべき機能などを決めています。
そして、どんなソースコードや機能を加えていくかといった具体的なことを決定しているのが、コミッターと呼ばれる人々です。現時点でコミッターは世界に15人ですね。うち4人は日本人ですよ。
日本人のコミッターが4人もいるとは…、ちょっと嬉しいです。
ええ、日本は2番目にコミッターが多くて、最も多いのがアメリカです。
コミッターにはコアメンバーも含まれていて、まずはコミッターになり、そこからコアメンバーになっていく…、そんな流れになっています。
どうしたらコミッターになれますか? やはりそれまでの開発実績で決まるのでしょうか?
そうですね、多くの機能を開発した実績はもちろん評価されます。それ以外にも、他の開発者とディスカッションしてアイデアを出したり、他の開発者が開発したソースコードを検証したり…。そういったコミュニティーへの貢献を積み重ねていくことが必要ですね。コミッターやコアメンバーに活動が評価されると、「コミッターになってほしい」という依頼がくるというわけです。
【PostgreSQL開発コミュニティー体制図】
開発実績だけでなく、さまざまな角度で評価してくれるというわけですね。
コアメンバーやコミッターには制限人数はあるのですか?
いえ、制限はないです。むしろ増えていますね。
人数が増えているのであれば私にもチャンスはあるでしょうか(笑)。
ええ、もちろん誰にでもチャンスがありますよ(笑)。
メンバーは常に変化していますし、コアメンバーの数が変わることもあります。
Arulさんご自身のPostgreSQL開発コミュニティー活動について聞かせてください。
これまで多くの機能の開発に取り組んで、コミュニティーに貢献していらしたと聞いています。PostgreSQLの開発を始めたのはいつ頃ですか?
もう10年ほど前になりますね。PostgreSQLを使った、富士通の開発プロジェクトへの参加がきっかけです。そこで、コミュニティーにいくつか機能を提案したのが、はじめてのコミュニティー活動でしたね。
結果、当時私が開発した6つの機能がPostgreSQLに加えられました。
なぜそれらの機能を提案しようと思ったのですか?
当時、PostgreSQLはまだ成長途上でニッチなソフトウェアと考えられていました。一方、富士通の開発プロジェクトは、PostgreSQLをもっと多くの企業で利用されるものにしたかった。
そこでエンタープライズ利用に必要な機能をいくつか分類・整理して、コミュニティーに提案してみました。私たちの提案は、コミュニティー内でもすぐに必要な機能として認知され、承認もスムーズでしたね。
「PostgreSQLをもっと多くの企業で利用されるものにしたかった」ということは、Arulさんが開発した機能は、エンタープライズ利用する上でニーズの高い機能だったということでしょうか?
はい、その通りです。あのプロジェクトをきっかけに、PostgreSQLの適用範囲を広げることに貢献できました。コミュニティーに大きなメリットをもたらすことができたと考えています。
「PostgreSQL適用範囲を広げることができた」ということを、なにか具体的な実感として感じられるような出来事はありましたか?例えば開発者や企業の反応など…。
そうですね、私たちが開発した機能をリリースしたあと、積極的にコミュニティーに参加するようになったICT企業や開発者が増えたことでしょうか。
コミュニティーでの開発は、基本的にメーリングリストを使ってメールベースで行われます。なので何人くらいが議論に参加しているか、何人くらい新しい開発者が加わったかがつかめるのですよ。PostgreSQLの普及に勢いがついたのは確かだと思います。
メールで直接反応や評判を実感できるのはいいですね。特に評判の高かった機能はありますか?
Tablespacesですね。コミュニティーのメンバーと何百回とメールをやりとりしましたから。
それだけ関心が高かったということです。メンバーのほとんどがTablespacesの機能を加えることに賛成してくれましたし、開発者からも実装の問題についてたくさんの質問がきました。
さぞ活発でエネルギッシュな雰囲気だったんのでしょうね。コミュニティーでの開発にはやりがいを感じていますか?
もちろん。私が開発した6つの機能はバージョン8.0向けだったのですが、8.0はその後長い間PostgreSQLの主流バージョンとなりました。エンタープライズ向けの機能を多く搭載したバージョンが長く主流だったおかげで、ユーザー層はかなり拡大したと思います。
自分が開発した機能でPostgreSQLの可能性が広がって、世界中のユーザーによろこんでもらえる…、やりがいはとても大きいですね。
「[第2部]PostgreSQL開発は世界交流の場~技術者として成長できるコミュニティー~」はこちらへ
本ページに記載された内容は、掲載日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。