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
470
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.3k
Cloud Run でシェルスクリプトを動かす
sachaos
0
2.5k
GAE を利用したゲーム内通貨管理サービスの運用〜可用性を損なわないための工夫〜
sachaos
0
1.2k
Go の静的解析ツールの作成と活用
sachaos
0
2.7k
レイトレーシングとGoroutine
sachaos
2
1k
GCPをフル活用したゲームログ収集基盤の構築
sachaos
6
2.9k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Designing for Performance
lara
604
68k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
What's new in Ruby 2.0
geeforr
342
31k
Speed Design
sergeychernyshev
24
570
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
Automating Front-end Workflow
addyosmani
1365
200k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
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 活動やっていきましょう!
おわり