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

OSSの海に投げ出されよう @ Speee Cafe Meetup #2

16f3ea7644bc4ce1dfc7de932291af58?s=47 Yuki Hattori
September 01, 2016

OSSの海に投げ出されよう @ Speee Cafe Meetup #2

OSSの海に投げ出されよう
〜個人プロダクトがOSSの海で生きるために〜
http://speee.connpass.com/event/38159/presentation/

16f3ea7644bc4ce1dfc7de932291af58?s=128

Yuki Hattori

September 01, 2016
Tweet

Transcript

  1. OSS の海に投げ出されよう ~ 個人プロダクトが OSS の海で生きるために ~ 株式会社Speee 服部 雄輝

    (@yhatt) 2016.09.01 - Speee Cafe Meetup #2 Speee Cafe Meetup #2
  2. Who am I? 服部 雄輝 (Facebook: yu.hatt / GitHub: @yhatt)

    株式会社Speee 新卒3 年目 仕事 現在: 社内システム開発全般 過去: イエウー ル 開発サポー ト Skill Ruby on Rails, JavaScript, CSS Speee Cafe Meetup #2 2
  3. yhatt & Cafe 強いこだわりはありません 年中アイスコー ヒー を好みます 今回取り上げるプロダクトは CoffeeScript 製です

    だからどうした Photo from: https://bluebottlecoffee.jp/ 3
  4. 今回のテー マ 個人プロダクトが OSS の海で生きるために Speee Cafe Meetup #2 4

  5. Agenda 1. 個人プロダクトが OSS になるまで なぜ OSS を選択したか? 2. OSS

    が Buzz ると何が起こる? Feedback に振り回される 良質な Feedback を生むために 3. まとめ OSS の波に乗るために & 乗り続けるために Speee Cafe Meetup #2 5
  6. 個人プロダクトがOSS になるまで Marp: Markdown Presentation Writer https://yhatt.github.io/marp/ Speee Cafe Meetup

    #2 6
  7. What's Marp? クロスプラットフォー ム対応 Markdown スライド作成ツー ル Deckset の OSS

    版 (MIT License) フロントエンド (Electron) の勉強を目的に開発 Atom と同様、CoffeeScript を採用 Speee Cafe Meetup #2 7
  8. なぜ OSS を選択したか? 1. 技術的フィー ドバックへの期待 経験のない技術 への挑戦 技術的知見の獲得 プロダクトの改善

    2. コミュニティ主導の貢献への期待 スライドテー マがコミュニティ主導で増えたら理想的 3. 自身の市場価値を高める ( 副次的要素) Speee Cafe Meetup #2 8
  9. OSS の海へ 日本語の封印 ( 明確なコミットログを徹底) ドキュメントの整備 OSS ライセンスへの理解 リリー スペー

    ジ (LP) の作成 テスト/CI の整備 クロスプラットフォー ムテストのハウツー が無く、 未実装のまま開始 現時点で最大の失敗ポイント ( 後述) Speee Cafe Meetup #2 9
  10. Buzz Hacker News Github Trending GIGAZINE GitHub 4041 stars 157

    forks Speee Cafe Meetup #2 10
  11. Buzz ると何が起こる? Speee Cafe Meetup #2 11

  12. 想像を超える Feedback 月のIssue 数 月のPR 数 Buzz 前 約 3

    Issues/month 約 0 PRs/m Buzz 後 約 60 Issues/month 約 15 PRs/m ※ Issue は 機能要望が約半数を占める 完全なる個人開発 サポー トリソー スの不足 Buzz 前は 『 お客様は神様』 の気持ちで対応できていた Buzz ると、Issue/PR の絶対数に押しつぶされてしまう Speee Cafe Meetup #2 12
  13. Feedback に振り回され過ぎない Feedback された要望を、 盲目的に反映すると... スコー プクリー プ の深刻化 デスマー

    チPJT 化 の懸念 特にMarp は主たる開発スコー プが広く、 適切な管理が必要 スコー プの広さ:OSS ソフトウェア > OSS ライブラリ Speee Cafe Meetup #2 13
  14. Feedback に振り回され過ぎない かといって、Feedback を蔑ろにしない 開発スコー プを、Feedback する側に明確に伝える 明確になっていないと... スコー プ外のFeedback

    により、 仕様が二転三転 する プロジェクトに対して 不信感 を生む Speee Cafe Meetup #2 14
  15. 不透明な例: #23: Export Powerpoint slides : Powerpoint のスライド が Export

    できると嬉しいな : 野心的すぎない? : なんで?node のライブラリはあるよ : ODF で出力できると良いね : 中間言語 (IL) を作ろう、 拡張しやすくなるし出力も自由自在だよ : それは Pandoc の仕事じゃないかな Marp のスコー プから外れてきたため wontfix をマー ク ※ 意訳です 15
  16. 不透明な例: #23: Export Powerpoint slides 前提スコー プの共有不足 コミュニケー ションロス を招く

    ( 青字) : Marp がフロントエンドになる 意味はあるんじゃない? : 決定は尊重するけど wontfix には失望したよ 不信感 : "PDF と同じ水準の出力" は無茶でしょ? : 一旦 wontfix 外すから、 発案者の意見を聞きたい 二転三転 : 確かに同目的の別ツー ルがあるかも、 探してまた報告するよ ※ 意訳です 16
  17. 良質な Feedback を受けるために 構成要素の分割 OSS ライブラリに適切に分割、 開発スコー プを切り分ける 継続的インテグレー ション

    (CI) 自動テストで 開発スコー プを " 見える化" OSS の目的をハッキリさせる この OSS が担うスコー プは? 今はどのフェー ズなのか? ロー ドマップ の明確化 Speee Cafe Meetup #2 17
  18. Speee Cafe Meetup #2 18

  19. ( おそらく) 透明な例: #16: HTML export : PDF みたいに、HTML に出力できたらサイコー

    だね ( 14) : ホントそれ、 基本技術もHTML+CSS+JS だしカンタンでしょ? : 議論に際して ロー ドマップ を見てみよう "Presentation renderer" のスコー プに明確に誘導 Speee Cafe Meetup #2 19
  20. まとめ:OSS の波に乗るために必要なこと プロジェクト肥大化時、 以下が適切にできているか? ロー ドマップの明確化 構成要素の分割( スコー プ管理) 自動テスト

    継続的インテグレー ション (CI) 全てが最初から必要では無いけど... 必要なタイミングで、 アクションを起こせるかがPoint Speee Cafe Meetup #2 20
  21. OSS の波に乗り続けるためには... モチベー ションの維持 目標を充足すると、 個人の開発モチベー ションが下がる 前述のようなコミュニケー ションロスは尚更下がる 意欲を掻き立てる分野で、

    自分に火を付けましょう 英語 高校英語(+ 翻訳機) で、 大体のニュアンスは伝えられるが... 英語力不足だと、 翻訳にエネルギー が持っていかれる 普段から英語に慣れ親しみましょう Speee Cafe Meetup #2 21
  22. Marp はまだまだこれから https://github.com/yhatt/marp/wiki/Roadmap-to-Marp-1.0.0 Speee Cafe Meetup #2 22

  23. END Speee Cafe Meetup #2 23