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

国産 OSS 立ち上げの事情

国産 OSS 立ち上げの事情

Open Developers Conference 2017 Tokyo (2017/08/19) での発表スライドです。
[イベントURL: https://www.ospn.jp/odc2017/ ]

Naoki Matagawa

August 19, 2017
Tweet

More Decks by Naoki Matagawa

Other Decks in Programming

Transcript

  1. 2017/08/19(⼟) Open Developers Conference 2017 Tokyo ࠃ࢈ 044্ཱͪ͛ͷ࣮৘  0OTFO

    6*͕ (JU)VCͰελʔΛ֫ಘ͢Δ·ͰͷಓͷΓ ຢ઒ ঘथ !O@NBUBHBXB
  2. ࣗݾ঺հ •⼜川 尚樹 (24) • アシアル株式会社(2016年4⽉〜) • Web エンジニア 2年⽬

    •Onsen UI (2015年10⽉〜) • Web 系のオープンソース UI ライブラリ • https://onsen.io/
  3. ࠓճ͓࿩͢͠Δ಺༰ I. OSS ⽴ち上げのメリット II. OSS の⽴ち上げ⽅ III. OSS の良い⽴ち上げ⽅

    1. OSS の成⻑指標の洗い出し 2. OSS の成⻑指標のフル活⽤ 3. 他 OSS の成⻑指標の調査 4. OSS の公開 & 成⻑施策の実⾏開始 IV. まとめ
  4. 044্ཱͪ͛ͷϝϦοτ •(2) テスト⼯数削減 • 欲しいライブラリを⾃作しようと思った時... • 閉じた環境で開発: • 全てのテスト・修正を⾃分たちで⾏う必要がある •

    ⼿が回らない → そこそこの品質にしかならない • 開いた環境で開発: • ユーザがテスト・修正してくれる → 品質向上
  5. 044্ཱͪ͛ͷϝϦοτ • まとめ • 個⼈や中⼩企業、⼤企業が こぞって OSS を⽴ち上げる理由は、 (1) 広告効果

    と (2) テスト⼯数削減 でほぼ説明できる • 欲しいライブラリは⼿に⼊るし、広告にもなる、 だから開発する • 純粋なボランティアは少数派。みんな⾒返りを求めている!!
  6. ࢥߟ࣮ݧ  Կ͕ىͬͨ͜ͷ͔ • OSS は公開するだけでは使われない • なので誰も使ってくれなかった • なので

    OSS ⽴ち上げのメリットも得られなかった • 個⼈や中⼩企業での OSS ⽴ち上げでは 「開発がうまく進まない」問題よりも 「⽴ち上げの時点でコケる」問題の⽅が圧倒的に⼤きい • これは悪い⽴ち上げ⽅。では良い⽴ち上げ⽅とは?
  7. 044ͷѱ্ཱ͍ͪ͛ํɺྑ্ཱ͍ͪ͛ํ 1 10 100 1000 10000 100000 ユーザ数の伸び 1 10

    100 1000 10000 100000 ユーザ数の伸び • メリットが最⼤化される(=ユーザ数が増え続ける)ことが 良い⽴ち上げ⽅として定義できる 広告効果 テスト⼯数 削減
  8. 044ͷྑ্ཱ͍ͪ͛ํ •Onsen UI で⾏っているユーザ数増加施策: 1. OSS の成⻑指標の洗い出し 何をもって「ユーザ数が伸びた」と⾒なすか、はっきりさせる 2. OSS

    の成⻑指標のフル活⽤ 「1⽇1回⼿動でチェック」はやめよう 3. 他 OSS の成⻑指標の調査 成⻑した OSS が実際にどういう推移を辿ったのか確認する 4. OSS の公開 & 成⻑施策の実⾏開始 データに基づいて⾏動する
  9. 044ͷྑ্ཱ͍ͪ͛ํ r ੒௕ࢦඪͷચ͍ग़͠ •オススメの指標(※経験則です) (1) GitHub スター数 (2) ダウンロード数 (3)

    API リファレンス の ユニークユーザ数 •その他 • 公式 Twitter アカウント の フォロワー数 • Twitter、Reddit、Hacker News での⾔及数
  10.  (JU)VCελʔ਺ • 性質 • バズり具合と相関 • 実際のユーザ数との相関は⾮常に弱い • 取得⽅法

    • GitHub の stargazers API を使⽤する • Accept: application/vnd.github.v3.star+json フィールドを付加すると 各 star がいつ付けられたのかも取得できる • 備考 • スター数をリポジトリの UU で割ることでスター率も取れる
  11. 10 100 1,000 10,000 100,000 1,000,000  (JU)VCελʔ਺  ૬৔ײ

    伝説 世界的に有名 世界的に少し有名 駆け出し 解説記事が出始める ※分野によってスターの付きやすさは異なります (Web 系は付きやすい)
  12. 044ͷྑ্ཱ͍ͪ͛ํ r ੒௕ࢦඪͷϑϧ׆༻ • ⻑期的な変化を客観的に把握するために: • 掟 1 必ず時間推移をプロットする •

    掟 2 累積値ではなく差分の時間推移を⾒る (=累積値の時間推移は微分する) • 掟 3 移動最⼩値を使う
  13. 0 500 1000 1500 2000 2500 3000 3500 4000 4500

    2014/1/1 2015/1/1 2016/1/1 2017/1/1  GitHub  044ͷྑ্ཱ͍ͪ͛ํ r ੒௕ࢦඪͷϑϧ׆༻ •掟 1 必ず時間推移をプロットする グラフ1. Onsen UI の 累積 GitHub スター数 ここで何かが起きたことが 分かる なぜか stargazers API から 得たデータでは star 数が 5000 に 満たなかった…
  14. 0 2 4 6 8 10 12 14 16 18

    20 2014/1/1 2015/1/1 2016/1/1 2017/1/1 GitHub    (N=18) 044ͷྑ্ཱ͍ͪ͛ํ r ੒௕ࢦඪͷϑϧ׆༻ •掟 2 累積値ではなく差分の時間推移を⾒る グラフ2. Onsen UI の ⽇別 GitHub スター数(+指数移動平均) バズったタイミングが すべて分かる
  15. 044ͷྑ্ཱ͍ͪ͛ํ r 044ͷެ։ ˍ ੒௕ࢪࡦͷ࣮ߦ։࢝ • 前準備: • Web サイトの準備

    • Retention ⽤媒体 (Twitter アカウント, ニュースレター, ブログRSS)の準備 • ⼀度興味を持ったユーザに「受動的に」情報を得させる媒体を⽤意する • 初期段階: • Reddit, Hacker News での告知 • Hacker News 砲 • Retention ⽤媒体への誘導 • 成⻑段階: • 品質を維持しつつバズり(virality)を稼ぐ • バグフィックスやリリースはバズりには繋がらない
  16. ·ͱΊ I. OSS ⽴ち上げのメリット • 広告効果 • テスト⼯数削減 II. OSS

    の⽴ち上げ⽅ • 良い⽴ち上げ⽅と悪い⽴ち上げ⽅が存在 III. OSS の良い⽴ち上げ⽅ 1. OSS の成⻑指標の洗い出し 2. OSS の成⻑指標のフル活⽤ • 時間推移をプロットする、累積値の時間推移は微分する、移動最⼩値を使う 3. 他 OSS の成⻑指標の調査 4. OSS の公開 & 成⻑施策の実⾏開始