Dear Great Hackers

  1. インタビュー
  1. タイアップ

OSS活動を自分の仕事に。日立Keycloakメンテナー×Qiita開発マネージャーが語るOSSのやりがいと論点

近年、あらゆる分野でOSS(オープンソースソフトウェア)利活用が高まっています。もはやビジネスは、OSS抜きで語ることができなくなりつつあり、それに伴って、技術畑の人間のみならずあらゆるビジネスパーソンにとって必要なリテラシーになりつつあります。2021年には、経済産業省がOSSの利活用とセキュリティ確保に向けた管理手法の事例集を発行。ビジネス界隈での知見共有も積極性が増しています。

そんなOSS活動にいち早く「企業として」取り組んできたのが、株式会社日立製作所です。2021年10月には同社所属の開発者・乗松 隆志氏がKeycloakの開発プロジェクトのメンテナー(管理者)に就任。関連技術の発展や普及への貢献を加速させています。メンテナーはいったい何をしているのか。企業としてOSS活動を進めるメリットは何か。乗松氏とQiita開発マネージャーである清野 隼史氏にお話を伺いました。

※本記事では、Qiitaの運営会社であるQiita株式会社のことを「Qiita社」と表現し、提供プロダクトのことを「Qiita」と表現します

プロフィール

乗松 隆志(のりまつ たかし))
株式会社 日立製作所
ソフトウェア・サービス開発本部 アーキテクチャセンタ Keycloak メンテナー/Financial-grade API(FAPI)実装リーダー
2001年、日立製作所に入社。通信機器のファームウェアの開発からキャリアをスタートし、2008年頃からOSSに関わるようになる。OSSへのコントリビューション活動を積極的に展開している。Keycloakでの、Mutual TLS Certificate Bound Access Tokensによる、Holder-of-Key Tokenの実装、RFC 7636 Proof Key for Code Exchange(PKCE)の実装。さらに各種トークンに施す署名について、様々な署名アルゴリズムの対応、共通鍵を使用したJWS Client Assertionによるクライアント認証の実装など手がけたものも数多く、海外とも積極的に交流している。OAuth Security Workshop 2020, DevConf.cz 2020など海外の開発者イベントにも多数登壇。2021年10月よりKeycloakのメンテナーに就任している。

 

清野 隼史(きよの としふみ)
Qiita株式会社
プロダクト開発グループ マネージャー
アルバイトを経て、2019年4月にIncrements株式会社(現 Qiita株式会社)へ入社。Qiita Jobs開発チーム、Qiita開発チームでプロダクト開発や機能改善等を担当。2020年1月からQiitaのプロダクトマネージャーに就任。現在はプロダクトマネジメントとメンバーのマネジメントを行う。

日立とQiita、それぞれのOSS活動内容

――まずはおふたりの、現在のOSSとの関わりと、そのきっかけについて教えてください。まずは乗松さん、いかがでしょうか?

乗松:もともとは通信機器のファームウェアや操作するための画面系ソフトウェアなどの開発と、それに付随した研究、あとは鉄道系のスマートメンテナンスシステムの開発などに関わっていました。そこから徐々にオープンソースに携わるようになり、現在はオープンソースの開発やサポートサービスの提供に携わっています。

――どのようなきっかけでOSSに関わるようになったのでしょうか?

乗松:2008年頃、組込機器のファームウェアを開発していたときにLinuxを使うことになりまして。それに付随してオープンソースに関わることになりました。とはいえ、そのときは実際にLinuxのカーネルモジュールを作ったり、ソースコードをいじったりはしていませんでした。設定やスクリプトをどうするのかなど、どちらかといえば、使う側としての関わりがメインでした。
その後、2016年9月頃にOSSソリューションセンタという部署に異動しまして、そこからオープンソースの機能を作って投稿したり、実際の開発を進める立場になりました。

――使う側からスタートして、2016年の異動をきっかけに、実際に作る側になったということですね。

乗松:異動したての頃はまだ開発を進めるという段階ではなく、オープンソースを活用して実際にどのようなビジネスにつなげるか、ということを考えていました。なので、どのオープンソースにするかという点も具体的には定まっていませんでした。そのうち、「足りない機能をこちらから実装してコントリビューションしたらどうか」という話が出てきまして、今に至ります。

――清野さんは、どのようなきっかけでOSSに関わることになったのでしょう?

