Symfony Advent Calendar 2020 day4 です! 昨日は @ttskchさんのSymfonyFormについての記事 でした。

昨夜から SymfonyWorld Online 2020 に参加しています。英語漬け&夜ふかしのせいで今かなり眠いです…。 SymfonyWorld の一番最初、Fabienの基調講演前にSymfony Core TeamのNicolas Grekasさんから短いトークがありました。 Symfonyへのコントリビュートを呼びかけるものでした。

SymfonyにPullRequestを送るときにやってほしいこと

symfony/symfonyレポジトリに対して送る

Symfonyはsplitshを使って各コンポーネントやバンドルごとのレポジトリを持っていますが、PullRequestは必ずすべてを統合したsymfony/symfonyに対して送る必要があります。

差分を適用したい最も低いブランチに対してPullRequestを送る

たとえば、4.4以降masterまで適用したい場合は4.4ブランチに対してPullRequestを送ります。 (ただし、既にメンテナンスされていないバージョンに対しては送ってもマージされないと思いますが)

masterにPullRequestを送ってしまうとmaster 以降 にしか適用されなくなってしまうので気をつけてください。 PullRequestが4.4にマージされた後、同じ差分をmasterまでマージするのはCore Teamがやってくれるので、たくさんのバージョンブランチに対してPullRequestを送る必要はありません。

テストをつける

意外に思われるかもしれませんが、Symfonyに送られてくるPullRequestにもテストのないものが多いそうです。 小さなtypo修正ならともかく、バグフックスや機能追加の場合、テストのないものは受け入れられないので、テストは必ず書きましょうとのことでした。

コメントを歓迎する(受け入れる)

SymfonyにPullRequestを出すと、何か指摘コメントがつくことがほとんどです。私もPullRequestにつけたテストでmockを使っていたら、「mockを使うな」と言われてコメントで反論したら、思いがけず大激論になってしまった経験があります :sweat_smile:

Nicolasさんによると、自分の送ったPullRequestにつくコメントは成長のチャンスなので、拒絶せずに受け止めてほしいということでした。(もちろん指摘を丸呑みせよという意味ではないと思います)

バグフィックスや機能追加ができなくてもSymfonyに貢献できるお仕事

…と言われても「コントリビュートしてみたいけど、そんなすごい新機能とか思いつかないし、バグも見つけられないし直せないし…」と思う方がほとんどだと思います。 SymfonyにPullRequestを送るだけでなく、他の方法で貢献することもできます。

symfony/symfonyの新着のissuesを見て、

  • バグの再現を手伝う
  • help wanted ラベルのついたissueで手伝えそうなことがあればやってみる
  • good first issue ラベルのついたissueに挑戦してみる

symfony/symfonyの新着のPullRequestを見て、

  • レビューする

のも立派なコントリビュートになります。 事実、いまSymfony Core Teamで活躍しているスーパーエンジニア達も最初はレビュアーとして活躍したところから、どんどん頭角を表してCore Teamに入った方もいると聞いたことがあります。

hackdayに参加してみよう

ここまで読んで、「よーし、自分もSymfonyにコントリビュートしてみよう!」という気分になった方に朗報です! 12/5(土)朝9時〜(日本時間だとたぶん17時〜)Symfony Hackdayがあります。 https://sfhackday.com/

Symfony devのSlackに登録(無料)して、 #hackday チャンネルに入ればOK。 英語ですが、テキストコミュニケーションなのでGoogle翻訳で十分です。

私も家事の合間に参加する予定です! #hackday チャンネルでお会いしましょう!