Redmine互換課題管理システム「RedMica」 リリースの狙い


前田です。来週は深圳で開催される OpenTechSummit China に行ってきます。8月に短期留学から帰国して以来、久しぶりの深圳です。

さて、11月2日に開催された redmine.tokyo 第17回勉強会 の壇上で、オープンソースの課題管理システム「Redmine」と互換の「RedMica」を発表しました。今回はRedMicaの概要と、なぜファーエンドテクノロジー版Redmineとも言える「RedMica」のリリースに至ったのかをお伝えします。

今日使える明日のRedmine「RedMica」リリース

ファーエンドテクノロジーは、11月2日にオープンソースの課題管理システム「Redmine」と互換の「RedMica」をリリースしました。キャッチフレーズは "The future redmine you can get today — 今日使える明日のRedmine" です。

redmica/redmica

RedMica is another distribution of Redmine, a great open source project management software. The main aim of RedMica is to quickly deliver enhancements that have already been developed but have not yet been released. It can be said that RedMica is the future Redmine you can get today.

RedmineはJean-Philippe Lang氏が2006年から開発を続けているソフトウェアで、これまでファーエンドテクノロジーもクラウドサービス「My Redmine」など事業に活用してきました。一方、RedMicaは簡単に言えば「ファーエンドテクノロジー版Redmine」です。Redmineの最新の開発成果をもとに、ファーエンドテクノロジーが定期的にリリースを行います。

RedMicaはRedmineと別れて新たな道を歩むものではありません。「今日使える明日のRedmine」という言葉が示す通り、Redmineの開発成果をより早く利用者に届けるのが目的です。Redmineから枝分かれして独自に進化する「フォーク」ではなく、むしろRedmineの一つの配布形態、「ディストリビューション」とご理解いただければと思います。

RedMicaの特長、あるいはRedmineとの違い

Redmineとの高い互換性

原則として、Redmineに対して行われたすべてのコミットをRedMicaに取り込みます。また、RedMica独自の機能追加は必要最小限とし、機能追加を行いたい場合は原則としてRedmine本体に対して提案・パッチ投稿を行います。将来にわたってRedmineと非常に高い互換性が保たれます。

仮に独自機能を追加する場合もデータベースは変更しないことにしているので、データベーススキーマは100%互換です。これは、RedmineとRedMicaは相互に置き換えが容易であることを意味します。RedmineからRedMicaへはもちろん、RedMicaからRedmineに戻ることもできます。

Redmineの次期バージョンの新機能を先行して利用できる

11月2日にリリースした RedMica 1.0.0 は、現時点で未リリースの Redmine 4.1.0 に含まれる新機能・修正のうち240個が盛り込まれています。RedMicaを利用することでRedmineの次期バージョンの新機能をいち早く利用できます。

これは、Redmineのリリースよりも短い間隔でRedMicaをリリースすることで実現されます。近年のRedmineのメジャーバージョンアップの間隔は1年以上ですが、RedMicaはそれより短い間隔でリリースが行われます。このため、将来のRedmineのバージョンに含まれる新機能の多くはRedMicaで先行してリリースされることになります。

RedMica 1.0 では、下記資料に掲載されているRedmine 4.1で予定されている新機能は、すべて利用可能です。

Redmine 4.1 新機能評価ガイド <速報版> from Go Maeda

6ヶ月ごとの定期的なメジャーバージョンアップ

Redmineのリリースは不定期で、次期バージョンがいつリリースされるのかは一切不明です。一方、RedMicaは6ヶ月の固定間隔でメジャーバージョンアップを行います。

近年のRedmineのメジャーバージョンアップの間隔は1年以上です。3.3.0と3.4.0の間隔は1年、3.4.0と4.0.0の間隔は1年5ヶ月でした。4.1.0はまだリリースされていませんが、4.0.0のリリースから11ヶ月経ちました。

RedMicaはメジャーバージョンアップのリリース時期が5月と11月の年2回に固定されているため、開発済みの新機能が利用可能になるのをまだかまだかと待ちわびることがありません。またバージョンアップ対応のスケジュールを計画しやすいというメリットがあります。

デフォルトテーマとして Bleuclair を採用

