title | emoji | type | topics | published | published_at | |
---|---|---|---|---|---|---|
これで君もOSSコントリビューター! |
🔰 |
tech |
|
true |
2024-01-08 07:00 |
2024年の目標の一つに、OSSコントリビュートに挑戦してくことを決めました。 初めてのコントリビュート系の記事はすでに先人たちが書かれていたので本記事を書こうか迷ったのですが、誰かのきっかけになればいいと思い書くことにしました。 🍼👦🏻 > こんなんなんぼあってもいいですからね!
OSSコントリビュートを始めたい方の最初のステップとして参考になれば幸いです🙏
- OSSコントリビュートをしてみたいが何から始めればいいかわからない方
https://github.com/firstcontributions/first-contributions
このリポジトリは、初心者がオープンソースプロジェクトに貢献する方法を簡単に学ぶことを目的としています。 現時点(2024/01/07)で、Fork 数が70.3kと非常に人気なのが分かりますね。 各言語の README が用意されており、もちろん日本語🇯🇵での説明もあります。
では、実際に README の手順に沿ってやってみましょう。 :::message README に手順が丁寧に記載されているので詰まるポイントはほぼないです。 :::
右上からForkを選択します。 右上の「Fork」を選択します
特に変更する点はないのでそのまま右下のCreate forkを選択します。 右下の「Create fork」を選択します
すると自分の GitHub アカウントに first-contributions リポジトリがフォークされました🎉
ターミナルを開いてリポジトリをクローンします。
git clone <コピーしたリポジトリurl>
例:(SSHの場合)
git clone git@github.com:kzhgit/first-contributions.git
クローンしてきたリポジトリに移動します。
cd first-contributions
git switch
コマンドを使用して作業用ブランチを作成します。
git switch -c <add-your-name>
例:
git switch -c add-kzhgit
今回の変更内容(コントリビュート内容)は自分の名前をリストに追加することなので、「add-your-name」のような形式になっています。
Contributors.md
ファイルを開くと、これまでコントリビュートした人たちの GitHub アカウントがズラーっと並んでいます。
# Contributors
- [Satyajit Patra](https://github.com/SatyajitPatra06)
- [Shahmeer malik](https://github.com/shahmeermalik1)
- [Karuppaiah](https://github.com/akdinesh124)
...省略...
どこでも良いので自分の名前を追加してみましょう。
# Contributors
...省略...
+ - [Kazuho](https://github.com/kzhgit)
...省略...
追加できたら add して commit します。
git add Contributors.md
git commit -m "Add <あなたの名前> to Contributors list"
例:
git commit -m "Add Kazuho to Contributors list"
git push
コマンドを使用して変更をリモートリポジトリに push します。
git push origin <ブランチ名>
例:
git push origin add-kzhgit
リポジトリを再度確認するとプルリクエストの作成ボタンが表示されるので選択します。 「Compare & pull request」を選択
特に追記することはないのでそのままCreate pull requestを選択します。 右下の「Create pull request」を選択
数分待つと自動でマージされました! これでOSSコントリビューターの第一歩を踏み出せましたね😎
OSSコントリビュートを始めたい方の最初のステップとして、このようなリポジトリがあるのは非常にありがたいと思いました。
また、必ずしもコードを書くことがコントリビュートとは限らないとあるように、 以下の行動も立派なコントリビュートとされています。
- ドキュメントの作成や改善
- 翻訳
- コミュニティサポート(フォーラムやチャットでの質問対応)
- 他の人のコードをレビューする...etc
個人的にリポジトリのissue内の会話を見てエラー解決できたことも結構多いので、そういった会話に参加するだけで誰かの役に立てることもあるんだな〜なんて思いました。
例えば、Zenn にはユーザが要望や質問などを投稿できるリポジトリがあります。 https://github.com/zenn-dev/zenn-community
本記事を書いている時、過去に issue をあげたことがあるのを思い出しました。 zenn-dev/zenn-community#527
このように、まずは普段使っているサービスやコミュニティにバグ報告や機能追加の提案をしてみることから始めても良いのではないでしょうか?