Clean up license of pxdvi patch

TANAKA Takuji KXD02****@nifty*****
2013年 3月 3日 (日) 01:54:30 JST


ttkです。次に
(2) pxdviのライセンスの明確化
についてです。

現状のpxdvi, xdvi-jp-patchは、
ものすごく歴史のあるパッチの集大成をベースに、
土村さんのコード整理、
土村さんの機能追加(FreeType対応など)、
北川さんの機能追加(AJ16など)が入っていて、
さらにpxdviでは、
私の機能追加(upTeX対応)
が加わった形になっていると思います。

ファイルや過去のREADMEにライセンスが明記されているものもありますが、
書かれていないものもあります。
それから、
コードのどの部分をどなたが書いていて著作権の扱いをどうしたらいいか、
雑然としていて容易に理解できるものではありません。
調べてみると、
オリジナルのソースには著作権が明記されていたのにも関わらず、
流用されていくうちにもとの著作権表記が失われていたものもありました。
このままでは、ライセンスの扱いをきちんとするディストリビューションに
持ち込むことはできません。
手間をかけて、ライセンスを明確にしたいと思います。

上流の現在のxdvikのソースは、以下のようになっています。
*.c ごとにコメント文でライセンスが表記されています。
大多数は "X11 License" ("X Consortium License" とか
"MIT License" とも呼ばれている) です。
ご参考:
http://opensource.org/licenses/mit-license.php
日本語訳:
http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license

xdvikの今の状況は、以下です。
大多数 :: X11 license
例外は以下。
dl_list.c :: 表示なし
encodings.c :: GPL
main.c :: 表示なし
read-mapfile.c :: "stolen from dvips" + Langfeldtさんのコメント
tfmload.c :: "stolen from dvips" + Langfeldtさんのコメント
x_util.c :: 表示なし
gui/pagesel.c ::xdvik-j著作者の英文表示とX11の英文
gui/sfDir.c     :: 私の知らない著作権表記。 Cannaと同じ
gui/sfDraw.c    :: 私の知らない著作権表記。 Cannaと同じ
gui/sfPath.c    :: 私の知らない著作権表記。 Cannaと同じ
gui/sfSelFile.c :: 私の知らない著作権表記。 Cannaと同じ
gui/xaw_bitmaps.c :: 表示なし
gui/xlwradio.c :: GPL

以前、土村さんが
「GPL, LGPL と混ざっても OK」と宣言してよい?
と書かれていました。
上流のxdvikがすでに、X11 licenseにGPLが混在しているものになっています。
GNUの側もX11 licenseはGPLと矛盾しない、と明言しています。
ご参考:
http://www.gnu.org/licenses/license-list.ja.html
問題ないと思います。


xdvi-jp-patchでの著作権表記も、xdvikにならって
基本的には *.c のファイルごとに、X11 license を表記していくのが
よいと思います。

現状のpatchの中で、上流のxdvikと比較し *.cごとに、
[1]新設されたもの、[2]既存ファイルの大きな変更、[3]既存ファイルの微修正
に分類したところ、以下のようになりました。

[1]新設されたもの
AJ16.c        (作者は北川さん?)
fontconfig.c  (作者はどなた?)
ft2.c         (作者は土村さん?)
ft2vert.c     (すでに土村さんの著作権明記: LGPL)
jfm.c         (オリジナルは川口敦生さん、林さん修正。後述)
jisx0208.c    (すでに角川さんの著作権明記: LGPL)
ptexmap.c     (作者は土村さん?)
tounimap2h.lua     (作者は北川さん?)
xdvi-ptex.sample   (作者は土村さんと北川さん?)
zeit.c    (オリジナルは林さんだが、現状の9割以上は土村さん?)

著作権表記がまだのものは、
土村さんと北川さんに、ライセンスを決めていただき
*.c ごとに書き加えたらよいか、と思います。
X11 licenseが妥当かと思います。
いかがでしょうか。
jfm.c, zeit.c の林さんの件は後述します。

[2]既存で、かつ比較的変更量の多いファイル
dvi-draw.c  (元ファイルはX11 license、変更部分はどなた?)
dvi-init.c  (元ファイルはX11 license、変更部分はどなた?)
encodings.c  (元ファイルはGPL、変更部分は土村さん?)
main.c  (元ファイルは著作権表示なし、変更部分はどなた?)
psgs.c  (元ファイルはX11 license、変更部分はどなた?)
special.c  (元ファイルはX11 license。後述)
util.c  (元ファイルはX11 license、変更部分は土村さん?)

