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
410
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.2k
Cloud Run でシェルスクリプトを動かす
sachaos
0
2.3k
GAE を利用したゲーム内通貨管理サービスの運用〜可用性を損なわないための工夫〜
sachaos
0
1.2k
Go の静的解析ツールの作成と活用
sachaos
0
2.5k
レイトレーシングとGoroutine
sachaos
2
970
GCPをフル活用したゲームログ収集基盤の構築
sachaos
6
2.7k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
For a Future-Friendly Web
brad_frost
172
9k
The Language of Interfaces
destraynor
151
23k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Ruby is Unlike a Banana
tanoku
96
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Thoughts on Productivity
jonyablonski
58
3.8k
Adopting Sorbet at Scale
ufuk
68
8.6k
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 活動やっていきましょう!
おわり