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
240
jsx-slack のご紹介&実践 Slack アプリ開発
yhatt
0
1.2k
Marp Basic Example
yhatt
4
510k
Introducing Marp's Gaia Theme
yhatt
5
450k
jsx-slack: React ⾵ Block Kit
yhatt
1
7.4k
Marp Vue: Vue を 1mm も触ったことない人がコンポーネントを公開するまで
yhatt
2
2.5k
そろそろはじめる Service Worker @ SpeeeKaigi #3
yhatt
0
4.5k
Electronを勉強していただけなのに... @ Meguro.es #5
yhatt
4
5.7k
Other Decks in Programming
See All in Programming
Realtime API 入門
riofujimon
0
110
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
440
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
930
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
Piniaの現状と今後
waka292
5
1.5k
Why Spring Matters to Jakarta EE - and Vice Versa
ivargrimstad
0
1k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
270
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
110
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
270
Synchronizationを支える技術
s_shimotori
1
150
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.3k
/←このスケジュール表に立ち向かう フロントエンド開発戦略 / A front-end development strategy to tackle a single-slash schedule.
nrslib
1
590
Featured
See All Featured
Writing Fast Ruby
sferik
626
61k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Bash Introduction
62gerente
608
210k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
For a Future-Friendly Web
brad_frost
175
9.4k
Gamification - CAS2011
davidbonilla
80
5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
A better future with KSS
kneath
238
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
41
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