デフォルトのテーマとして、見やすさと美しい配色が特徴の Bleuclair が組み込まれています。

Redmineの難点として画面のデザインが挙げられることがあります。Redmine用のテーマは多数公開されているのでそれらをインストールすれば改善できるのですが、デフォルトのテーマがそのまま使われることも多いようです。

RedMicaはデフォルトテーマとして Bleuclair を採用したことで、テーマのダウンロードとインストールのような特別な作業をしなくても、最初からきれいな見た目の画面デザインで利用できます。

なぜファーエンドテクノロジーはRedMicaを必要としたのか

ファーエンドテクノロジーはRedmineを利用してクラウドサービス「My Redmine」を提供しています。そして、My Redmineのお客様により良いサービスを提供するために、相当の工数を投入してRedmine自体の開発に協力してきました。次期バージョンのRedmine 4.1.0にも、当社が関与した新機能が多数含まれています。

しかし、現在のRedmineはリリースが不定期かつ間隔が長めで、スケジュールも明示されていません(コミッターである私にも分かりません)。せっかく開発しRedmine本体に取り込み済みの新機能をいつお客様の環境にデプロイできるのか全く不明です。リリース時期の目処がまったくわからないまま開発済みの新機能を長期間お客様にお届けできないことを大変残念に思っていました。

RedMicaはこの問題を解決するための手段です。Redmineの最新のソースコードに常に追従するファーエンドテクノロジー版Redmine「RedMica」をリリースすることにしました。当社が主体となってメンテナンスするソフトウェアであればリリースを自由にコントロールできるので、Redmineの最新の開発成果をこれまでより早くお客様に届けることができるようになります。

RedMicaのこれから

現在ファーエンドテクノロジーのクラウドサービス「My Redmine」ではRedmine 4.0を提供していますが、今後はすべてのお客様をRedMica 1.0に順次切り替えていきます。したがって、「My Redmine」でRedmineが提供されるのは4.0が最後のバージョンとなります。すでに11月7日以降に1ヶ月無料お試しをお申し込みのお客様にはRedMicaでのサービスを提供しはじめました。

RedMicaの目的はRedmineとの高い互換性を保ちながら、最新の開発成果を比較的短い一定間隔でリリースしていくことが目的ですので、原則として独自機能の追加は行いません。ファーエンドテクノロジーは、RedMicaを改良したい場合はまずRedmine公式サイトにパッチを送り、それがRedmine本体に取り込まれればRedMicaにも反映します。したがって、Redmineの開発が現在と同水準の活発さで継続している限りは、Redmineと別れて独自の道を歩むことはありません。

ただ、Redmine本体に取り込まれる可能性が低そうなもの、かつ小さめの変更であれば、RedMicaの公式プラグインとして、RedMicaにそのプラグインを組み込む可能性はあります。現に、プラグインではありませんが、ファーエンドテクノロジーが開発したテーマ Bleuclair はデフォルトテーマとしてRedMicaに組み込んでいます。

今後、安定したリリースの実績を積み重ね、「今日使える明日のRedmine」という、もう一つのRedmineの選択肢として多くの方々に認知・活用いただけるよう取り組んで行きたいと考えています。

FAQ

RedMicaはファーエンドテクノロジーの顧客以外でも使えるのか?

オープンソースソフトウェアとして GitHub で公開していますので、誰でも自由に利用できます。

Redmineの trunk (master) を使うこととの違いは何か?

大きな違いは安定性です。

RedmineのtrunkブランチはRedmine開発の最先端であり、新たな機能がどんどん追加されますが、それらの中には思わぬ不具合が残っていることがあります。従って、実運用に使用することは推奨されていません。

RedMicaは6ヶ月ごとにある時点のtrunkを切り出し、一定期間ファーエンドテクノロジーがテストした後にメジャーバージョンとしてリリースされます。リリース後1年間は、バグ修正と比較的小さめの新機能のみがtrunkからRedMicaの安定版ブランチに取り込まれ、1〜2ヶ月ごとにマイナーバージョンアップが行われます。

RedMicaのリリースパッケージまたはstableブランチを使っている限りは、マイナーバージョンアップで急に不具合が発生するといったトラブルに遭遇する可能性を低く抑えることができます。

