10年使ってるRedmineのコミッターになった

3行で言うと…


(この記事は Redmine Advent Calendar 2017 の6日目です)

前田です。11月上旬、初めての海外旅行に出かけました。Redmineを作ったJean-Philippe Lang氏にパリで会ったり、ベルリンにあるPlanioのオフィスを訪問したり、ずっと願っていたことが一気に実現した一週間でした。

Redmineを作ったJean-Philippe Lang氏と、パリにて。

さて、11月25日からRedmineのコミッターとなりました。3年ほど前からRedmine公式サイトでは Contributor としてユーザーとのコミュニケーションやチケットの整理、次期バージョンに盛り込む機能の提案などを行ってきましたが、今後はRedmineの公式のソースコードを直接更新することもできるようになりました。

私がコミットを行う範囲としてJean-Philippe Langと合意しているのは、各種バグフィックス、各国語訳の更新、そしてガントチャートの改良です。

コミッターとは何か

オープンソースソフトウェアプロジェクトにおけるコミッターとは、ソースコードを管理しているGitやSubversionなどのリポジトリに対してコミットを行う権限がある人です。新機能の追加やバグ修正のためのソースコードの変更は、すべてコミッターを経由してリポジトリに反映されます。

コミッターが増えることにより、一般的には開発スピードの向上が期待されます。利用者から寄せられた不具合修正や新機能追加のためのパッチはコミッターがリポジトリにコミットすることによりRedmine本体に取り込まれます。コミッターの人数が多いと1人当たりのレビュー等の作業負荷が減るため、パッチが投稿されてから実際にコミットされるまでの平均的な期間が短縮される可能性が高まります。

現在のRedmineの開発体制

Redmineのコミッターは、リポジトリのコミットログを見ると私が加わる前は合計10人だったようです(現時点でのコミット権限の有無は不明)。しかし、2013年4月以降はコミットをしているのはJean-Philippe Lang氏、Toshi MARUYAMA氏の2人だけでした。広く普及しているソフトウェアの割には少ないように感じられます。

また、Contributorとよばれる、Redmine上のチケットを管理したり対象バージョンの設定を行える権限を持った人が17人登録されていますが、アクティブなContributorは数人です。Redmine開発チームの定義をコミッターとContributorとすると、現在開発チームとして活動しているのは10人にも満たず、全く人が足りていないと感じます。

Redmineを今後一層発展させるためには、アクティブに活動してくれる方を一定数確保すること、そしてバラバラに活動するのではなくある程度の役割分担を決め、チームとしてまとまって動くことが必要になるのではないかと感じています。ほかのオープンソースソフトウェアプロジェクトは同様の問題をどのように解決してきたのか、情報を集めたいと思っています。

コミッターになってからやったこと

リポジトリへのコミット権限をもらったのが11月25日(土曜日)の夕方。土曜日の夜から日曜日にかけて早速コミットを何件か行いました。コミットしたのは大半が自分が書いたコードではなく、Redmineの利用者が公式サイトに送ってくれたパッチです。

初コミットはこちら。私が報告した不具合のチケットに対して、弊社の石川が修正パッチを書いてくれたものです。次期maintenance releaseのRedmine 3.4.4、3.3.6に反映されます。

Revision 17023 - Fix: "Uncheck all" is not working in workflow status transitions page (#27586). Contributed by Mizuki ISHIKAWA.

Redmine

また、同じく石川が作ってくれたガントチャートの改良も2つコミットしました。1つはガントチャートのバーを右クリックしてチケットを更新できるようにするもの、もう1つはガントチャートの題名部分の幅をリサイズできるようにするものです。これら次期feature releaseであるRedmine 4.0.0の新機能の1つとなります。

Revision 17031 - Add right-click context menu to gantt bars (#10485). Contributed by Mizuki ISHIKAWA.

Redmine

Revision 17026 - Make gantt columns resizable (#20481). Contributed by Mizuki ISHIKAWA.

Redmine

そのほか、公式サイトに送られていたいくつかの修正パッチをコミットしました。

今後の活動

Redmineについて私が願っていることは、Redmineがより良いものになり、そしてより多くの人たちに使ってもらえるようになることです。コミッターとなったことで、Redmineを改善するための活動がやりやすくなりました。

私自身はすごいコードが書けるプログラマではありませんので、自分でどんどんコードを書くのではなく、Redmineコミュニティのみなさんが公式サイトに送ってくださったパッチのレビューやコミットを中心に行っていくつもりです。また、日本の利用者に需要があるガントチャートについては社内で改良を進めて本体に反映していきたいと思います。

その活動によりコミュニティを盛り上げること、開発スピードを上げること、そして負荷が集中しているJean-Philippe Lang氏の手を少しでも空けてRedmineをより良いものにしていくことに貢献できればと考えています。

こちらの記事もオススメです!
オープンソースソフトウェア「Redmine」への貢献についてredmine.tokyo勉強会で講演しました
オープンソースソフトウェア「Redmine」への貢献についてredmine.tokyo勉強会で講演しました。
ドキュメント生成ツール「MkDocs」でRedmine Guide日本語訳のWebサイトを作ってみた
オープンソースのドキュメント生成ツール「MkDocs」でドキュメントサイトが簡単に作れます。
避難訓練・応急手当講習を実施しました
災害時の安全確保、お客様へのサービス提供継続のため避難訓練を実施しました。
情報セキュリティワークショップin越後湯沢に行って感じたこと
情報セキュリティワークショップin越後湯沢に今年も参加しました(3回目)。
OSC 2017 Shimaneで、はじめてのセミナー発表から学んだこと
OSC 2017 Shimaneに参加しセミナー発表を行いました。
ファーエンドテクノロジーからのお知らせ(2017/11/29更新)
12/13『課題管理からガントチャート』の入門Redmine無料セミナー(東京)申込受付中!
Redmineやガントチャートに興味のある方、どうぞお気軽にお申込ください
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け