前回に引き続き、MacPorts の話です。最近は Homebrew も気になるところですが、相変わらず MacPorts を使い続けています(個人的な好みの問題ですが)。
さて、Portfile が書けるようになってくると、それを配布したくなってくると思います。さらに、どうせなら本家にコミットしたいと思うかもしれません。そんなわけで、今回は MacPorts コミッタになる方法について述べます。
= MacPorts-JP の利用
いきなり本家に行くのが不安に感じたら、まずは MacPorts-JP を利用するのが良いと思います。
独自の PrivatePorts があり、ここに自作の Portfile をコミットしたりできます。コミットするには、sourceforge.jp のアカウントを取得してプロジェクトに参加すれば OK です。リポジトリは本家と同様に subversion で管理されています。
分からないことがあれば、日本語で相談することもできます。メンバには本家へのコミット権を持つ人も複数参加しています。
= 本家 Trac の利用
MacPorts 本家に Portfile を取り込んでほしくなったら、いきなりコミット権をもらおうと考えるのではなく、まずは Trac に提出しましょう。Trac に提出した内容に問題がなければ、コミット権を持つ誰かが代わりにコミットしてくれます。
Trac チケットの書き方は MacPorts Guide に書いてあるので、一度見ておくと良いと思います。英語で書く必要がありますが、簡単な英語で十分なので(Portfile を書けるくらいの人なら)そんなに難しくないと思います。
ポイントは Summary をちゃんと書くことでしょう。Summary が分からないと、相手にしてもらえないかもしれません。Guide に書いてあるように、「port名 バージョン 説明」の形式で書いておきましょう。Summary で足りない内容は Description に書きます。まあ、あまりくどくど詳細を書く必要はないと思います。新規 port なのか既存 port の修正なのかくらいは分かるようにしたほうがいいでしょう。
Type の欄は、新規の port の場合は submission にします。既存の port を更新する場合は、バージョンアップ対応なら update、機能拡張なら enhancement、バグ修正なら defect にします。ただ、迷うようなら厳密に考えずにフィーリングで良いと思います。大事なのはメンテナに意図が伝わるかどうかです。簡単なコミュニケーションができればOKです。
なお、port を継続的に更新するつもりがあるなら、Portfile の maintainers を自分のメールアドレスにします(正確には、メールアドレスが name@example.com であれば example.com:name という形式で書きます)。一時的に提出しただけで今後の更新はほかの人にまかせたい場合は、maintainers を nomaintainer にします。nomaintainer の場合、誰かが更新したりメンテナになってくれるかもしれませんし、そのまま放置されるかもしれません。
= コミット権のリクエスト
Trac で何度かやりとりして、そろそろ自分でコミットしたい、と思ったら、コミット権をリクエストしましょう。あまり貢献していない人がいきなりコミット権を要求しても許可されないかもしれませんが、まあ Trac で数件のチケットを出したことがある人なら大丈夫なんじゃないかと思います。
リクエストの方法はやはり MacPorts Guide に書いてあります。なぜコミット権が欲しいのか理由を伝える必要がありますが、具体的にメンテナンスしたい port の名前を挙げれば良いでしょう。
なお、コミット権はすぐにもらえるわけではなく、時間がかかります。開発者の皆さんは忙しいのでしょうから、気長に待ちましょう。私の場合はなんと2ヶ月もかかりました。(今はもう少し早くなっているのかなあ?)
= コミッタになったら
一度コミット権をもらってしまえば、その後は本家の subversion リポジトリに直接コミットできます。ちなみに、コミット内容はしっかりチェックされていて、変なコミットをするとすかさず指摘メールが飛んできます。さらにそのメールは開発者向けのメーリングリストに流れるので、みんなのさらしものになります。私もなりました(笑)。まあ、それがオープンソースのコミュニティってものでしょうね。
= まとめ
MacPorts コミッタになる方法について書きました。
Mac Dev JP Advent Calendar の明日の予定はまだ埋まっていないみたいです。ぜひ参加してみてください。