Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
OSSを作っている時に 考えていること ーUNIX哲学を添えてー 会津秋の陣 大 LT 大会 @sachaos
Slide 2
Slide 2 text
自己紹介 • @sachaos (サカオスと読みます) Twitter, GitHub もこれでやってます。 友達欲しいのでフォローしてくれると 嬉しいです。 • 所属: 株式会社アカツキ 新卒 3 年目 技術基盤開発 Go, GCP • U2病 UNIX 2 年生病 UNIX 文化にかぶれて、なんでも ターミナルで解決したくなる病気
Slide 3
Slide 3 text
早速本題
Slide 4
Slide 4 text
GitHub はこんな感じです
Slide 5
Slide 5 text
• 2年前は少しレポジトリ公開してるくらいで 誰も見向きもしないような感じだった。 • 意識的に考え方を変えていくと 開発も迷いなく出来るようになって どんどん使ってくれる人も増えてきた。 • 今日はその考え方をシェアして、 OSS開発ハードル高いと思っている人たちの 背中を押せればと思っています。
Slide 6
Slide 6 text
• アイデアができた時 • 作っている時 • リリースする時 • それぞれ悩んでいること、考えていることを話します。
Slide 7
Slide 7 text
アイデアができた時 • 「似たような奴あるけど、作る必要あるかな?」 • 「これ作っても誰も使ってくれないんじゃないかな・・・」
Slide 8
Slide 8 text
作るかどうか迷う時間があるなら 作った方がいい。 • 車輪の再発明は恐れなくていい。 何かを作らないよりも作ったほうが実装力が上がるはず。 既にあるものより良いものを作ることも出来るはず。 • 作らないと需要があることもわからない。 誰も使わないだろうなーというものでも おそらく誰か同じ悩みは抱えているはず。
Slide 9
Slide 9 text
作っている時 • 「この機能も入れたい!あの機能も!」 • 「どうやったら使いやすい形になるかな?」 • 「なんか色々考えているうちに飽きちゃったなー」
Slide 10
Slide 10 text
UNIX哲学に沿って作る • 小さいものは美しい。 • 一つのことをうまくやるツールを作る。 • 全てのプログラムをフィルタとして設計する。 • etc
Slide 11
Slide 11 text
sachaos/note • U2病だからターミナルでしかエディタは立ち上げられない。 • ターミナルだけではマークダウンのプレビューができない。 • なのでプレビューだけいい感じにできるものが欲しい。 • https://github.com/sachaos/note
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
一つのことをうまくやる • ファイルを監視してマークダウンを いい感じにブラウザに表示することだけをうまくやる • エディタとビューアが分離しているので 特定のエディタに依存せず組み合わせやすい。
Slide 14
Slide 14 text
無理に機能を付け足さない • 開発中はアイデアが発散して、多く機能を追加したくなる。 • 本当にこのソフトウェアに必要なものなのかを考える。 リリースしたら意外と使われないかもしれない。 届けたい体験に関与しないものかもしれない。 • 時間がかからないなら一旦作ってみるのもあり。 ただシンプルに保つことを意識する。 • もしかしたら別のソフトウェアにしたほうがいいかも知れない。 プレビューしているものを GitHub Gist にアップロードできたら 便利だと思ったけど、それはこのソフトが解決すべきこと ではないので別途作成した。 -> https://github.com/sachaos/gist
Slide 15
Slide 15 text
sachaos/todosit • todoist というサービスのCLI • U2病だからターミナルでしか(ry • https://github.com/sachaos/todoist
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
出力はシンプルに保つ • 出力がシンプルだと組み合わせやすい。 • フィルタリングするツールと組み合わせることが出来るよう、出力は1 行に1レコードを保つ。 grep, peco などでフィルタリングしやすい。 • 結局、ユーザーの強い要望があって 複雑なクエリに対応するために --filter オプションを付けた・・・
Slide 18
Slide 18 text
飽きないように鉄は熱いうちに打て • だらだら作ってると飽きてしまうというのが何度かあった。 • PoC までは思い立った瞬間に作ってみると良い • ひとまず形になれば最悪その状態でも公開できる。
Slide 19
Slide 19 text
リリースする時 • 「公開・宣伝して叩かれたりしたら怖いな・・・」 • 「炎上したらどうしよう・・・」
Slide 20
Slide 20 text
プロモーションを恐るな • いいものを作ったら勝手に評価されるというのは 「地道にやっていたらスカウトされる」と思っている バンドマンくらい甘い • 作ったら Twitter でも Qiita でも Reddit でも なんでもいいから宣伝しよう 個人的には Reddit おすすめです。
Slide 21
Slide 21 text
最後に • 今日は触れなかったけど 自分のレポジトリ外のOSS 活動について • 「なんか PR 投げたら怒られたりするんじゃないか?」 とか思ってた時期があったんですけど、 OSS 公開する側になったら PR とか すごく嬉しいものなんだなと思いました。 (人によるかもしれないですが・・・) • なのでガンガン投げればいいと思います! • OSS 活動やっていきましょう!
Slide 22
Slide 22 text
おわり