清野 : 僕がOSSに関わるようになったのは、Qiita社に入ってからです。Qiita社にはマークダウンをパースするライブラリがあります。それをOSSとして公開して、要望をいただいたりプルリクエストをもらうなどして、Qiitaの記事の表現機能をどんどん広げていく取り組みをしています。それ以外にも、社内で使っているパッケージ化可能なライブラリをOSS化していこうという取り組みも進めています。そんな動きの中で、僕もメンバーとしてOSS活動をしているという状況です。

――そもそも、QiitaとOSSの相性がすごく良さそうですよね。

清野 : そうですね。Qiitaはソフトウェアではないものの、知識をみんなで共有して磨いていこうという目的で運営しているサービスです。だから相性は非常によいと思います。例えばQiitaには、記事を書いた本人以外でも改善点を見つけたら記事に対する修正内容を提案し、マージしていく「編集リクエスト」という機能があり、記事へのコメントや質問機能などでディスカッションを行うことも出来ます。

このような記事をみんなで作っていこうという思想は、OSSの思想につながる部分がすごく多いので、会社としてOSS活動に取り組んでいます。

メンテナーに就任して変わったこと/変わらないこと

――乗松さんには2021年2月に対談記事でもお話を伺っているのですが、取材後の2021年10月にKeycloakのメンテナーに就任されました。メンテナー就任のビフォーアフターで変わったこと、逆に変わらないことについて、ぜひ教えてください。

乗松:変わったこととしては、自分からプルリクエストをするよりも、レビューをすることの方が多くなったことですね。たくさんの方に参加してもらい、できるだけマージにつなげていった方が盛り上がると思うので、ここは自主的にやっています。
あとは細かい部分として、Keycloakについてインタビューを受ける際に、他のメンテナーに「こういうことを話すけど問題ないよね?」と確認するようにもなりました。こちらは、間違ったことを発信してはいけないという観点で自主的にやっています。

――意識面での変化も多いんですね。Keycloakのメンテナーは日立の業務として行っていると思うのですが、日々どのように働いているのかを教えてください。

乗松:まずはGitHub上の様々なコントリビューションについて、自分が知見を持っている範囲の投稿がないかチェックして議論に参加したりしています。ほかには、プルリクエストがあったら日々レビューをしていますね。
メンテナーにも様々なタイプがいまして、ある人は画面系が得意だったり、またある人はセキュリティ系の知識が豊富だったり。みんな得意分野が違うので、それぞれの分野のプルリクエストのレビュー、それに議論をしている印象ですね。私自身、メンテナーと言ってもまだ新参者でして、まずは自分が知見を持っている範囲でしっかりと対応して、徐々にその範囲を広げていきたいなと思っています。

また、自分から何か実装するという部分ですが、こちらは日立の方でKeycloakを使ってビジネスをやっているので「あったらいいな」という機能の実装を対象としています。もちろん日立側のニーズに限らず、例えば自分が2016年頃から取り組んできたOpenID Connectのようなセキュリティプロトコルなどについても、Keycloakでもっとサポートできるように実装を進めています。

あとは、機能追加やエンハンスだけではなく、バグフィックスも自分が知見を持っている範囲のものはやっています。一日中こればかりをやっているわけではないのですが、だいたいの活動の軸はこんなところですね。

――乗松さんはFinancial-grade API(以下、FAPI)の実装リーダーもされていると思うのですが、例えばこちらはどのように進められていったのでしょうか?

乗松:セキュリティ系機能の充実は2017年頃からやっているのですが、最初は日立単独で活動していました。FAPIをKeycloakで完全にサポートしようという目標の活動ですが、2020年頃から単独ではなく、日立以外のコントリビューターも参加する形で進めていくというスタンスに変わり、FAPIのサポートが完全に実現したという経緯があります。

定期的にWebミーティングを開催して状況の共有や今後のアクションについて話し合っているのですが、その回数はすでに30回を超えているんですよね。なんの強制力もない中で、よく続いているなと感じます。

ソフトウェア業界全体で考えるべきOSSフリーライド問題

清野 : 乗松さんのように会社業務としてOSS活動をしている人もいれば、個人や業務外でやっている人もいると思うのですが、仕事での活動と個人の活動、それぞれのメリット・デメリットはどのようにお考えですか?

乗松:自分自身が個人でのOSS活動をしていないので難しいところですが、少なくとも仕事だと、どうしても成果が必要になるので、気が引き締まるところはあります。

