トップ画像_予定_

オープンソース誕生“以前”を知る増井雄一郎氏に訊く、OSSコミュニティの現在地と未来


「才能が公正に評価され、どこでも誰とでも働けるプラットフォームを作る」–––オープンソースプロジェクトのための報賞金サービス『IssueHunt』を開発・運営するBoostIO株式会社のミッションを達成するためには、いかなる社会変革が必要なのでしょうか。オープンソースを日本の“文化”へと昇華させるべく、先進的な取り組みを行う企業に話を伺っていきます。
今回は、Product Founder & Engineerの増井雄一郎氏に話を伺います。複数の個人プロジェクトを手がける傍ら、講演・執筆活動も行う増井氏。連続起業家としての一面も持ち、2018年まで株式会社トレタの共同創業者 / CTOを務めていました。BoostIOのCo-founder/CEOである横溝一将が聞き手を務め、同Co-founder/CTOの崔俊英も交えながら、「オープンソース」という言葉すら生まれていなかった頃からエンジニアとして活動してきた増井氏に、OSSコミュニティの軌跡と展望を訊きました。
構成:小池真幸モメンタム・ホース) 写真:Photo TAISHO

オープンソースの“生き字引”が語る、GitHub登場の衝撃

横溝一将(以下、横溝):増井さんは、黎明期からオープンソースに取り組まれているうえ、僕がよく提唱している「優しい独裁者がいる社会主義」という構想にも共感してくださっています。今日はお話を伺う機会をいただけて、嬉しい限りです。まず、簡単に自己紹介をお願いしたいのですが、オープンソースに携わるようになったきっかけから教えていただけますか?

増井さん画像

