👮

2ヵ月OSS活動をした結果…

2023/09/28に公開

概要

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アカウントを持ってる前提なのでない場合は作ってください。

  1. 自分が対応出来そうなIssueを見つける
  2. 対象のGithubリポジトリをForkする
  3. git cloneでリポジトリをローカルに持ってくる
  4. git checkoutでローカルブランチを切る
  5. 必要な変更を加える
  6. git addでステージング
  7. git commitでコミット
  8. git pushで変更をpushする
  9. PRを作る
  10. 議論しながらPRを修正していく
  11. メンテナからマージされたら完了

※まずは以下のリポジトリでPRを作って上記の流れを掴むのがオススメ
https://github.com/firstcontributions/first-contributions

対応出来る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活動の評価をお伝えできるような記事を書きたい。

GitHubで編集を提案

Discussion