Redmineとプラグインのライセンスに関してGeminiに聞いてみた(1)
Redmine Advent Calendar 2025
今回の記事は下記の「Redmine Advent Calendar 2025」の12/9の記事として作成しました。
12/8はSusumu Yamasakiさんの「Redmineの「いいね」機能(Reaction機能)の仕組みをGeminiに聞いてみた」という記事でした。
急に寒くなり今年も残り数日です。今年もRedmine Advent Calendarの時期になりました。Advent Calendarに参加してRedmine界隈を盛り上げていけたらと思っています。
Geminiを使ってRedmineのライセンの調査
RedmineはOSSでできており、その使用に関してはGPLv2ライセンスで提供されています。
RedmineとGPLv2ライセンスの関係をいくつかの観点からGeminiに質問をしてみました。
なお、この記事はGeminiの回答を元にしており、法律的な観点が含まれるため、その真実性に関しては著者はいかなる責任も負いません。法律の解釈の問題が発生するため、正確な情報が必要な方は弁護士など専門家の方にご確認ください。
Redmineのライセンスに関して
Redmineのライセンスに関して教えてください。
Redmineのライセンスについてですね。
Redmine本体はGPLv2(GNU General Public License v2)を採用しているオープンソースソフトウェアです。
これは、以下のことを意味します。
- 無償利用: 基本的に無料で利用できます。
- コピー・配布: ソフトウェアのコピーや配布が自由に認められています。
- 改変: ソースコードの自由な改変も認められています。
💡 注意点:提供形態による違い
Redmineはオープンソースですが、提供形態によっては費用が発生する場合があります。
-
OSS本体(自分で構築・運用):
- Redmineのソースコードをダウンロードして、ご自身でサーバーにインストールし、運用する場合は無償です。
- ただし、サーバー費用、構築・運用にかかる手間や人件費などは別途必要になります。
-
クラウドサービス(ホスティング):
- 「My Redmine」や「Lychee Redmine」など、Redmineを基にしたクラウドサービスとして提供されているものがあります。
- これらは月額料金を支払うことで、運用やバージョンアップの手間なく利用できるサービスであり、料金体系はサービス提供者やプランによって異なります(ユーザー数や利用機能に応じて料金が変わることが多いです)。
- 特に「Lychee Redmine」のようなサービスは、Redmine本体に独自の有償プラグインを追加して機能強化を図っている場合があります。
Redmineを無償で利用したい場合は、ご自身でサーバーにインストールして運用する(オンプレミス)形式を選ぶことになります。
クラウドサービスを利用したい場合は、提供各社の料金プランを確認する必要があります。
Redmineプラグインのライセンスに関して
redmineはGNU GPLライセンスです。
redmineに組み込んで使用するプラグインを有料で販売をすることを検討しています。
プラグインもGNU GPLライセンスに従う必要がありますか?
RedmineはGNU GPLライセンス(おそらくGPLv2)で提供されているため、Redmineに組み込んで使用するプラグインのライセンスは、そのプラグインがRedmineとどのように連携するかによって、GPLの制約を受けるかどうかが決まります。
1. プラグインのライセンスについて
一般的なGPLの考え方では、あるプログラム(Redmine)と別のプログラム(プラグイン)が密接に結合して一つの著作物として機能する場合、そのプラグインもGPLまたはGPL互換のライセンスに従う必要があると考えられます。
Redmineのプラグインは、通常Redmineのコードを呼び出し、Redmineの内部構造に依存して動作するため、プラグインもGPLライセンスに従う必要がある、というのが一般的な解釈です。
- 密接な結合の例: Redmineの内部の関数やクラスを直接呼び出す、Redmineのデータ構造に深く依存する、など。Redmineのプラグインはこのケースに該当することが多いです。
- 結果: プラグインのソースコードもGPLに従い公開可能である必要があります。
2. 有料販売について
GPLライセンスであっても、プログラムの複製を販売すること自体は許可されています。これは自由ソフトウェアの定義の一部です。
- 販売の可否: プラグインを有料で販売することは可能です。
- 義務: ただし、GPLのルールに従い、購入者または配布を受けた人に対し、プラグインのソースコードを提供し、そのソースコードに対するGPLが定める**自由(利用、改変、再配布の自由)**を保証する必要があります。
- 対価: 販売者はプログラムの配布に対して対価を請求できますが、一度プラグインを入手した人は、GPLに従ってそれを自由に再配布(有料・無料を問わず)する権利を持ちます。
結論と重要な考慮事項
- ライセンスの継承(可能性大): RedmineプラグインはRedmineと密接に結合するため、GPLライセンスに従う必要が高いです。つまり、プラグインのソースコードは公開可能である必要があります。
- 販売の可否: GPLに従ってソースコードを公開する前提であれば、有料で販売することは可能です。
- 商売のモデル: 多くのオープンソースビジネスと同様に、プラグイン自体を売るのではなく、インストール、設定、サポート、カスタマイズ、またはSaaSとしての利用といったサービスに対して料金を請求するモデルが一般的です。
🚨 注意点:
これは一般的な解釈であり、特定のプラグインの実装が「Redmineと密接に結合しているか」の判断は、最終的には法的な解釈に依存します。具体的なビジネス展開をされる際は、法律の専門家(特にオープンソースやGPLに詳しい弁護士)にご相談いただくことを強くお勧めします。
Redmineのプログラムソースのコピーに関して
すでにRedmineで実装されているプログラムソースをそのままコピーして
プラグインのソースの一部として使用しようと思います。その場合、
redmineのプログラムソースはGPLライセンスのため、
販売するプログラムソースがGPLで提供される限りは元々のプログラムの
作成者の許諾をもらう必要はないのでしょうか?
ご認識の通り、RedmineのソースコードがGNU GPLライセンスで提供されている場合、そのソースコードをコピーしてプラグインの一部として使用し、プラグイン全体をGPLライセンスで提供するのであれば、元々のプログラムの作成者(著作権者)から個別の許諾を得る必要はありません。
GPLの基本的な考え方
GNU GPLは、プログラムの著作権者が「この条件でなら誰でも自由に利用・改変・再配布してよい」という許可(ライセンス)を、あらかじめ全世界に与えているものだからです。
プログラムの作成者がGPLを採用した時点で、あなたは以下の自由を得ています。
- プログラムを実行する自由。
- プログラムの動作を研究し、自分の必要に応じて改変する自由。(ソースコードへのアクセスが条件)
- プログラムの複製を再頒布する自由。(有料・無料を問わない)
- プログラムの改変版を再頒布する自由。
必須となるGPLの義務
この自由を行使する代わりに、あなたは以下のGPLの義務を果たす必要があります。
| 義務事項 | 詳細 |
|---|---|
| ソースコードの公開 | プラグインがRedmineのコードを含む派生著作物となるため、プラグインのソースコード全体を、その利用者に提供する義務があります。 |
| GPLの適用 | プラグイン全体をGNU GPL(またはRedmineが採用しているバージョンに互換性のあるGPL)でライセンスする必要があります。 |
| 著作権表示の保持 | Redmineからコピーした部分に関する元の著作権表示を、あなたのプラグインのソースコード内に保持しなければなりません。 |
| ライセンス文書の添付 | あなたのプラグインと一緒にGPLの全文を添付する必要があります。 |
まとめ
Redmineのプログラムソースをコピーして利用することは、GPLのルールを厳守し、あなたのプラグインもGPLとして配布する限り、著作権法上の問題はありません。
ただし、販売する場合でも、購入者はそのGPLプラグインのソースコードを受け取り、それを自由に再配布する権利を持つことになります。
(前述の通り、詳細な法的判断が必要な場合は、必ず法律の専門家にご相談ください。)
RedmineプログラムにGPLライセンス以外のライセンスの付与に関して
作成するプラグインのプログラムソースの一部は
redmineからコピーして使用し、そのほかの一部のソースは
自分で開発をします。自分が開発をした部分のプログラムソースに限っては
GPLライセンスに従わないというライセンスポリシーを
適用させることはできるのでしょうか?
ご質問ありがとうございます。
結論から申し上げますと、Redmineのソースコードをコピーして使用しているプラグインの場合、一部のプログラムソース(ご自身で開発された部分)だけをGPLライセンスから除外することは、非常に困難であり、一般的には認められません。
1. 著作権法とGPLの原則
Redmineのソースコードをコピーして利用している時点で、あなたのプラグインはRedmineの「派生著作物(Derivative Work)」と見なされます。
GPLライセンスには、「感染性」または「伝播性」と呼ばれる重要な性質があります。これは、GPLのコードが組み込まれたり、密接に結合したりした派生著作物全体に対して、GPLのライセンス条件を適用することを求める性質です。
| 項目 | 意味 |
|---|---|
| GPLの要請 | Redmineのコードを含むプラグイン全体のソースコードをGPLで提供し、利用、改変、再配布の自由を保証する必要があります。 |
| 一部除外の困難性 | 一つのプログラム(プラグイン)の中で、ある部分はGPL、別の部分は独自の非公開ライセンスというように、部分的に異なるライセンスを適用させることは、GPLの原則に反します。 |
2. 「密接な結合」とライセンスの境界
プラグインとして動作させるには、ご自身で開発された部分のソースコードも、コピーしたRedmineのソースコードと連携し、一つのプログラムとして機能します。
- プラグインの構造: Redmineの内部機能(コピーしたソースコードを含む)を呼び出したり、Redmineのデータ構造に依存したりするため、このプログラム全体が「密接に結合している」と判断されます。
- 結果: 密接に結合している以上、ご自身で開発した部分のソースコードも含めて、すべてGPLの適用を受けることになります。
3. GPLから除外できる可能性があるケース
ご自身で開発した部分をGPLから除外できる可能性があるのは、以下のような「密接な結合」がないと見なされる場合に限られます。
- 独立したモジュール: プラグインがRedmineとは完全に独立したプログラムとして動作し、Redmineとの通信が明確な境界(例えば、標準のOSコマンドやネットワークプロトコルなど)を通じて行われる場合。
- アグリゲーション(集合体): 単にGPLのプログラムと非GPLのプログラムを同じ配布媒体にまとめて同梱しているだけで、互いに結合していない場合。
Redmineのプラグインとして、Redmineの内部APIやデータ構造に依存して動作する限り、この独立性の条件を満たすのは現実的に難しいでしょう。
重要なアドバイス
あなたが開発された部分の知的財産権を保持し、GPLの適用を受けたくない場合は、Redmineのソースコードを一切コピーせずに、完全にゼロからコードを書き起こす必要があります。
その上で、もしRedmineのAPIと連携させる必要がある場合でも、その連携方法が法的に「密接な結合」にあたらないか、専門の弁護士に確認することが不可欠となります。
感想
最終的には法律やライセンスの条件で規定されている条項をどのように解釈をするかの問題に帰着をするという印象を受けました。ただし一般的に受け入れられている範囲にのっとり、またOSSの精神にのっとりOSSの利用者が利便性を最大限受けられるように対応することが重要であることを再確認しました。まだまだ気に成る点があり、次回でも少し深掘りをしてみます。
内容が100%正確ではないにしても、個別具体的な内容に丁寧に回答ができるAIの能力の高さには驚かされます。
この記事の作成者の紹介
山崎進
- Redmine、Jquery、JavaScript,Rails、Ruby、SQL、VBA、RPAの開発を行なっています。
- 自動化、業務の効率化に高い関心があります。
- 下記の媒体で情報を発信しています。Redmineのプラグインの開発などに対応が可能ですので、お気軽にご連絡ください。
* Qiita:https://qiita.com/ankosoft
* Twitter:https://twitter.com/yamasaki24
* Redmine Advent Calendarで記事投稿
* redmine.tokyoで講演多数
* Redmine Japan Vol.1 前夜祭、Redmine Japan Vol.3で講演
* https://ankosoft.co.jp/blog/
* https://technology.ankosoft.co.jp/
関連記事(2024年のRedmine Advent Calendarの記事です。)
* Redmine wikiマクロを作成する方法2(完了チケットの割合をグラフで表示)
* Redmine wikiマクロを作成する方法3(ステータスごとのチケットの割合をグラフで表示)
* Redmine wikiマクロを作成する方法4(ステータスごとのチケットの割合を一つのグラフで表示)
* Redmine wikiマクロを作成する方法5(特定のユーザーのチケット状態の確認)
* Redmine wikiマクロを作成する方法6(プロジェクトに所属する全てのユーザーのチケット状態の確認)
関連記事(2023年のRedmine Advent Calendarの記事です。)
* JqueryでRedmineのメニューにアイコンを入れる方法
* JqueryでRedmineのメニューを閉じたり開いたりする方法
* JqueryでRedmineの「活動ページ」をもっと便利に(タイトルを開閉したり、曜日を入れたり)
* JqueryでRedmineの「活動ページ」をもっと便利に②(フィルタリング機能と移動機能)
* JqueryでRedmineの「wikiページ」をもっと便利に(フィルタリング機能と移動機能)
* JqueryでRedmineの「チケットページ」をもっと便利に(年ごと、月ごと、四半期ごとの集計機能の開発)
