本記事で語る事
- そもそも「コントリビュータ」って何?
- コントリビュータになるメリット
- 初学者の方こそコントリビュートに挑戦して欲しい、という事
- コントリビュータになる事は難しくない
- コントリビュータになる流れ
(大前提)OSSとは
知ってらい!という方が多いかと思いますが、あえて...
OSSとは、
オープンソースソフトウェア、の略称です。
Web開発での例に挙げさせて頂くと、
ReactやjQuery等、無償での利用が可能なソフトウェアになります。
昨今、Web開発であればReactやVue.js等を使わないプロジェクトはほとんど無い、ソフトウェアエンジニアにとっては非常に身近な存在であると考えます。
詳細はこちら
コントリビュートとは
和訳 -> contribute : 貢献する
OSS開発においては、有志によるOSS開発への貢献を指します。
貢献、とは様々な形がありますが、
本記事ではバグ改修、機能改善等、ソフトウェア(OSS)の開発、改善を貢献として解説させて頂きます。
ハードルは高い?
高くありません。
OSS、内容によりますが、難易度が高い複雑なバグ改修、機能追加だけが貢献ではありません。
非常に軽微なバグ改修や、README等のドキュメントリソースの誤字脱字修正も立派な貢献です。
コントリビュートするメリット
技術力の向上につながる
自身が興味を抱いているOSSや、普段から使っているOSSであれば、そのOSSに対する習熟がより深まります。
また著名なOSSであれば、開発に携わっているハイスキルなエンジニアのテクニックをより身近で吸収するチャンスにも恵まれます。
転職活動でアピールポイントになる
Web系企業であれば、応募時点でGithubのアカウントまで確認される、という風潮はもう珍しい物ではありません。
ポートフォリオや個人開発といった自分だけの開発実績もアピールに繋がりますが、OSSへのコントリビュートは更にアピールに繋がりやすいです。
何故ならば、大小含めOSSへのコントリビュートを果たせる時点で、ある程度のリテラシーが担保されるからです。
リテラシーとは何ぞや?という点に関してですが、例を挙げると
- Git(+Github)のリテラシー
- チーム開発のリテラシー
- 英語力のリテラシー
- 大抵のOSSは英語で管理されているため
等です。
以上の理由から、
特に初学者の方にとって、OSSのコントリビュータに挑戦するという事は、学びになると同時に転職時へのアピールポイントにも使える、エンジニアとして非常に有用な自己投資となりえます。
コントリビュートの流れ
前提
- Githubで管理されているOSS
- 詳細な手順は各OSSによって異なる
- 作業環境にはgitのクライアントツールがインストール済
手順
-
Githubにログイン
-
コントリビュートしたいOSSのGithubリポジトリにアクセス
-
対応出来そうなバグ、改善をIssuesから見つける
-
「Contributing」というニュアンスの項目がどこかにあるので、探し出す(キャプチャはNext.js)
-
記載されている手順に沿って作業を進める
以上です。
上記だけだとイメージしづらいかもしれないので、よくある流れをかいつまんで紹介します。
よくある流れ
- 環境構築
-
git clone
から始まり、その後は必要な各種モジュールを手順に沿ってインストールしていく。
-
- 実装
- テストコード作成
- テスト実施
- 実施した結果次第で2、3に戻って実装を直す
- コミット
- プルリクエストを作成
- レビューバックがあれば対応。2~6までの流れを再度行う。
- 🎉マージ🎉
終わり
如何だったでしょうか。
この記事を見て、OSSのコントリビュータ活動を始められる方が一人でも増えれば幸いです。
それでは。