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を作っている時に 考えていること ーUNIX哲学を添えてー
Search
Takumasa Sakao
November 03, 2018
2
480
OSSを作っている時に 考えていること ーUNIX哲学を添えてー
会津大学 秋 LT 会 11/3
Takumasa Sakao
November 03, 2018
Tweet
Share
More Decks by Takumasa Sakao
See All by Takumasa Sakao
k9s のプラグイン機構とモダンな watch コマンド、viddy の紹介
sachaos
0
1.4k
Cloud Run でシェルスクリプトを動かす
sachaos
0
2.6k
GAE を利用したゲーム内通貨管理サービスの運用〜可用性を損なわないための工夫〜
sachaos
0
1.2k
Go の静的解析ツールの作成と活用
sachaos
0
2.7k
レイトレーシングとGoroutine
sachaos
2
1k
GCPをフル活用したゲームログ収集基盤の構築
sachaos
6
2.9k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
181
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Become a Pro
speakerdeck
PRO
26
5k
Making Projects Easy
brettharned
116
5.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Thoughts on Productivity
jonyablonski
67
4.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
How GitHub (no longer) Works
holman
311
140k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Invisible Side of Design
smashingmag
298
50k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Transcript
OSSを作っている時に 考えていること ーUNIX哲学を添えてー 会津秋の陣 大 LT 大会 @sachaos
自己紹介 • @sachaos (サカオスと読みます) Twitter, GitHub もこれでやってます。 友達欲しいのでフォローしてくれると
嬉しいです。 • 所属: 株式会社アカツキ 新卒 3 年目 技術基盤開発 Go, GCP • U2病 UNIX 2 年生病 UNIX 文化にかぶれて、なんでも ターミナルで解決したくなる病気
早速本題
GitHub はこんな感じです
• 2年前は少しレポジトリ公開してるくらいで 誰も見向きもしないような感じだった。 • 意識的に考え方を変えていくと 開発も迷いなく出来るようになって どんどん使ってくれる人も増えてきた。 • 今日はその考え方をシェアして、 OSS開発ハードル高いと思っている人たちの
背中を押せればと思っています。
• アイデアができた時 • 作っている時 • リリースする時 • それぞれ悩んでいること、考えていることを話します。
アイデアができた時 • 「似たような奴あるけど、作る必要あるかな?」 • 「これ作っても誰も使ってくれないんじゃないかな・・・」
作るかどうか迷う時間があるなら 作った方がいい。 • 車輪の再発明は恐れなくていい。 何かを作らないよりも作ったほうが実装力が上がるはず。 既にあるものより良いものを作ることも出来るはず。 • 作らないと需要があることもわからない。
誰も使わないだろうなーというものでも おそらく誰か同じ悩みは抱えているはず。
作っている時 • 「この機能も入れたい!あの機能も!」 • 「どうやったら使いやすい形になるかな?」 • 「なんか色々考えているうちに飽きちゃったなー」
UNIX哲学に沿って作る • 小さいものは美しい。 • 一つのことをうまくやるツールを作る。 • 全てのプログラムをフィルタとして設計する。 • etc
sachaos/note • U2病だからターミナルでしかエディタは立ち上げられない。 • ターミナルだけではマークダウンのプレビューができない。 • なのでプレビューだけいい感じにできるものが欲しい。 • https://github.com/sachaos/note
None
一つのことをうまくやる • ファイルを監視してマークダウンを いい感じにブラウザに表示することだけをうまくやる • エディタとビューアが分離しているので 特定のエディタに依存せず組み合わせやすい。
無理に機能を付け足さない • 開発中はアイデアが発散して、多く機能を追加したくなる。 • 本当にこのソフトウェアに必要なものなのかを考える。 リリースしたら意外と使われないかもしれない。 届けたい体験に関与しないものかもしれない。 •
時間がかからないなら一旦作ってみるのもあり。 ただシンプルに保つことを意識する。 • もしかしたら別のソフトウェアにしたほうがいいかも知れない。 プレビューしているものを GitHub Gist にアップロードできたら 便利だと思ったけど、それはこのソフトが解決すべきこと ではないので別途作成した。 -> https://github.com/sachaos/gist
sachaos/todosit • todoist というサービスのCLI • U2病だからターミナルでしか(ry • https://github.com/sachaos/todoist
None
出力はシンプルに保つ • 出力がシンプルだと組み合わせやすい。 • フィルタリングするツールと組み合わせることが出来るよう、出力は1 行に1レコードを保つ。 grep, peco などでフィルタリングしやすい。
• 結局、ユーザーの強い要望があって 複雑なクエリに対応するために --filter オプションを付けた・・・
飽きないように鉄は熱いうちに打て • だらだら作ってると飽きてしまうというのが何度かあった。 • PoC までは思い立った瞬間に作ってみると良い • ひとまず形になれば最悪その状態でも公開できる。
リリースする時 • 「公開・宣伝して叩かれたりしたら怖いな・・・」 • 「炎上したらどうしよう・・・」
プロモーションを恐るな • いいものを作ったら勝手に評価されるというのは 「地道にやっていたらスカウトされる」と思っている バンドマンくらい甘い • 作ったら Twitter でも Qiita
でも Reddit でも なんでもいいから宣伝しよう 個人的には Reddit おすすめです。
最後に • 今日は触れなかったけど 自分のレポジトリ外のOSS 活動について • 「なんか PR 投げたら怒られたりするんじゃないか?」 とか思ってた時期があったんですけど、
OSS 公開する側になったら PR とか すごく嬉しいものなんだなと思いました。 (人によるかもしれないですが・・・) • なのでガンガン投げればいいと思います! • OSS 活動やっていきましょう!
おわり