Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル

オープンソースカンファレンス 2025 Hokkaido のセミナー枠での発表資料です。

Avatar for jsakamoto

jsakamoto

July 06, 2025

More Decks by jsakamoto

Other Decks in Programming

Transcript

  1. 2

  2. • Storybook を 100% Blazor で再実装 • 過去のオープンソースカンファレンス Hokkaido でも紹介

    • 最近 MCP サーバー機能を追加しました https://github.com/jsakamoto/BlazingStory/ 7
  3. ChromeDriver, 67,325,743 IEDriver, 11,942,413 GeckoDriver, 7,761,313 GeckoDriver Win64, 2,676,651 その他,

    29,103,485 “~Driver” だけで 75% 以上 95 パッケージのうち、この4パッケージだけ で4分の3を占める WebDriver バイナリを収録しただけ のパッケージ Selenium の開発に関与している訳 ではない WebDriver バイナリを NuGet パッケージに 仕立てているだけ 10
  4. 1年 2年 3年 4年 5年 6年 7年 8年 9年 10年

    11年 12年 13年 0 80,000,000 160,000,000 240,000,000 320,000,000 自分 x 95 パッケージ 著名OSS x 1 パッケージ 11
  5. • 言い訳 心の安寧 が得られる • 金銭での対価は払っていないが、 OSS コミュニティに貢献してるから、という免罪符 • OSS

    は、消費するだけだと枯れてしまいかねない • OSS の “フリーライド” それ自体には罪悪感を感じる必要はない • ただし、Issue 報告して保守してもらうばかりだと作者の心が折れる • 何の解決にもならないが、自分で OSS を開発・公開するようになって、他 OSS への不 具合報告にめっちゃ気を遣うようになった 18
  6. • 利用者側には制約を求めたくない • GPL では いいねがもらえなく 利用者がいなくなってしまう心配 • 派生物はソース開示を強制したい •

    そこで LGPL を採用 • LGPL は利用している側のソースコードの開示不要… と理解していた • .NET 向けライブラリなので基本的に動的リンクなので • しかし、利用者側のリバースエンジニアリングを許可する必要があった • 静的リンクしていないことを証明するため、らしい 21
  7. • 調子にのって本数を作りすぎた • 95 パッケージ • 保守が大変 • Issue 登録されても数ヶ月着手できないとか

    • 既存のパッケージの改善も遅々として進まず • 新しいものを学んだり作ったりする時間が削られる • 作りたいパッケージのアイディアはまだ湧いてくる 27
  8. • README の作成がいちばんしんどい • しかもこだわりで英語で書かなくてはならない縛り • 生成系 AI のおかげでだいぶん楽にはなってきた •

    でもここを一番がんばらないと いいねが 使って もらえない • このライブラリで何ができるのか・何を解決するのかを冒頭ではっきりさせる 29
  9. • 「あなたのライブラリを使ったら、エラーになりました」 • ビルド時のエラー? 実行時のエラー? • 何をどう操作したのか? • エラーメッセージとスタックトレースは? •

    ブラウザやプラットフォームのバージョンは? • 普通には自分の手元で再現しない • 再現用のサンプルプログラムが添付されていれば、解決が早くなる 30
  10. • スキマ時間で開発してるので、自分の書いたコードや設計を忘れる • 95 パッケージもあるし • バグ修正や機能追加でデグレーションが容易に発生し得る • 自動化テストの整備は必須 •

    自動化テストがあるおかげで、安心してコードの変更ができる • コードが腐らない • 継続したソフトウェアの維持発展に欠かせない • テストを書くのも楽しいよ 33
  11. • チャットアプリ • ChatGPT • Google Gemini • Claude •

    GitHub Copilot Pro+ • よく使うモデルは GPT-4.1 と Claude Sonnet 4 • Agent モードはあまり使った実績がない • コード補完を常用 35
  12. • コーディング作業は結局、おおむね今までどおり • コード補完で、若干の作業効率の向上はある • ChatGPT の Web 検索で調べ物の効率は向上した •

    コーディングをまるごと任せられる感じがしない • Vibe Coding とか流行っているようではありますが... • 待ち時間ばかりかかって生産性を感じない • コーディングは “楽しみ” なので AI に押しつけたい動機が低い • “自分だけが取り残されるのではないか” の不安から試してはいるけど 37
  13. • 自分の OSS を開発・公開する、という関わり方もある • 使うだけでもない • 既存の著名 OSS に貢献するのでもない

    • 不純な動機でも構わない • 世界のどこかの誰かのためになれば Win-Win • その手段としての OSS 開発活動 • もちろんマネタイズも • いかにして持続可能にするか 40