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.3k
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
490
jsx-slack のご紹介&実践 Slack アプリ開発
yhatt
0
1.2k
Marp Basic Example
yhatt
5
510k
Introducing Marp's Gaia Theme
yhatt
5
450k
jsx-slack: React ⾵ Block Kit
yhatt
1
7.6k
Marp Vue: Vue を 1mm も触ったことない人がコンポーネントを公開するまで
yhatt
2
2.6k
そろそろはじめる Service Worker @ SpeeeKaigi #3
yhatt
0
4.6k
Electronを勉強していただけなのに... @ Meguro.es #5
yhatt
4
5.8k
Other Decks in Programming
See All in Programming
運用しながらリアーキテクチャ
nealle
0
320
RCPと宣言型ポリシーについてのお話し
kokitamura
2
110
やっと腹落ち「スプリント毎に動くモノをリリースする」〜ゼロから始めるメガバンクグループのアジャイル実践〜
sasakendayo
0
300
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
170
保守性を高める AWS CDK のセオリー・ベストプラクティス
yamanashi_ren01
5
690
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
160
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
2
170
イベントソーシングによってインピーダンスミスマッチから解放された話
tkawae
1
140
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
120
エンジニアに許された特別な時間の終わり
watany
85
73k
Your Architecture as a Crime Scene:Forensic Analysis @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
170
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
0
160
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Fireside Chat
paigeccino
37
3.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Music & Morning Musume
bryan
46
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Thoughts on Productivity
jonyablonski
69
4.5k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Adopting Sorbet at Scale
ufuk
75
9.3k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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