OSSと私
PYTHON KANSAI #02 2019.12.08
Page 1 / 29Page 1 / 29
お前誰よ?
Hideo Hattori / hhatto
ソフトウェアエンジニア
好きな⾔語: Python / Go / Rust
好きなPython: CPython 3.8.0
Page 2 / 29Page 2 / 29
今⽇お話しすること
10年くらいOSSに関わってきた記憶を辿ってお
話ししようと思います
あまり教訓めいたものやベストプラクティスみ
たいなモノは無いです
OSSにより深く関わるきっかけになれば嬉しい
です
Page 3 / 29Page 3 / 29
今⽇お話しすること
なぜOSSに関わるのか
どう関わるのか
何をやってきたか・具体例
まとめ
Page 4 / 29Page 4 / 29
10年の変遷
Page 5 / 29Page 5 / 29
昔
Linux
CVS / SVN
SourceForge
Python2
CPAN / PyPI
Vim
Page 6 / 29Page 6 / 29
今
Macbook
Git
GitHub / GitLab
Python3 / Go / Rust
PyPI / crates.io
Vim
Page 7 / 29Page 7 / 29
やってることは
そんなに変わらない
Page 8 / 29Page 8 / 29
なぜOSSに関わるのか
Page 9 / 29Page 9 / 29
楽しみ
ソフトウェア開発が好き
承認欲求
褒められたい
有名なOSSに貢献したい
デイジョブとは違う開発体験
Page 10 / 29Page 10 / 29
学び
いろいろなソフトウェアのソースが⾒れる
その時々のトレンドが知れる
Page 11 / 29Page 11 / 29
オープン
ソースが公開されていることはありがたい
ソフトウェア書きながら何か世界に貢献できる
少し便利な世の中になる
Page 12 / 29Page 12 / 29
もう少し個⼈的な理由
ある種の能⼒が証明できる
Pythonに詳しくなりたいと思ってPythonなプ
ロジェクトをたくさん始めたり翻訳に関わって
みたり
Rustに詳しくなりたいと思って...以下略
Page 13 / 29Page 13 / 29
もう少し個⼈的な理由
好きなことを仕事にできる
お⾦が稼げる
仕事に繋がる
転職
評価
Page 14 / 29Page 14 / 29
どう関わるか
Page 15 / 29Page 15 / 29
いろいろな貢献の形
OSSを使う(それを誰かに共有する)
バグ報告、要望を伝える
コードを書く
Pull-Request
プロジェクトを作る
寄付
Page 16 / 29Page 16 / 29
うまく続けてこれた理由
⾃分の役に⽴つものを始める(作る、使う)
(⼼の中で)師を持つ
⾃分の得意な領域で得意なことをする
メインストリームより隙間を埋めるようなポ
ジショニング
コードが読めてコードが書ける
Page 17 / 29Page 17 / 29
⻑く続ける秘訣
頑張りすぎない
イシュー爆弾
疲れたら休む
英語
Google翻訳
定型⽂で乗りきる
勢い
Page 18 / 29Page 18 / 29
具体例
Page 19 / 29Page 19 / 29
autopep8
Python
割と有名なcode formatter
Author
Page 20 / 29Page 20 / 29
autopep8
2010.12.30 first commit
commit 5968220213bdc9dc9442178738641b96c295df74
Author: Hideo Hattori <hattori@uranium.(none)>
Date: Thu Dec 30 05:27:29 2010 +0900
initial commit
.gitignore | 5 +++++
README.rst | 23 +++++++++++++++++++++++
autopep8.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
setup.py | 32 ++++++++++++++++++++++++++++++++
test_target.py | 24 ++++++++++++++++++++++++
5 files changed, 176 insertions(+)
Page 21 / 29Page 21 / 29
autopep8
PEP8に従ったコードに⾃動で修正するツール
⾃分で使いたくて始めた
転職できた
autopep8を話題にしてPyConJPでLTできた
いろいろなカンファレンスで話のきっかけにで
きた
サイドプロジェクトとして継続することによっ
てPythonを学ぶ機会にできた
Page 22 / 29Page 22 / 29
rusoto
Rust
AWS SDK
Page 23 / 29Page 23 / 29
rusoto
仕事の個⼈的な⾃動化ツールにRustの勉強を兼
ねて使い始める
いろいろ開発が⾜りていないところを⾒つけた
のでPull Requestを投げる
AWSの気づいてなかったサービスとかが勉強で
きて楽しい
Page 24 / 29Page 24 / 29
寄付
Twitterとかで⾒たら⾃分のできる範囲で
readthedocs
Celery
...
open collective
GitHub Sponsors
Page 25 / 29Page 25 / 29
(強引な)まとめ
Page 26 / 29Page 26 / 29
まとめ
OSSに関わるのは楽しい
OSSに関わると学びがある
OSSに関わるとちょっと有名になれる
OSSに関わることで開発者としての強みができ
る
Page 27 / 29Page 27 / 29
⼩さなことから初めてみよう!!
Page 28 / 29Page 28 / 29
Thank you
Page 29 / 29Page 29 / 29

OSSと私