MENU

Laravelのコントリビュートガイドを読んだ

OSSのコントリビュート自体経験がありませんでしたが、
Laravelを使っていて「ここ改善できそうだな…」と思ったところがあり、

折角ならコントリビュートデビューするかと思い立ちました。

とはいえ、
OSSへのコントリビュート自体が初めてなので、手順が分からなかったので調査すると、Laravel自体が Contribution Guide なる、コントリビュートの手引きが用意されていた。

とりあえず、
て初めてとしてContribution Guideを読んでみたので、記録としてまとめておく。

目次

Contribution Guide

以下公式URL

https://laravel.com/docs/11.x/contributions

なお、Laravelのversion毎に当Guideは用意されているが、
現時点での最新安定バージョンであるversion 11のGuideを参照している。

Guideの目次は以下の通り

これらを一つずつ確認していく。

Bug Reports

  • Bug Reports ではなく、pull requestの作成を強く推奨している。

(Bub Reportsは、こんな感じでGithub 上にまとめられている。)

  • pull request が作成されると、 新しい機能の全てのテストを通して、レビューされる。(draftの状態だとレビューされない上に、そのまま放置されると、自動的にcloseされる)
  • LaravelはProject毎にリポジトリが分かれているので、適切なリポジトリに対してpull requestを作成する。

つまり、 何か提案がある場合、pull request(not draft)を適切なrepositoryに対して送ってね、ということ。

Support Questions

  • Laravelのissue trackersは、helpやsupportを目的としたものではありません。
  • それらが必要な場合には、以下のchannelを利用してください。

つまり、 Laravelに関することで実装上の困りごとがあった場合は、

こちらのような形でissuesではなく、
上記リスト等のサービスで助けを求めてね、ということ。

Core Development Discussion

  • Laravelの新機能・既存の改善等がある場合、DIscussionsで議論することもできるよ
  • ざっくばらんな議論がしたい場合、Discordのチャンネルがあるから、それも使ってね

つまり、
新機能に関して意見があったりする場合には、 然るべき場所を用意しているから、そちらで積極的に議論してね、ということ。

Which Branch?

  • 以下基準で、pull request先のブランチを決定してください。
    • Minor version up最新安定版のブランチ(記事執筆時点:11.x
      • bugfix
      • 下位互換性のある変更 など
    • Major version upmasterブランチ
      • 破壊的変更を含む場合
      • 新機能 など

OSSのGitにおけるBranchの運用に関して、あまり意識したことありませんでしたが、

  • master:次のメジャーリリースのための新機能を含む
  • n.x(11.xなど):version nの安定版

を指す、ということを初めて知りました。

Compiled Assets

  • resouces/cssresouces/js 配下 のような、コンパイル済みのファイルに影響を与えるcommitをする場合、 コンパイル済みのファイルをcommitしないでください。

つまり、
この辺りのresouces配下のファイルを変更する場、コンパイルした場合の成果物として、public配下にファイルが作られるけど、
前者のresouces 配下のファイルだけcommitしてね。 ということだと思う。

Security Vulnerabilities

  • Laravelにセキュリティー脆弱性を見つけた場合は、メールでTaylor Otwell(taylorotwell@laravel.com)に連絡してください。全セキュリティー脆弱性は、速やかに対応されるでしょう。

セキュリティーの脆弱性をpull request・issue・Discussion等で挙げてしまうと問題なので、というかと思います。

Coding Style

  • LaravelはPSR-2コーディング規約とPSR-4オートローディング規約に準拠しています。
  • PHPDoc
  • StyleCI

コーディング規約はありますが、
Style CIが動くので(この辺に設定があった)そこまで気にせずコードを書いてください、ということ。

Code of Conduct

  • Laravelの行動規範はRubyの行動規範を基にしています。
  • 行動規範

Rubyの行動規範がこちら

その他 感想

pull requestのマージ頻度が結構多い

Laravel/framework のclose済みのpull requestを見てると、
1時間に一つぐらいのページでマージされていることが分かった。

ここまで高頻度でマージされているとは。
流石の人気ですね。

初めて知れたことが多かった

  • Style CIの存在
  • OSSにおけるGit上のBrancの運用方法
  • Laravelの行動規範は、Rubyのそれを基にしていること

など、副産物として初めて知ることが多く、見識が深まった。

まとめ

コントリビュート方法は概ね分かったので、次はコントリビュートに調整する!!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次