Keycloakはビジネスとしてやっているので、例えば品質面をしっかりとしなきゃいけないという意識は強く働いていると思いますし、現にテストをしっかり実施していたりしますね。私的にやっていたら、品質よりも面白い機能を考えるところに力を注いでしまうかもしれません。でも個人の活動には、興味のあることを選択できるメリットもあるので、より自由度が高くて面白いのではないかと思います。企業の取り組みとしてだと、どうしても対象のオープンソースが指定されてしまいますからね。

清野 : 逆に、会社でOSSをやるからこそのメリットは何だと思われますか?

乗松:日立は、Keycloak以前にも長年オープンソースに対するコントリビューション活動をしてきました。そのような背景もあって、うまくやれば長い期間をかけてしっかりと活動できるのではないかと思います。もちろん、しっかりと会社のビジネスに沿って認められることが大前提で、ここは会社次第だと思います。

Keycloakについては最初からコントリビューション活動をやろうという感じではなく、オープンソースをビジネスとして考える傍らで投稿などをしていた程度でした。それが積み重なっていく中で認知度が高まり、日立としてもKeycloakを使う利点が出てきたことから、今のような形として定着していきました。

日立製作所では1990年代後半から、Linuxカーネルの高信頼化に貢献。特にThe Linux Foundationでは、創立当初からスポンサーとしてコミュニティのサポートや開発貢献、イベントの運営等に取り組み、OSSの普及促進に尽力してきた(画像:日立製作所公式サイトより)

――会社の場合、独自の製品として開発していくという方法もあると思うのですが、そこをあえてOSS活用で進めていくというのは何故なのでしょうか?

乗松:一般的には自社開発するよりも安価だというメリットが挙げられますよね。

清野 : 一方で、Qiitaを運営する中でも「OSSのフリーライド問題」に触れる機会も多く、難しいところだなと感じますね。

――OSSのフリーライド問題とは、どういうことでしょうか?

清野 : 要するに、基本的に無料のOSSに対して、企業や個人から要望がいっぱい来るけど対応者の報酬はゼロだという問題です。最初は楽しくてやっていたのに、途中から無報酬でやらされる形になってしまい、結果としてOSS活動自体が終了になったり、ライブラリ自体が停止になったりということがたびたび起こっています。
最近だと、メンテナーの方があえてバグを入れて相当数のエンジニアに影響を与えるという事件がありました。まさにOSSフリーライド問題が表面化したものだと言えます。

乗松:1990年代などもオープンソース自体はあったと思いますが、現在のようなビジネス活用は積極的になされていませんでした。ビジネスとして成立するようになってきたのは、ここ最近のことだと思います。なので、それに合わせてコントリビューションする側のスタンスも、変わっていくべきなんじゃないかなと思います。フィーを発生させるなどの「スポンサード」はまだまだハードルが高いかもしれませんが、例えば自分みたいに、企業がコントリビューションするのも1つの形ですよね。

清野 : Qiitaとしても同じような思想で、何かできることはないのかと日々模索しています。ソフトウェア業界全体の課題意識が上がってくれたらと思いますね。

乗松:オープンソース活動への貢献が広まって、もっとアピールされるようになれば、一般的な認知が広がっていくと思います。そうすれば会社として活動しやすくなると思うんですよね。逆にそうでないと、会社としてお金をかけて活動することは、なかなか認めてもらえないかもしれませんね。

――OSSフリーライド問題は由々しき事態ですね。この辺りレギュレーションは何かあるものなのでしょうか?

乗松:聞いたことがないですね。一種のトレードオフな気もするので、人が集まらなくなっていきそうですね。

清野 : 僕も聞いたことがないのと、OSS活動は基本的には「慈善ドリブン」なので、例えば法律のような規制が入るようになると、逆に今まで発展してきた良いものが萎縮してしまうような気がします。

何かしらの反応が世界中からあるのは純粋に楽しい

――ここで改めて、おふたりが感じる、OSSに関わることの楽しさや面白さ、魅力について教えてください。

清野 : 作ったものを使ってもらってフィードバックをもらい、世の中が良くなっていく。Qiitaの思想とも似ているのですが、その活動自体がOSS活動自体のやりがい・意義・モチベーションだと感じています。Qiitaの中をみてみても、OSS活動をやっていこうという雰囲気は出しつつも、無理やりではなく、まさに協創のスタンスで取り組んでいます。この辺りが、OSSとしての根幹をなしている意義だと思います。

――「これは嬉しい!」と感じられたエピソードなどはありますか?

