社会・産業のデジタル変革
OSSに対する誤解を解く5つの処方箋
「OSS活動やモダンな開発作法が重要なのはわかった。でも、いきなりGitHubで知らない外国のプロジェクトに英語でPull Requestを送るなんて、怖くて無理だ」。
「自分のコードは汚いから、世界中に公開するのは恥ずかしい」。
その感覚は正常です。OSSの世界は広大で、時には厳しい批判に晒されることもあります。水泳を覚えるのに、いきなり荒れ狂う外洋に飛び込む人はいません。まずは安全なプールで練習することも一つの方法でしょう。
その「安全なプール」こそが、今回紹介する「インナーソース(InnerSource)」です。
インナーソースとは、一言で言えば「オープンソースの開発手法や文化を、会社のファイアウォールの中で実践する取り組み」です。
社内のソースコードリポジトリ(GitHub EnterpriseやGitLabなど)を使って、OSSのベストプラクティスに倣い開発を進めます。外部には公開しないので、英語を使う必要はありません。コミュニケーションの相手は、外部の見知らぬ開発者ではなく、同じ組織に属する社員です。これなら始められそうではないでしょうか?
具体的には以下のような状態を目指します。
コードの社内公開:所属チームだけでなく、社内の全開発者がリポジトリにアクセスできる。
コラボレーション:バグ修正や機能追加を、他チームのメンバーでもPull Requestで提案できる。
透明な議論:意思決定のプロセスが、メールや口頭ではなく、IssueやPull Request、社内のチャットツールなどオープンな場に残されている。
単にリポジトリの閲覧権限を開放するだけでは、インナーソースは成功しません。以下の4つの原則を文化として定着させることが重要です [InnerSource Commons]。
Openness(オープンネス)
コードもドキュメントも、社内の誰もがアクセスできるようにします。「見せる」ことがスタートです。隠蔽による安心感ではなく、公開による品質向上を目指します。
Transparency(透明性)
決定プロセスを見せます。「なぜその機能を実装したか」「なぜそのPull Requestを却下したか」をオープンな場に残し、後からプロジェクトに参加した人も経緯や意思決定のプロセスを追えるようにします。
Prioritized Mentorship(優先的なメンターシップ)
他チームからの貢献者を歓迎します。外部からのPull Requestや質問が来たら、放置せずに優先的にレビューし、対応します。初心者を突き放さず、メンターとして導く文化がなければ、誰も貢献してくれなくなります。
Voluntary Code Contribution(自発的なコード貢献)
強制しません。「組織のリーダーに言われたから」ではなく、開発者が「直したいから直す」「追加の機能が必要なので作る」という自発性を尊重します。
多くの企業では「隣のチームが何を作っているか知らない(サイロ化)」という問題があります。
「似たような便利ツールを各チームがバラバラに作っている(車輪の再発明)」
「共通ライブラリのバグを直したいけど、権限がないから依頼して待つしかない(待ち時間の無駄)」
インナーソースは、この壁を壊します。隣のチームのコードが見えれば、それを再利用できます。共通ライブラリにバグがあれば、待つのではなく自分で直してPull Requestを送れます。
「隣のチームへの押し付け」ではなく、お互いが助け合うエコシステムを社内に作ること。これがインナーソースの目的であり、結果として組織全体の開発効率が向上します。
では、具体的にどこから始めればよいのでしょうか? 大掛かりな制度改革を待つ必要はありません。
あなたが管理しているリポジトリの閲覧権限を、「チーム限定」から「社内全体(All Users)」に変えてみましょう。これだけで、あなたのコードは組織の資産になります。
「隣のチームの人」が読んでも分かるように、README(リポジトリの入り口となる説明書)を書き直します。「これは何をするソフトか?」「どうやって動かすのか?」「どうやって貢献すればいいのか?」を明記します。
開発タスクやバグ報告を、クローズドなチャットではなく、リポジトリのIssueに起票し、そこで議論するようにします。
インナーソースで経験を積むことは、そのままOSSへの準備運動になります。見知らぬ人のコードを読み解く力、分かりやすいPull Requestを書く作法、建設的なレビューのスキル。これらは全てOSSコミュニティで求められるスキルと同じです。
社内でインナーソースの文化に慣れ親しんだエンジニアなら、OSSに貢献する際も違和感なくスムーズに参加できるでしょう。
「わたしのコード」から「みんなのコード」へ。その小さな意識の変化が、組織の文化を変え、やがては世界中のOSSエコシステムへとつながっていくのです。
さあ、まずは社内から、オープンな冒険を始めましょう。
「サイロ化」の特効薬:縦割り組織の弊害(情報の囲い込み、車輪の再発明)を、技術的なアプローチで解決するのがインナーソースです。「隣の部署のコードが見える」だけで、組織のコラボレーションは劇的に加速します。
透明性は効率を生みます:意思決定のプロセスやドキュメントをオープンにすることで、属人化を防ぎ、新入社員のオンボーディング(立ち上がり)コストを下げることができます。
まずは小さく始める:全社的な制度改革を待つ必要はありません。「リポジトリを社内公開にする」「Issueで会話する」といった現場の小さな習慣の変化が、やがて組織全体の風土改革(DX)へと繋がります。