debパッケージのメンテナンスやそれを支えるシステムの開発
ステータス
終了しました。 ご応募いただきました皆様ありがとうございました。
最終レポート
成果発表会
オンライン開催:東京エリア・関西合同Debian勉強会(2021/11/21(日))にて実施しました。
日報
参考資料
ミーティングの記録
先輩の名前
林健太郎
開発対象の概要
キーワード:Debianプロジェクト Ubuntuプロジェクト debパッケージ mentors.debian.net
Debianはコミュニティーベースで開発されているLinuxディストリビューションの1つです。 数多くのパッケージが使えるようになっているのは、Debian開発者だけでなく、コントリビューターやメンテナーといったDebianプロジェクトに関わるたくさんの人の成果によるものです。
しかし、まだまだDebianパッケージになっていないものがあったり、パッケージの不具合が修正されないままになっていることもあります。 この状態を改善するには、Debian/Ubuntuプロジェクトに関われる人を増やすことが重要です。
このプロジェクトでは、パッケージのメンテナンスやそれを支えるシステムを知ってもらい、継続的に関われる人を増やすことを目指します。 この目的の実現のために、次の3つのコースを用意しています。
それぞれのコースの具体的な内容に関しては、初回のWebミーティングで詳細を相談の上決定します。
Aコース: 新規Debianパッケージング作業
Debianパッケージのお作法はあまりよく知らないが、継続的にメンテナンスしていきたいパッケージがある場合におすすめです。 PPA(Personal Package Archives)にパッケージを置いており、まだDebianプロジェクトに持っていけていないパッケージがある場合にもおすすめです。
Bコース: 既存のdebパッケージの不具合報告や修正作業
実際に不具合報告をしたり、debパッケージの修正まではやってみたことがない場合におすすめです。 Debianプロジェクトの場合、https://bugs.debian.org に報告しますし、Ubuntuプロジェクトの場合には https://bugs.launchpad.net/ へと報告します。
Cコース: mentors.debian.netの改善
このコースはとりわけDebianプロジェクトに関わりたい人向けです。 mentors.debian.netは、Debianパッケージを一時的にアップロードしてスポンサーを探したりするのによく使われているサイトです。Djangoで実装されているのでPythonやWebアプリに興味がある場合におすすめです。
対象OSSの開発に参加することで新人が得られること
- Debianプロジェクトに関する理解(A・B・Cコース共通)
- Debianプロジェクトがどのように運営されているのかや、パッケージのメンテナンスがどのように行われているのかを理解する
- Debianパッケージに関する知識・経験
- 例: 新規に自由なソフトウェアをDebian公式にアップロードできるようにするまでに必要な作業に関する経験が得られる (Aコース)
- 例: debuildやgit buildpackage, autopkgtest等パッケージのメンテナンスに関わるツールの理解がすすむ (Aコース)
- 例: PPAに置いてあるdebパッケージをいい感じにしてDebianプロジェクトへもっていくやり方がわかる (Aコース)
- Debianプロジェクトでのバグ報告の仕方
- 例: bugs.debian.orgへのITP(パッケージ化作業をすすめることを宣言し、所定の書式でbugs.debian.orgに登録すること)やRFS(パッケージのスポンサーを探していることを宣言し、所定の書式でbugs.debian.orgに登録すること)の経験 (Aコース)
- 例: bugs.debian.orgへのバグ報告・レポートの処理の経験 (Bコース)
- 例: bugs.launchpad.netへのバグ報告の経験 (Bコース)
- mentors.debian.netに関する理解
- 例: mentors.debian.netの実装の理解を深め、実際に環境を構築して手を動かしながら未着手のissueに取り組んだ経験 (Cコース)
ITPやRFSといった用語のより正確な説明については略語の解説を参照してください。
期間終了時に新人に期待すること
Aコース: 新規Debianパッケージング作業
- まだパッケージングされていないフリーソフトウェアを見つけ、Aコースで得た知見をもとにパッケージング作業を相談しながら進められること
- ひとりですべてできる必要はなく、先輩に助言を求めたり、適切なコミュニティー(メーリングリストなど)で相談したりできる
- 例: まだパッケージングされていないのでITPして、パッケージング後にRFSを投げてスポンサーを探せる
- 例: PPA(Personal Package Archives)にあるパッケージをDebianプロジェクトに持っていく作業が進められる
Bコース: 既存のdebパッケージの不具合報告や修正作業
- debパッケージの不具合を見つけたとき、Bコースで得た知見をもとにbugs.debian.orgもしくはbugs.launchpad.netに報告できること
- 例: 意図しない挙動を踏んだときに、既存の不具合でないか確認したうえで不具合報告ができる
- 例: バグを報告するときに、適切なメタ情報を付与できる
- debパッケージの既知の不具合を調べて、パッチを投げられる
- ひとりですべてできる必要はなく、先輩に助言を求めたり、適切なコミュニティー(メーリングリストなど)で相談したりできる
- 例: salsaで管理されているパッケージにMerge requestを投げられる
Cコース: mentors.debian.netの改善
- mentors.debian.netの概要やどのように動作しているかの理解を深め、Cコースで得た知見をもとにissueに取り組める
- 例: https://salsa.debian.org/mentors.debian.net-team/debexpo/-/issues に登録されている未着手のIssueを相談しながら継続的に進められる
対象OSSと先輩の関わり
私は2018年からDebianメンテナーになり、2020年からはDebian開発者として活動しています。 最近は東京エリア・関西合同Debian勉強会によく参加しています。
直接メンテナンスしているパッケージはそれほど多くありませんが、自分がメンテナンスしていないパッケージにフィードバックすることもあります。 最近はDebian 11(bullseye)向けのバグ修正やフィードバックを行っていました。
mentors.debian.netの改善に関しては、まだsalsaにリポジトリが移転するまえにいくつか成果を取り込んでもらっています。
進め方
- 2021-07-31(土)
- 募集締め切り
- 2021-08-02(月)
- 選考・連絡
- 2021-08-10(火) 第1回:イントロダクション(Webミーティング)
- プロジェクト概要の補足、Debianプロジェクトに関する説明
- 取り組む課題について相談、内容を決める
- 2021-08-17(火) 第2回
- Aコース: ITPの説明と実際にITPを投げるところまで実施。今後の作業のためにmentors.debian.netのアカウントも作る
- Bコース: パッケージの不具合修正の流れを説明し、初回で決めた課題に取り組む
- Cコース: mentors.debian.netに関するより詳しい説明実施(環境構築できる)
- 2021-08-24(火) 第3回
- Aコース: パッケージングの説明と実際にテンプレからパッケージを作り始める
- Bコース: 課題のパッチを作成する
- Cコース: salsaにアカウントを作成し、対象issueの修正方針を相談しつつ決める
- 2021-08-31(火) 第4回
- Aコース: 第3回続き/ふりかえり実施
- Bコース: 第3回続き/ふりかえり実施
- Cコース: 第3回続き/ふりかえり実施
- 2021-09-07(火) 第5回
- Aコース: パッケージの体裁を整える(debuildでビルドできるようになる)
- Bコース: 修正作業
- Cコース: 開発作業
- 2021-09-14(火) 第6回
- Aコース: パッケージの体裁を整える(ライセンスまわりを整える)
- Bコース: 修正作業
- Cコース: パッチをMerge requestにしてフィードバックする
- 2021-09-21(火) 第7回
- Aコース: mentors.debian.netにアップロードし、RFSを実施する
- Bコース: パッチをbugs.debian.orgもしくはsalsaにフィードバックする
- Cコース: Merge requestのフィードバック対応
- 2021-09-28(火) 第8回
- Aコース: もしrejectされたらその対応
- Bコース: 反応あればフィードバック後の対応・補足等
- Cコース: Merge requestのフィードバック対応
- 2021-10-05(火) 第9回
- Aコース: ふりかえり実施/今後の展開について
- Bコース: ふりかえり実施/今後の展開について
- Cコース: ふりかえり実施/今後の展開について
なお上記日程は応募の目安となるように示した参考例です。応募者との面談により実際の実施日等は変更になる場合がありますし、進行状況によっても変更があります。 週1回2h程度Webミーティングしながら一緒に作業した場合を想定しています。
期間内にAコースではスポンサーアップロードまで完了すること、Bコースではbugs.debian.orgあるいはsalsaへのパッチの投稿が終わっていること、CコースではMerge requestが出せると よい進め方にしたいと考えています。
応募の際に考えておいて欲しい事
初回のWebミーティングで具体的に取り組む内容を相談しながら決めますが、事前にいくつかやりたいことを考えておいてもらえると 内容をすんなり決められるのでよさそうです。応募の際に教えてもらえると助かります。
- Aコース
- 対象ソフトウェア名
- 対象ソフトウェアのURL
- 対象ソフトウェアのライセンス(https://opensource.org/licenses/alphabetical に掲載されているライセンスで配布されていればOKです。)
- Bコース
- bugs.debian.orgで修正したい不具合をリストアップする
- Cコース
- https://salsa.debian.org/mentors.debian.net-team/debexpo/-/issues をみて興味のあるissueをリストアップする
支援期間
2021-08-10/2021-09-28
必要な報酬
支援期間中に約2日(18時間)分の有給稼働。
募集期間
- 2021-07-31(土) 23:59:59 (JST)まで。
- 2021-08-02(月)に選考・連絡。次週の初回Webミーティング日程調整。
応募方法
下記事項を記載の上on-boarding@oss-gate.org
にメールでご応募ください。
- 名前(GitHubのIDなどOSS Gateオンボーディング内で困らないものであれば本名でなくても構いません。
- 対象募集要項のURL:https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/
- 募集対象のA~Cのどの開発をやってみたいか
- 応募動機
- 現時点での自分のOSS開発に関する知識・経験
- 活動予定時間
- どこでこの活動を知ったか
応募例
To: on-boarding@oss-gate.org
Subject: 応募:debパッケージのメンテナンスやそれを支えるシステムの開発
名前:
出部羅 伊庵
対象募集要項のURL:
https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/
応募動機:
オープンソースのOS開発に興味があったから
募集対象のA~Cのどの開発をやってみたいか:
まだ流れ自体にも慣れていないのでAの基本からやってみたいです。
現時点での自分のOSS開発に関する知識・経験:
普段OSSを使っていて、不具合に遭遇したときに、その不具合を
対象OSSに報告したことがある。(PRすればいいことは知っている。)
活動予定時間:
一日2時間くらい。具体的に聞いたら変わるかもしれません。
知ったきっかけ:
Debianメンテナーの人のツイート
問い合わせ方法
興味はあるけど応募の障害がある場合はon-boarding@oss-gate.org
にメールでご相談ください。OSS Gateオンボーディングは継続的に開発に参加する人をできるだけ増やしたいので一緒に解決したいです!たとえば、次のような障害があって応募できないでいる場合はご相談ください。
- 想定支援期間だと都合が悪いのでずらせないか
- ○○ができるようになりたいがそれは実現できそうか
- Web上にある説明だと○○がピンとこないので○○をもう少し教えて欲しい
- ○○で困っている