Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSSの海に投げ出されよう @ Speee Cafe Meetup #2
Search
Yuki Hattori
September 01, 2016
Programming
1
2.2k
OSSの海に投げ出されよう @ Speee Cafe Meetup #2
OSSの海に投げ出されよう
〜個人プロダクトがOSSの海で生きるために〜
http://speee.connpass.com/event/38159/presentation/
Yuki Hattori
September 01, 2016
Tweet
Share
More Decks by Yuki Hattori
See All by Yuki Hattori
Marp for VS Code 拡張機能開発の舞台裏 - VS Code Conference Japan 2024
yhatt
0
160
jsx-slack のご紹介&実践 Slack アプリ開発
yhatt
0
1.1k
Marp Basic Example
yhatt
4
510k
Introducing Marp's Gaia Theme
yhatt
5
450k
jsx-slack: React ⾵ Block Kit
yhatt
1
7.3k
Marp Vue: Vue を 1mm も触ったことない人がコンポーネントを公開するまで
yhatt
2
2.5k
そろそろはじめる Service Worker @ SpeeeKaigi #3
yhatt
0
4.4k
Electronを勉強していただけなのに... @ Meguro.es #5
yhatt
4
5.6k
Other Decks in Programming
See All in Programming
Meet BrowserEngineKit
swiftty
0
190
dotfiles について話したい #湘なんか
stefafafan
2
280
私のEbitengineの第一歩
qt_luigi
0
410
Swift Concurrencyとレースコンディション
objectiveaudio
1
380
TypeScriptとGraphQLを活用した変化に強いプロダクト作り
bicstone
4
500
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
100
Swiftで高速フーリエ変換してオーディオビジュアライザーを作る / iOSDC Japan 2024 Day1 Track D
kyome22
2
460
connect-go で面倒くささと戦う / 2024-08-27 #newmo_layerx_go
izumin5210
2
580
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
4
2.9k
2024 컴포즈 정원사
jisungbin
0
140
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
210
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
110
Featured
See All Featured
Making Projects Easy
brettharned
113
5.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
The Mythical Team-Month
searls
218
43k
Build The Right Thing And Hit Your Dates
maggiecrowley
29
2.2k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
BBQ
matthewcrist
83
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
46
48k
What's new in Ruby 2.0
geeforr
340
31k
Code Reviewing Like a Champion
maltzj
518
39k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Transcript
OSS の海に投げ出されよう ~ 個人プロダクトが OSS の海で生きるために ~ 株式会社Speee 服部 雄輝
(@yhatt) 2016.09.01 - Speee Cafe Meetup #2 Speee Cafe Meetup #2
Who am I? 服部 雄輝 (Facebook: yu.hatt / GitHub: @yhatt)
株式会社Speee 新卒3 年目 仕事 現在: 社内システム開発全般 過去: イエウー ル 開発サポー ト Skill Ruby on Rails, JavaScript, CSS Speee Cafe Meetup #2 2
yhatt & Cafe 強いこだわりはありません 年中アイスコー ヒー を好みます 今回取り上げるプロダクトは CoffeeScript 製です
だからどうした Photo from: https://bluebottlecoffee.jp/ 3
今回のテー マ 個人プロダクトが OSS の海で生きるために Speee Cafe Meetup #2 4
Agenda 1. 個人プロダクトが OSS になるまで なぜ OSS を選択したか? 2. OSS
が Buzz ると何が起こる? Feedback に振り回される 良質な Feedback を生むために 3. まとめ OSS の波に乗るために & 乗り続けるために Speee Cafe Meetup #2 5
個人プロダクトがOSS になるまで Marp: Markdown Presentation Writer https://yhatt.github.io/marp/ Speee Cafe Meetup
#2 6
What's Marp? クロスプラットフォー ム対応 Markdown スライド作成ツー ル Deckset の OSS
版 (MIT License) フロントエンド (Electron) の勉強を目的に開発 Atom と同様、CoffeeScript を採用 Speee Cafe Meetup #2 7
なぜ OSS を選択したか? 1. 技術的フィー ドバックへの期待 経験のない技術 への挑戦 技術的知見の獲得 プロダクトの改善
2. コミュニティ主導の貢献への期待 スライドテー マがコミュニティ主導で増えたら理想的 3. 自身の市場価値を高める ( 副次的要素) Speee Cafe Meetup #2 8
OSS の海へ 日本語の封印 ( 明確なコミットログを徹底) ドキュメントの整備 OSS ライセンスへの理解 リリー スペー
ジ (LP) の作成 テスト/CI の整備 クロスプラットフォー ムテストのハウツー が無く、 未実装のまま開始 現時点で最大の失敗ポイント ( 後述) Speee Cafe Meetup #2 9
Buzz Hacker News Github Trending GIGAZINE GitHub 4041 stars 157
forks Speee Cafe Meetup #2 10
Buzz ると何が起こる? Speee Cafe Meetup #2 11
想像を超える 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
Feedback に振り回され過ぎない Feedback された要望を、 盲目的に反映すると... スコー プクリー プ の深刻化 デスマー
チPJT 化 の懸念 特にMarp は主たる開発スコー プが広く、 適切な管理が必要 スコー プの広さ:OSS ソフトウェア > OSS ライブラリ Speee Cafe Meetup #2 13
Feedback に振り回され過ぎない かといって、Feedback を蔑ろにしない 開発スコー プを、Feedback する側に明確に伝える 明確になっていないと... スコー プ外のFeedback
により、 仕様が二転三転 する プロジェクトに対して 不信感 を生む Speee Cafe Meetup #2 14
不透明な例: #23: Export Powerpoint slides : Powerpoint のスライド が Export
できると嬉しいな : 野心的すぎない? : なんで?node のライブラリはあるよ : ODF で出力できると良いね : 中間言語 (IL) を作ろう、 拡張しやすくなるし出力も自由自在だよ : それは Pandoc の仕事じゃないかな Marp のスコー プから外れてきたため wontfix をマー ク ※ 意訳です 15
不透明な例: #23: Export Powerpoint slides 前提スコー プの共有不足 コミュニケー ションロス を招く
( 青字) : Marp がフロントエンドになる 意味はあるんじゃない? : 決定は尊重するけど wontfix には失望したよ 不信感 : "PDF と同じ水準の出力" は無茶でしょ? : 一旦 wontfix 外すから、 発案者の意見を聞きたい 二転三転 : 確かに同目的の別ツー ルがあるかも、 探してまた報告するよ ※ 意訳です 16
良質な Feedback を受けるために 構成要素の分割 OSS ライブラリに適切に分割、 開発スコー プを切り分ける 継続的インテグレー ション
(CI) 自動テストで 開発スコー プを " 見える化" OSS の目的をハッキリさせる この OSS が担うスコー プは? 今はどのフェー ズなのか? ロー ドマップ の明確化 Speee Cafe Meetup #2 17
Speee Cafe Meetup #2 18
( おそらく) 透明な例: #16: HTML export : PDF みたいに、HTML に出力できたらサイコー
だね ( 14) : ホントそれ、 基本技術もHTML+CSS+JS だしカンタンでしょ? : 議論に際して ロー ドマップ を見てみよう "Presentation renderer" のスコー プに明確に誘導 Speee Cafe Meetup #2 19
まとめ:OSS の波に乗るために必要なこと プロジェクト肥大化時、 以下が適切にできているか? ロー ドマップの明確化 構成要素の分割( スコー プ管理) 自動テスト
継続的インテグレー ション (CI) 全てが最初から必要では無いけど... 必要なタイミングで、 アクションを起こせるかがPoint Speee Cafe Meetup #2 20
OSS の波に乗り続けるためには... モチベー ションの維持 目標を充足すると、 個人の開発モチベー ションが下がる 前述のようなコミュニケー ションロスは尚更下がる 意欲を掻き立てる分野で、
自分に火を付けましょう 英語 高校英語(+ 翻訳機) で、 大体のニュアンスは伝えられるが... 英語力不足だと、 翻訳にエネルギー が持っていかれる 普段から英語に慣れ親しみましょう Speee Cafe Meetup #2 21
Marp はまだまだこれから https://github.com/yhatt/marp/wiki/Roadmap-to-Marp-1.0.0 Speee Cafe Meetup #2 22
END Speee Cafe Meetup #2 23