RuviEditというエディタが公開されている。SourceForge.jpにもプロジェクトページがあり、ソースコードも公開されている。
ライセンスについては、Webページの下の方に記述がある。何度か修正されているのだが、この記事を書いている時点での記述を以下に引用する。
RuviEdit のライセンスは基本的にMITライセンスと同じです。
RuviEdit
無保証・無サポートですが、無償で利用でき、商用アプリでもソースコードを流用することが可能です。
(ソースコードを流用した場合、その部分の著作権は原著作権者のままです)
ただし筆者は、プログラマにとって不自由極まりないのに自由だ自由だと言い張るGPL系が嫌いなので、
RuviEdit のソースをGPL系プロジェクトで使用することを禁止します。
分かる人には一瞬で分かると思うが、このライセンスの記述は不明瞭なだけではなく、明らかにMITライセンスと衝突しており、「自由ソフトウェア」のみならず全てのソフトウェアの発展に有害な状態となっている。以下、RuviEditのライセンスがいかに「不自由極まりない」かについて、簡単に説明する。
MITライセンスとの衝突
まず、このライセンスはMITライセンスとのcompatibilityを謳っているが、実際にはMITライセンスと真正面から衝突している。これを示すために、MITライセンスの和訳全文を掲示する。
The MIT License
Copyright (c)以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。
licenses/MIT_license - Open Source Group Japan Wiki - SourceForge.JP
RuviEditのライセンス記述と比較すると、以下の2点で衝突していることが分かる。
- 著作権の保持についての記述が整合していない
MITライセンスでは
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
と書かれているのに対して、RuviEditのライセンスでは
ソースコードを流用した場合、その部分の著作権は原著作権者のままです
と書かれている。MITライセンスではソースコードを複製しても、改変しても、原著作権は保持し続けると宣言しているのに対して、RuviEditでは著作権保持を「ソースコードを流用した場合」に限定しているように読める。そもそも流用とはどういう状態を指すのか不明瞭だし、その範囲を超えたら原著作権は保持しないというのであれば、これはMITライセンスとは整合しない。
- ソフトウェアの用途を限定している
MITライセンスでは、
本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。
と書かれているが、RuviEditのライセンスでは、
筆者は、プログラマにとって不自由極まりないのに自由だ自由だと言い張るGPL系が嫌いなので、
RuviEdit のソースをGPL系プロジェクトで使用することを禁止します。
と書かれている。まあ理由はともかくとして、ある範囲の目的での利用が禁止されている。この点も、用途を制限していないMITライセンスとは整合しない。
ライセンス記述の不明瞭さ
ここが一番問題なのだが、「GPL系プロジェクト」とは何なのかの定義が一切示されていないため、結局どのような用途がこのライセンス記述に抵触するのか不明になっている。このままでは、RuviEditを使用する者が、自分の用途がライセンス記述に違反しているかどうか明確に判断できないため、原著作者が意図している範囲であっても自由に使用することができない状態となっている。私が書いている「不自由極まりない」とはこのことを指している。
全てのソフトウェアの発展に有害な状態
RuviEditのライセンスは自由ソフトウェアの定義にもオープンソースの定義にも合致しない。いずれに対しても、利用目的を制限しているという点で整合しておらず、自由ソフトウェアでもオープンソースソフトウェアでもない。にも関わらず、自由ソフトウェアとオープンソースソフトウェアの両方の条件に完全に合致するMITライセンスとのcompatibilityを謳っている。
このことは、以下のような不利益を生む可能性がある。
- MITライセンスをよく知らずにこのソフトウェアをMITライセンスとして再頒布する利用者が出た場合、原ライセンスとの衝突が起きる
- MITライセンスが用途を限定できるかのような誤解を生み、他のMITライセンスで配布されている他のソフトウェアの再頒布形態が誤ったものとなる可能性がある
- SourceForge.jpのプロジェクトページには単にMITライセンスと表示されているため、MITライセンスと誤解して原著作者の意図しない方法で利用する利用者が発生し、後で違反が判明する可能性がある
- オープンソースソフトウェアの開発をサポートすることを標榜しているSourceForge.jpで公開されることで、このライセンスがオープンソースの定義に合致しているかのような誤解を与える可能性がある
特に3つめの場合、当該利用形態で生成されたソースコードの有効性についてRuviEditのライセンス記述に何ら定めがない*1ため、当該ソースコードが使えなくなる可能性がある。
私は、このような可能性があるソフトウェアの頒布が行われることは、Ruby界隈のみならず全てのソフトウェアの発展にとって有害な状態だと考える。
解決方法
きちんと、MITライセンスではないライセンスの全文を何らかの形で掲示すること、特に、原著作者の意図する「GPL系プロジェクトで使用することを禁止」とは、どのような「目的」でどのように「使用」することを禁止するのか、明確に規定することが必要である。
私は自由ソフトウェアやオープンソースソフトウェアを他者にゴリ押しする人間ではないので、別にRuviEditが自由ソフトウェアやオープンソースソフトウェアでなくても構わない*2が、どのようなライセンスであるのか明確にしないことは有害である。
欲を言えば、オープンソースの定義に合致しない以上、MITライセンス整合を謳ってSourceForge.jpで公開することは即刻取りやめるべき。