2ヵ月OSS活動をした結果…
概要
OSS活動を開始して2ヵ月ほど経ちました。
最初は「OSS活動なんて選ばれた優秀なエンジニアしか出来ない」と思っていました。
しかし実際に始めてみたところすんなりマージまでいきました。
OSS活動は自分にあったIssueを選択出来れば誰でも出来ると思います。
そして得られたモノも多いのでそちらについて話していきながら
どうすればOSS活動が出来るのか解説していきたいと思います。
自己紹介
- IT業界歴 10年
- しかし6年間運用監視業務を行っていた
- 実質経験4年程度のインフラエンジニア
- 直近の案件ではSREをしてたので CIツール , terraform , ansibleをよく使う
- 使える言語は Python , bash , powershell , VBA
OSSとは
オープンソースソフトウェアの略。
無償で利用でき、プログラムのソースコードが一般に公開されているソフトウェア。
以下がOSSに該当し、Githubでソースコードが公開されている。
- Apache(Webサーバー)
- Firefox(Webブラウザ)
- GIMP(画像編集ソフト)
OSS活動を始めようと思ったキッカケ
- 業務中にterraformやansible等のOSSのバグの影響で作業がpendする事が多々あり、どんな風に改善されていくのか興味を持った
- 自分の Github をポートフォリオとして見せて案件探しを有利に進めたかった
OSS 活動の大まかな流れ
ソースコードがGithubで公開されており、バグが見つかったり
機能改善・追加したい際はGithubのIssueで議論される。
Issueは誰でも閲覧出来るので以下の流れで行う。
※Githubアカウントを持ってる前提なのでない場合は作ってください。
- 自分が対応出来そうなIssueを見つける
- 対象のGithubリポジトリを
Fork
する -
git clone
でリポジトリをローカルに持ってくる -
git checkout
でローカルブランチを切る - 必要な変更を加える
-
git add
でステージング -
git commit
でコミット -
git push
で変更をpushする - PRを作る
- 議論しながらPRを修正していく
- メンテナからマージされたら完了
※まずは以下のリポジトリでPRを作って上記の流れを掴むのがオススメ
対応出来るIssueを探す
以下を基準に探すのがオススメです。
- 自分の使える言語から選ぶ
- 自分が使っているOSSから選ぶ
-
good first issue
というタグがついてるIssueを選ぶ
使える言語がない場合
ドキュメントの更新も立派なOSS活動です。
例えば
- 日本語への翻訳(
Japanese translation
で検索) - typoの修正(
typo hunter
で検索) -
documentation
というタグがついてるIssueを選ぶ
インフラエンジニアにオススメなOSS活動
インフラエンジニアとプログラマーを比べると
どうしてもプログラマーの方が使える言語が多かったり
OSS活動が有利に働きやすいと思います。
そこでインフラエンジニアにオススメしたいOSS活動ですが
CIを組んでないリポジトリにCIを組む
事を強くオススメします。
その際に誰もCIについて言及していなければ
自分からIssueで問題提起する事になります。
OSS活動によって得られたモノ
- 英語(reading , writing)の勉強になる
- チーム開発のお作法が学べる
- Git の知識が身につく
- コミュニティの人が褒めてくれて自己肯定感が上がる
- Githubのポートフォリオとしての質が上がる
- LAPRUSやFindyのスコアが上がった(心なしかスカウトが増えた気がする)
総括
実務経験が大事なエンジニア界隈でインフラエンジニアの場合は
資格を駆使して上流工程にのしあがる事が再現性の高い方法だと思いましたが
実務経験がなくともOSS活動をすることは評価に直結するのでもっと早くやればよかった。
今後OSS活動の評価をお伝えできるような記事を書きたい。
Discussion