RedmineからRedMica、あるいはRedMicaからRedmineにデータ移行は可能か?

可能です。RedMica側でデータベーススキーマを独自に変更することはありませんので、相互に移行可能です。互換性のあるRedmineのリビジョンは CHANGELOG で確認できます。

例えば RedMica 1.0.0 の場合、CHANGELOGに "Based on Redmine 4.0.5.devel.18886. The database schema is the same as Redmine r18296." と記載されています。この場合、RedmineからRedMicaへの移行は Redmine 4.0.5 以前の全バージョンと trunk r18296 以前から可能です。RedMicaからRedmineへの移行は trunk r18296 移行または Redmine 4.1.0 (次期メジャーバージョン) に対して可能です。いずれの方向への移行でも、原則としてデータベースマイグレーションが必要です。

どのようにRedmineとの互換性を維持するのか?

以下のルールを守ることで高い互換性を維持します。

Redmine用のプラグインは動作するのか?

動作しないプラグインがあることが予想されます。

Redmineのメジャーバージョンアップがあるとプラグインが動作しなくなることがよくあります。RedMicaはRedmineの次期バージョン向けの変更が数多く取り込まれていますので、その変更に対応できないプラグインは動作しません。

なお、RedMicaで動作しないプラグインは、Redmineの次期バージョンでも動作しない可能性が極めて高いと考えられます。

今後はファーエンドテクノロジーはRedmineではなくRedMicaの開発に注力するようになるのか?

ファーエンドテクノロジーはこれまで通りRedmineへの貢献を継続します。RedMicaを優先して、Redmineへのパッチ送付を行わなくなるということはありません。

そもそもRedMicaは「今日使える明日のRedmine」という言葉の通り、Redmine本体の開発成果を先行して利用できるようにしたものです。RedMicaに新機能が追加されるのは原則としてRedmineの開発ブランチで新機能が取り込まれることが必要です。従って、RedMicaを発展させるためにも、ファーエンドテクノロジーは今後もこれまで同様にRedmineの開発に協力します。

Redmineには存在しない機能がRedMicaに独自に実装されることはあるのか?

原則としてありません。RedMicaにはRedmineに追加された機能のみが追加されます。

ただし、Redmine本体に取り込まれる可能性が低そうなもの、かつ小さめの変更であれば、RedMicaの公式プラグインとして、RedMicaにそのプラグインを組み込む可能性はあります。

GitHubでソースコードが公開されているが、プルリクエストは受け付けるのか?

受け付けません。

RedMicaはRedmineのコミットを取り込みます。Redmineに対する変更提案やバグ修正はRedmine公式サイトのチケットで行ってください。


My Redmine

こちらの記事もオススメです!
ファーエンドテクノロジーも開発に協力 オープンソースのRedmine開発状況(2019年5〜8月)
ファーエンドテクノロジーによる2019年5月〜6月におけるRedmineの開発状況です。イチ押し機能、注目の新機能、今後の開発に取り組みについてご紹介します。
OSC 2019 島根でのプレゼン発表へ向けての準備と工夫したところ
OSC 2019 島根でプレゼン。スライド作成で工夫したところを紹介します。
GitHubにView customizeプラグインによるRedmineのカスタマイズ事例集を公開しました!
view customizeを使ったRedmineのカスタマイズ事例を公開しました。
Settingクラスを拡張してマイグレーション無しで動くRedmineプラグインを作った
Redmineの用語やメッセージを管理画面で自由に変更できるプラグイン「メッセージカスタマイズプラグイン」を公開しました。
今年の防災訓練は消火器やビルの消防設備について研修しました
避難訓練から防災訓練に名称を変更し、消火器やビルの消防設備について研修を実施しました。訓練を行うことで万一の際に役立ちます。
ファーエンドテクノロジーからのお知らせ(2019/11/13更新)
2019年11月 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催)
ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。
「FAREND NEWS」2019年第6号 発行
広報紙「FAREND NEWS」2019年第6号を発行しました。弊社サービスの運用・サポートに携わっているスタッフや弊社の取り組みをご紹介します。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け