さて、あなたは全てのドキュメントを読み終え、Debian
新メンテナガイドを通して例題の hello
パッケージがどの様になっているのか全てを理解し、お気に入りのソフトウェアの一つを Debianize (Debian パッケージ化)
しようとしているところです。実際のところ、どうやったら Debian 開発者になってプロジェクトに成果を受け入れてもらえるようになるのでしょうか?
まず始めに、まだであれば <debian-devel@lists.debian.org>
を購読しましょう。subscribe
という単語をサブジェクト
に書いた <debian-devel-REQUEST@lists.debian.org>
へのメールを送ってください。何か問題がある場合は、<listmaster@lists.debian.org>
のメーリングリスト管理者に確認をとりましょう。メーリングリストについての詳しい情報は 「メーリングリスト」
で見つけられます。そして <debian-devel-announce@lists.debian.org>
は、Debian
の開発に携わりたいという人は誰でも読む義務がある、もう一つのメーリングリストです。
参加後、何かコーディングを始める前に、しばらくの間「待ち」(投稿せずに読むだけ) の状態でいるのが良いでしょう。それから、重複作業を避けるために何の作業をしようとしているのか表明をする必要があります。
もう一つ、購読すると良いのが <debian-mentors@lists.debian.org>
です。詳細は 「Debian メンター (mentors) とスポンサー (sponsors) について 」
を参照してください。IRC チャンネル #debian
も役に立つでしょう。「IRC チャンネル」 を見てください。
何らかの方法で Debian に対して貢献したいと思った時、同じような作業に従事している既存の Debian
メンテナにコンタクトしてみてください。そうすれば経験豊かな開発者から学ぶことができます。例えば、既にあるソフトウェアを Debian
用にパッケージ化するのに興味を持っている場合、スポンサーを探しましょう。スポンサーはあなたと一緒にパッケージ化作業を手伝い、あなたの作業が満足する出来になったら
Debian アーカイブにパッケージをアップロードしてくれます。スポンサーは、<debian-mentors@lists.debian.org>
メーリングリストへパッケージとあなた自身の説明とスポンサーを探していることをメールして見つけましょう (詳細については 「パッケージのスポンサーを行う」 および https://wiki.debian.org/DebianMentorsFaq
を参照)。さらに、Debian
を他のアーキテクチャやカーネルへ移植するのに興味を持っている場合、移植関連のメーリングリストに参加して、どうやって始めればいいのかを尋ねましょう。最後に、ドキュメントや品質保証
(Quality Assuarance、QA)
の作業に興味がある場合は、この様な作業を行っているメンテナ達の集まりに参加して、パッチや改善案を送ってください。
メールアドレスのローカルパートが非常に一般的な場合、落とし穴にハマる可能性があります。mail、admin、root、master のような単語は使わないようにするべきです。詳しくは https://www.debian.org/MailingLists/ を参照してください。
メーリングリスト <debian-mentors@lists.debian.org>
が、パッケージ化の第一歩目や他の開発者と調整が必要な問題などで手助けを必要としている新米メンテナに用意されています。新たな開発者は皆、このメーリングリストに参加することをお勧めします
(詳細は 「メーリングリスト」 を参照してください)。
一対一での指導 (つまり、プライベートなメールのやり取りで) の方が良い、という人もこのメーリングリストに投稿しましょう。経験豊かな開発者が助けになってくれるはずです。
付け加えておくと、Debian にパッケージを含める準備が出来ているものの、新規メンテナ応募作業の完了を待っているような場合は、パッケージをアップロードしてくれるスポンサーを探すことも出来ます。スポンサーは公式 Debian 開発者で、あなたのパッケージに対して問題を探したりアップロードしようとしてくれる人達です。まずは https://wiki.debian.org/DebianMentorsFaq にある debian-mentors FAQ を読んでください。
メンターあるいはスポンサーになりたいという人は、「Debian 開発者候補に対応する」 でより詳細な情報が手に入ります。
Debian への登録を決める前に、新メンテナのコーナーで手に入る全ての情報に目を通してください。Debian 開発者になるための登録をする前に必要な準備がすべて記載されています。例えば、応募の前に Debian 社会契約を読む必要があります。開発者として登録するということは、Debian 社会契約に同意し、遵守し続けることを意味します。メンテナにとって Debian の背景にある根本的な理念に従うのは大変重要な事です。GNU Manifestoを読むのも良い考えでしょう。
開発者としての登録手順は、あなたのアイデンティティと意図と技術的なスキルレベルの確認手順でもあります。Debian について作業をする人の数は 1000 を越えて増えつづけています。そして、我々のシステムは幾多の重要な場所で使われており、セキュリティ侵害には十分に注意しなければなりません。つまり、新たなメンテナに我々のサーバのアカウントを与えたりパッケージのアップロードを許可したりする前には審査する必要があるのです。
実際に登録する前に、あなたは良い仕事ができる貢献者となり得ることを示さねばなりません。バグ追跡システムを介してパッチを送ったり、既存の Debian 開発者のスポンサーによるパッケージの管理をしばらくの間行うなどして、これをアピールします。付け加えておくと、我々は貢献してくれる人達が単に自分のパッケージをメンテナンスするだけにではなく、プロジェクト全体について興味を持ってくれることを期待しています。バグについての追加情報、できればパッチの提供などによって他のメンテナを手助けできるのであれば、早速実行しましょう!
登録に際しては Debian の考え方と技術文書を充分理解している必要があります。さらに、既存のメンテナに署名をしてもらった GnuPG 鍵が必要です。まだ GnuPG 鍵に署名してもらっていない場合は、あなたの鍵に署名してくれる Debian 開発者に会いましょう。GnuPG Key Signing Coordination page が近くの Debian 開発者を探す手助けとなるでしょう。(近くに Debian 開発者がいない場合は、ID チェックを通過する別の方法としてケースバイケースで例外処理として扱うことも可能です。詳細については 身分証明のページ を参照してください)。
OpenPGP 鍵をまだ持っていない場合は生成してください。全ての開発者がパッケージをアップロードする際に署名と確認の為に OpenPGP 鍵を必要とします。必ず、使っているソフトのマニュアルを読んでおいてください。何故ならば、セキュリティに直結している重要な情報を含んでいるからです。多くのセキュリティ事故は、殆どがソフトウェアの問題や高度なスパイテクニックではなく、人間が犯すミスや勘違いによるものです。公開鍵の管理についての詳細は 「公開鍵をメンテナンスする」 を参照してください。
Debian では GNU Privacy Guard
(gnupg
パッケージ、バージョン 1 以降) を標準として利用しています。他の OpenPGP
実装も同様に利用できます。OpenPGP は RFC 2440
に準拠したオープン標準です。
Debian での開発においては、バージョン 4 の鍵の利用が求められます。鍵の長さは少なくとも 1024 ビットが必要です。それより短い鍵を利用する理由は何もありませんし、使った場合はあまり安全ではなくなります。[1]
あなたの公開鍵が subkeys.pgp.net
などの公開鍵サーバにない場合は、新規メンテナ
手順 2: 身分証明
にあるドキュメントを読んでください。このドキュメントにはどうやって公開鍵サーバに鍵を登録するのかが記載されています。新規メンテナグループは、まだ登録されていない場合はあなたの公開鍵をサーバに登録します。
幾つかの国では、一般市民の暗号関連ソフトウェアの使用について制限をかけています。しかし、このことは暗号関連ソフトウェアを暗号化ではなく認証に利用する際には完全に合法であるような場合には、Debian パッケージメンテナとしての活動を妨げることにはなりません。あなたが認証目的にすら暗号技術の利用が制限される国に住んでいる、と言う場合は、我々に連絡をしていただければ特別な措置を講じることができます。
新規メンテナの応募をするのであれば、既存の Debian 開発者にあなたの応募をサポートしてもらう (支持者
(Advocate)
になってもらう) 必要があります。ある程度の期間 Debian
に対して貢献を行った後で、登録された開発者になるために応募をしたい場合、過去何ヶ月かに渡って一緒に作業をした既存の開発者に、あなたが Debian
に間違いなく貢献できることを信じている旨を表明してもらう必要があります。
支持者 (Advocate) を見つけ、GnuPG 鍵に署名をしてもらい、既にある程度の間 Debian に対して貢献的な作業をしているのであれば、応募の準備は完了です。すぐに 応募のページで登録できます。登録後、支持者 (Advocate) はあなたの応募に関してその意志を確認する必要があります。支持者がこの手順を完了すると応募管理者 (Application Manager) に割り当てられます。応募管理者は、新規メンテナプロセスで必要となる手順をあなたと共に歩んでいく存在です。進捗状況については、常に applications status board のページで確認ができます。
より詳しい内容については Debian ウェブサイトの 新規メンテナのコーナー を参考にしてください。実際の応募前に、新規メンテナプロセスでの必要な手順について詳しく理解しておいてください。十分に準備ができていたら、後で費やす時間を大いに減らすことができます。
[1] バージョン 4 の鍵は、RFC 2440 で規定されているように OpenPGP 標準に適合します。GnuPG を使って鍵を作ると、鍵のタイプは常にバージョン 4 になります。PGP はバージョン 5.x からバージョン 4 の鍵を作ることもできるようになっています。別の選択肢としては、v3 の鍵 (PGP ではレガシー RSA とも呼ばれます) と互換性のある pgp 2.6.x になります。
バージョン 4 (primary) 鍵は RSA アルゴリズムか DSA アルゴリズムのどちらでも利用できます。つまり、GnuPG が (1) DSA and Elgamal, (2) DSA (sign only), (5) RSA (sign only) の中からどの種類の鍵を使いたいか質問してきても何も迷うことはありません。特別な理由がない限りは単にデフォルトを選んでください。
今ある鍵が v4 の鍵なのか v3 (あるいは v2) の鍵なのかを判断するもっとも簡単な方法はフィンガープリントを見ることです。バージョン 4
鍵のフィンガープリントは、鍵要素の一部を SHA-1 ハッシュにしたもので、通常 4 文字ごとに区切られた 40 文字の 16
進数になります。古いバージョンの鍵形式では、フィンガープリントは MD5 を使っており、2 文字ごとに区切られた 16
進数で表示されます。例えば、あなたのフィンガープリントが
5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F
のようになっている場合は、v4 鍵です。
別のやり方として、鍵をパイプで pgpdump に渡して Public Key Packet - Ver 4 のような出力を得るという方法もあります。
もちろん、鍵が自己署名されている必要があります (つまり、全ての鍵は所有者の ID によって署名されている必要があります。これによって、ユーザ ID の偽造 (タンパリング) を防いでいます)。最近の OpenPGP ソフトウェアは皆これを自動的に行いますが、古い鍵を持っているような場合は自分でこの署名を追加する必要があるでしょう。