Product Founder & Engineer・増井雄一郎氏
「風呂グラマー」の相性で呼ばれ、トレタやミイルを始めとしたB2C、B2Bプロダクトの開発、業界著名人へのインタビューや年30回を超える講演、オープンソースへの関わりなど、外部へ向けた発信を積極的に行なっている。「ムダに動いて、面白い事を見つけて、自分で手を動かして、咀嚼して、他人を巻き込んで、新しい物を楽しんで作る」を信条に日夜模索中。日米で計4回の起業をしたのち、2018年10月に独立し"Product Founder"として広くプロダクトの開発に関わる。趣味は、最近始めたDJ。呼ばれればどこでも行きます。(masuidrive projectsTwitter

増井雄一郎(以下、増井):1998年に「オープンソース」という言葉が生まれたのですが、その前から近しい取り組みをしていた記憶があります。
高校に入学した1991年頃、オープンソースはおろかインターネットすら普及していなかったのですが、趣味でプログラミングをはじめました。そのうち雑誌への投稿なども行うようになり、90年代半ば頃には、ちょっとしたアプリを書いて公開していた記憶があります。当時は「オープンソース」という言葉もなかったので、「フリーソフトウェア」と呼ばれていました。

横溝:オープンソースが生まれる前から!すごいですね。

増井:その後は2002年にPHPで動作するウィキクローン『PukiWiki』のチーム立ち上げをはじめ、いくつものオープンソースプロジェクトに携わってきました。現在でも、Slack用勤怠管理Botの『みやもとさん』のように、数年に一度はオープンソースでプロダクトを公開しています。

横溝:ありがとうございます。オープンソースの黎明期と比べ、現在のOSSコミュニティはまったく違う世界になっていると思います。特にどのような点が変わったと思いますか?

増井:10年前にGitHubが登場してから、オープンソースに携わる人の中でのヒエラルキー(上下関係)が少なくなりましたよね。
以前はオープンソースにパッチを提供したいと思ったら、自分でダウンロードして書き換えたパッチファイルをメーリングリストに投げ、「コミッター」と呼ばれる人たちにレビューして取り込んでもらわなければいけなかった。プロジェクトごとにローカルルールもあったので、コミッターを説得するために必要な労力が大きかったし、メーリングリストだと過去ログも追いにくくてルールが不明瞭でした。過去に何度もリジェクトされたパッチが上がってくることもありましたしね。

横溝さん

BoostIO株式会社 Co-founder/CEO 横溝一将
福岡の大学在学中にシステムやアプリケーション受託の会社を起業し、その後上京。その後会社として作っていたBoostnoteをオープンソース化し、現在はGitHubスター約15,000を獲得している。共創してくれているコミュニティの方々に何か恩返ししたい思いや、オープンソースエコシステムが抱える課題をIssueHuntに落とし込み、グローバルなメンバー達とともに世界へ挑戦している。

横溝:オーナーとコントリビューターの間のヒエラルキーが、GitHub“以後”はなくなったと。

増井:はい、すごくフラットになりました。あいかわらず絶対的なオーナーがいるケースもありますが、ライセンスや運用ルールが明文化され、開発への参加が容易になりました。折り合わなかった場合に、分家を作るforkもカジュアルに行えるようになりましたし。

オープンソースの源流は「伽藍とバザール」にあり

横溝:民主化されたことは非常にポジティブだと思いつつ、一方で弊害もある気がしていて。誰でも参加できるようになったがゆえに、プルリクエストの質が著しく低下した一面もありますよね。

増井:ルールを設けてなんとかするしかないですよね。テストを書いていないパッチは一切受け付けないオープンソースプロジェクトもありますし、『GitHub Actions』や『Travis CI』によって自動テストが回せる仕組みも整いつつあります。こういうエコシステムによってオープンソースの品質は年々上がっていると思います。

横溝:2018年11月にはGitHubのリポジトリ登録数が1億件を超えたと話題になりましたが、オープンソース自体の数は増えていくなかで、積極的にOSSにすべきものと、すべきでないものはどう峻別すればいいのでしょうか?

増井さん2

増井:オープンソースにすべきでないものは…特にないと思います。「セキュリティ系はオープンソースにすべきでない」といった議論も昔からありますが、むしろオープンになってピアレビューされているものの方が信頼できます。
最近は、本物そっくりのフェイク画像や動画を生成するディープフェイク系のプログラムがBANされたりしていますが、どちらにせよ、どこかで勝手に公開されることは目に見えているので意味がない。むしろ画像がフェイクかどうかを判定するリテラシーを身につける方が大事ですし、最近ではフェイク判定を行うディープラーニングのプログラムの開発も進められており、オープンソースを積極的に活用し、そうした方向性に進んでいったほうがいい。

横溝:めっちゃ面白いですね。オープンになるにつれ、新しい産業も生まれてくると。オープンソースの可能性の話でいえば、以前別のインタビューで「『オープンソース』と『オープンソース型の働き方』は違う」とおっしゃっていたのが印象的だったのですが、改めて両者の違いについて教えていただけますか?

増井:「オープンソース」は狭い意味の言葉で、公式の定義でも「つくったものを再配布可能にし、変更も許可しなさい」としか定められていません。一方で「オープンソース型の開発」とは、有名な論考「伽藍とバザール」で書かれている「バザール型開発」に源流があり、「みんなで寄ってたかってソフトを作るほうが、ワークするのではないか?」という考え方のもとで行われる開発手法を指します。
最近は、世界中で「オープンソース型の開発」に近い働き方が普及していると感じます。昔のように終身雇用を前提に同じ人が同じ仕事をし続けるスタイルが一般的ではなくなり、ビジネスや技術の変化速度が激しい中で、メンバーがどんどん入れ替わりながら仕事をするようになってきた。特にスタートアップは顕著ですよね。

横溝:たしかに、あらゆる領域でオープンソース的なものが普及していますよね。たとえばCookpadも、料理のオープンソースとだいえます。

増井:みんなでイシューを共有できて、コンセンサスが取りやすいジャンルでは、特にオープンソース化が進んでいくと思います。最近、オープンソース的に法案をつくろうとしている動きが現れはじめているのは、その一例でしょう。

「自分が使わないものは難しい」OSS型が向いている組織とは?

横溝:バザール型の開発スタイルに移行するうえで、留意すべきポイントを教えていだけますか?

増井:人の入れ替わりに備えた対策は、打っておくべきだと思います。特にオープンソース型開発においては、作ってる途中で人がいなくなったり、まったく引継ぎがなされないこともあります。それでもプロジェクトを前に進められるよう、備えておくべきです。

横溝:以前、「絶対にペアプログラミングしている」とおっしゃっていた会社に出会ったこともあります。オープンソース型の仕組みで働いている企業で、増井さんが注目されているところはありますか?

増井:WordPress.comの運営会社・Automatticは面白いですよね。社長が「講演に呼ばれた国でコードを書き、気が向いたら移動する」というスタイルで暮らしており、定住していない。他にも、リモートワークがうまく運用できている会社は、オープンソース的だと言えるのではないでしょうか。

横溝:僕らも基本は全員リモートなんですよ。正直、なんでみんなオフィスに行くのか、時間給で働くのかが分からない。思考停止しているだけなのではないか、とも思います。

増井:組織やプロダクトによって、フルリモートが可能かどうかは変わると思います。オープンソースの大きな原則のひとつに、「自分が使わないものは難しい」というものがある。BoostIOさんも開発者向けのプロダクトを開発されていますし、GitHubもオープンソース的に開発されているそうです。

一方で、自分が使っていないものは正しくイシューの把握ができず、共通認識が作りづらい。だから自由に任せられないんです。多くの企業がオープンソース的に開発できないのは、エンジニアがプロダクトの代表的なユーザーではないからだと思います。スタートアップがビジョン・ミッションを重視するのも、会社のイシューや問題点についての共通認識をつくるのが難しいからです。

横溝:なるほど、かなり納得感があります。リモートでBoostIOの開発チームをまとめているサイさんは、どう思いますか?

サイさん

BoostIO株式会社 Co-founder/CTO 崔俊英
九州大学在学時に横溝と出会い、その後BoostIOを共同創業。JavaやPHPなどの言語を経て、現在はTypeScript、Reactを中心に開発を行なっている。
BoostnoteやIssueHunt等の自社サービスの開発の舵を取るだけではなく、自らオープンソースの開発や貢献も積極的に行なっている。


崔俊英(以下、サイ):ドキュメントに残すことも大事だと思います。ログが残っていないと、後から見返して分かりづらくなってしまうので。

「優しい独裁者」とはなにか?オープンソースで求められるリーダー像

横溝:冒頭でも触れましたが、僕はオープンソースを普及させていくうえで「優しい独裁者がいる社会主義」というイメージを大切にしています。増井さんも共感してくれるとのことですが、そもそも「優しい独裁者」とはどのような人をイメージしていますか?

増井:「メンバーから信任される、大きな決定権を持ったリーダー」ですよね。一般的な企業などにおけるリーダーは、メンバーの給与や人事にまつわる権利を握っているので、どうしても上下関係が生じる。だからこそ、「嫌なら辞めてね」と強制する力も働きます。
一方でオープンソースプロジェクトにおいては、リーダーはリーダーなんだけれど、雇用関係も何もないので、強制されても嫌なら断れる。だからリーダーが強い意思決定をするためには、メンバーに向き合って、好きになってもらわなければいけない。
フラットな社会の独裁者は、「自分の利益だけを考えて格下の者をこき使う」のではなく、みんなのために仕事をしないといけないんです。先ほどの「伽藍とバザール」の中でも触れられていましたが、ハッカーどうしでは贈与経済の原理が働くんです。高い評価を得るためには、まずは人に何かをあげなければいけない。そうしてコントリビュートしていけば、メンバーにも「この人の言うことは聞こう」と思ってもらえる。

横溝:オープンソースのリーダーは、「隙間」を作ることが求められるのかもしれませんね。僕がBoostnoteを作ったときも、他にメンバーがいなくて、「皆助けて」とヘルプを出したら、けっこう人が集まってきてくれました。

増井さん3

増井:そうですね、オープンソースに限らず、これからのリーダーには「面白い仕事をつくる」能力が求められると思います。スタートアップの世界ですら給与水準が高まり、1,000万プレイヤーも珍しくなくなってきたなかで、給料だけで人を集めることが難しくなりつつある。だからこそ、技術的に面白かったり、人に喜ばれたりするような、面白い仕事を提供できるかどうかがカギになる。金銭的な報酬が発生しないオープンソースであれば、なおさらです。

サイ:僕は、手軽に参加できるように敷居を下げることにも気を配っています。いきなりゼロイチで何かを作ってもらうことは不可能です。最初は細かいコードレビューからでもいいと思います。

横溝:他の人に任せるときの話も伺いたいです。プロジェクトやIssueの数が膨大になってきたときに、自分ですべて対処するのは現実的ではないので、信頼できるコミュニティの人に任せることもありますよね。その際、飽きて投げ出され、オープンソースが止まってしまうことも結構あるじゃないですか。この難しさについて、どうお考えですか?

増井:僕は、飽きたらすぐに次の人に委譲することが大事だと思います。誰も受け取ってくれないなら、需要がなかったということなので諦める。ある程度綺麗にソースコードを書き、技術的にテストが通るようになっていれば、簡単に引き継げます。PukiWikiもしばらくメンテされてなかったのですが、3年くらい前にメンテナーがつきました。だからこそ、先ほどもお話したように、面白い仕事をつくることが大事なんです。

サイ:他の人に渡すことを前提に、あらかじめガバナンスを整えておくことも大事ですよね。

増井:同意です。あと、無理して属人性をゼロにしようとしないことも大切です。属人性を廃するのは高コストだし、そもそもオープンソースは、脱・属人性を重視しすぎて動きが遅くなった大企業へのアンチテーゼとして出てきた面もあります。

横溝:リーダーとして、手がけているプロジェクトを広めていく役割を担うこともあると思うのですが、うまくPRしていくための方法については、どのようにお考えですか?

増井:まず何より、「その人たちが広めたいかどうか」が大事だと思います。特にオープンソースは、金銭的なメリットがない以上、開発者にプロジェクト規模を成長させるメリットが生まれにくい。

それでも広めたいのであれば、大きいプロジェクトにパッチを送り、コントリビューターとして名前を入れてもらうのが効率がいいと思います。あと、地道な広報活動も大事です。僕も、海外展開が可能かテストするためにメモツール『wri.pe』を開発したときは、Ruby会議に来ていた全然知らないメインコントリビューターの方々に声をかけ、その場で『Hacker News』を開いてvoteを依頼したりしていました。似たようなプロジェクトを手がけている海外の開発者を毎日何人か探し、メールで連絡を取ったりもしていましたね。

声の大きい人たちに直接説明するのは、けっこう大事だと思います。Netflixからスマホゲームまで、人びとのアテンションを引くものに溢れている「アテンションエコノミー」の時代、ただパブリッシュするだけでは見つけてもらえません。技術の新しさなのか、メリットなのか、どのポイントをアテンションにするのか戦略を立て、積極的に動いていく必要があります。

恥を捨てなければ、成長できない。OSSのコミッターを増やすために

横溝:ありがとうございます。そろそろ終盤ですが、オープンソースの今後についても議論したいです。特に日本には、「自分のコード恥ずかしいし、英語も苦手だし」と尻込みする人が多い印象があります。どうすれば、こうした恥ずかしさを解消できると思いますか?

全体画像

増井:目標を決めて腹をくくることが大事だと思います。1年前に趣味でDJをはじめたのですが、知り合いから「1ヶ月後のBBQでDJしてほしい」と頼まれたことがきっかけでした。結果、ボロボロでしたがなんとかやりきれました。仕事面でも、「年に1個は必ず個人でプロダクトをつくる」「年に1回は必ず英語で講演する」と決めているので、クオリティはさておき機会は担保できています。

横溝:めちゃくちゃ分かります。大変な状況に、自ら飛び込むことは大事ですよね。僕もオープンソースをはじめたときは、英語も喋れないし、GituHubの使い方も分かりませんでした。

増井:ロジカルに考えたら、恥を捨てた方がリターンが大きいはずなんですよね。僕は「持っているもの全て失っても大丈夫」という状態を目指しているので、一時的にかく恥なんて、目標達成のための実績と経験に比べたら大したことはありません。

サイ:昔自分がGitHubで書いたコードを見ると、ひどすぎて、いかに恥を捨て続けてきたかが分かります(笑)。だけど、あそこで勇気を出さなかったら、今の自分はなかった。

増井:日本は同調圧力が強いので、恥をかくのが怖い気持ちは分かります。だけど、いま恥を捨てることで、全体として良い結果を導くことを信じられれば、前に進める。というか、昔のコードを見て恥ずかしいと思うのは、成長できている証なはずです。

横溝:ありがとうございます。最後に、締めの一言をいただけますか?

増井:オープンソース的な組織が増えていくなかで、組織体制やマネージャーの役割といったレイヤーから、抜本的に考えていくことが求められます「とりあえずGitHub導入しましょう」といったアプローチだと、うまくいかないでしょう。

サイ:本当に学びが多い鼎談でした。ありがとうございます。自分はオープンソースを始めたきっかけがGitHubだったので、その前に何が起きていたかなんて、全然想像できなかったです。

横溝:僕も同じ感想です。今日はありがとうございました!

全体画像2

📣 BoostIOからのお知らせ
IssueHuntにて、オープンソースプロジェクトの支援や、求職中の開発者の方々と企業をマッチングするサービスを提供しております。
ご興味をお持ちの方は、下記のフォームよりお問い合わせください!
https://forms.gle/RXwrj7SpwDEeX8RTA

この記事が気に入ったらサポートをしてみませんか?