清野 : 特定のエピソードではないのですが、そもそも、イシューをもらえたりすること自体がありがたいと感じています。それだけそのライブラリを使っている人や期待している人がいることが可視化されているので、公開する意義が見えてきます。運営だけだとどう作っていくかのアイデアが出ないときがあるのですが、ユーザーの方から実装したものを提案してくれたりするので、より良いものを作れているという実感もあります。

乗松:自分がやったものに対しての議論や、プルリクエストを出したらレビューしてくれたり、実際に自分の作った機能に対するイシューやクエスチョンがきたり。世界中の人から反応があると、ちょっとびっくりしますね。あと、自分の作った機能に上乗せして機能拡張してくれるのも、改めて考えるとすごいことですよね。
いずれにしても、何かしらの反応が世界中からあるのは、純粋に楽しいですね。

――そんなOSS活動に関わるエンジニアとして、日立という職場の良いところや強み、好きなところを教えてください。

乗松:日立という職場で考えたとき、活動として認めてくれているのが一番ありがたいですね。ビジネスとしてやっているので、しっかりと成果を出して貢献する必要がありますが。例えばFAPIサポートについても、できなかったら意味がないので、成功して本当に良かったと思います。

――日立のメンバーとして、どんな人と一緒に働きたいですか?

乗松:オープンソース活動はある意味で非常にグローバルな環境を相手にしますので、国外でのビジネスをやりたいという気概を持った方がいいですね。プログラムの得意不得意はあまり関係がないかも知れません。あとは、あまり内にこもらないで外に出たい方。多角的に意見がほしい方も適しているのではないかと思います。

グローバルに活躍したい方と、ぜひ一緒に仕事したい

――今後のおふたりの目標について、それぞれ教えてください。

乗松:オープンソースに関連する話だと、先日Keycloakのメンテナーになったばかりなので、メンテナーとしての活動を安定して続けていきたいですね。他のメンテナーもいる中で信頼を重ねていき、自分ができる範囲を広げていきたいと思っています。
それ以外では、日立はますますグローバルへのビジネス展開に舵を切っていますので、その流れに乗る形で自分たちの活動をビジネスにつなげられたらと思っています。

清野 : OSS活動に対して、Qiitaというプラットフォームの運営としてどのような還元ができるのか。運営としての支援のあり方を考えて実装していきたいと思います。

――ありがとうございます。それでは最後に、読者の皆さまに向けてのメッセージをお願いします。

乗松:先ほどもお伝えしたとおり、グローバルに興味がある人にとって、日立はうってつけの環境だと思います。オープンソースは国も立場も問わないので、ぜひグローバルで仕事したいというマインドを持っている方と一緒に仕事をしたいなと思っています。

清野 : 日本だと、OSS活動をしている方をメンバーとして受け入れてお金を出している会社は、まだまだ少ないです。そこを日立という大企業がやっていくことで、後に続く企業も増えるでしょうし、世の中や業界に対する影響力も大きい。ソフトウェア業界全体にとっての未来につながっていると感じました。

編集後記

OSSは現代社会では欠かせない様々なデジタルインフラの基礎になっているものです。それを支えているのが一人ひとりのコントリビューターだと考えると、対談でも話題に上がった「現代にフィットしたコントリビューターへの還元スキーム」は、これからますます重要かつ不可欠な仕組みになってくると感じました。だからこそ、その先駆けとして企業でのOSS活動を推進する日立の取り組みは、大いに参考になるとも感じた次第です。グローバル規模でのOSS活動に熱量のある方にとっては、同社は非常に魅力的な環境だと言えるでしょう。
なお、日立のOSS活動については、以下の記事でも言及していますので、ぜひ併せてご覧ください。上の記事は本文でもリンクをつけたとおり、今回お話を伺った乗松さんも対談者のお一人として登場されています。
日立OSSエンジニア×Qiita元CTO。なぜ日立製作所がOSSに注力するのか?
日立のエンジニアライフの実態とは?超エンジニアドリブンな、OSSセンタのワークスタイルに迫る。

取材/文:長岡武司
撮影:平舘平


「Qiita×HITACHI」AI/データ×社会課題解決 コラボレーションサイト公開中!

「Qiita×HITACHI」AI/データ×社会課題解決 コラボレーションサイト公開中!
日立製作所の最新技術情報や取り組み事例などを紹介しています
コラボレーションサイトへ

日立製作所の人とキャリアに関するコンテンツを発信中!

デジタルで社会の課題を解決する日立製作所の人とキャリアを知ることができます
Hitachi’s Digital Careersはこちら

関連記事