special.c は、杉浦茂樹さんのmiyu-patchのコードを含んでいます。
後述します。
その他については、
変更部分が誰の手によるものなのか不明なものもありますが、
パッチ部分も上流のライセンスに従う、
ということにするのがよろしいかと思うのですが、
いかがでしょうか。

[3]既存ファイルの微修正
2〜3行程度の微修正は他にもいろいろありますが、
著作権が問題になるような変更ではないようです。


jfm.c, jfm.h についてです。
どうも紐解いていくと、
ASCII jtex1.7 の中に収められている
drivers/jxdvi.NEWS/font.{c,h} がオリジナル、
さらに林さんが修正し、xdvi-zeit に収めたもののようです。

↓で見つけることができました。googleさんにお世話になりました。
http://ftp.st.ryukoku.ac.jp/pub/doc-prep/tex/
ascii-jtex1.7.tar.Z
http://www.gfd-dennou.org/arch/zz1999/win-archive/pub/OLD/TeX/Misc/xdvi/xdvi.ORG/
xdvi-zeit.tar.gz

川口さんの著作権表記を引用すると
--------------------------------------------------------------------------
著作権について

私が行なった修正、付加については制限を設けません(atsuo-copyright.h
をご覧下さい)
しかしどちらのプログラムもxdviを改造したものなので多少ややこしくなって
います。M.I.Tもxdviに限ってmit-copyright.hをincludeしていないので
おそらく何もない(PDSである)のだとは思うのですが...

jxdviはXDisplayName.cを用います。これの著作権についてはmit-copyright.h
が適用されます。注意してください。

とりあえずmit-copyright.hも見ておいてください。
-------------------------------------------------------------------------
atsuo-copyright.h ::
/*
 * Copyright (C) Atsuo Kawaguchi, 1987.
 * 連絡先:
(... 中略 ...)
 *          川口敦生
 *        (atsuo****@sanke*****)
 * このプログラムのいかなる複写、移植、改変、修正も許諾します。
 * Everyone is permitted to do anything on this program
 * including copying, porting, debugging, and modifying.
 */

林さんの著作権表記を引用すると
-------------------------------------------------------------------------
    なお、わたしが加えた部分については改変、転用、再配布すべ
    て自由とします。
-------------------------------------------------------------------------
となっています。

川口さん、林さんの意思を尊重すると、
X11 licenseよりもライセンス表記の義務を負わせていない点で、
ゆるいライセンスに見受けられます。
林さんの言っていることは川口さんと矛盾していないので、
jfm.c, jfm.h については、X11 licenseにせずに、
atsuo-copyright.h
の著作権表記を明記すればよいか、と思います。
zeit.c については、林さんの書かれた部分はごくわずかな状態なので、
X11 license に決めて、明記すればよいかと思います。


special.c, miyu-patch についてです。
special.c には、miyu-patch 由来の箇所が含まれています。
竹中 浩の"xdvi PL17 jp-patch"のREADMEによると、
-------------------------------------------------------------------------
  杉浦茂樹@東北大さんの書かれたコードに関しては、

    「使用および個人的な改変は自由ですが、改変したものを再配布する場合
    には要連絡。なお、パッチの作成、および、コードの解析に基づくコード
    の生成は自由」
-------------------------------------------------------------------------
なんだそうです。
「要連絡」の部分がX11 licenseにもGPLにも矛盾するため、ややこしいです。
対応としては、
杉浦さんに著作権の変更をお願いするか、
同等の機能のコードを新たに書き直すか、
該当箇所を消してしまうか、
パッチを作成し提供する形にするか、の選択肢がありそうです。
私見では、
該当箇所は、現在では必要性が低いので、消してしまう、というのが
ベストと思います。
コード整理のスレッドで別途議論したいと思います。


2006年 11月の土村さんの当MLでのコメントで、
------------------------
uchiyama> xdvi 17 のころの miyu patch の杉浦さん, markpage+toc+printdvi
の小野さ
uchiyama> んのコードがどのくらい残っていますかね.
(中略)

とコメントをいただいてます。
miyu patch は special.c に残っているようです。
"markpage", "toc", "printdvi" の文字列は、
日本語パッチの中では、もうドキュメントにしか含まれてなくて、
既に xdvik 本家に同等の機能があるようです。
------------------------
とありましたが、
markpage+toc+printdvi は xdvik本家の
gui/pagesel.c に入っているようです。

今日はここまでにします。

ttk




Xdvi-users メーリングリストの案内
Back to archive index