[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: misc/fd



pkg/33067出した本人です

Takahiro Kambe wrote:
> FD-2.08aの LICENSES を斜め読みしてみましたが、頒布登録をすると作者が責
> 任の一端を担うかどうかの違いだけで、pkgsrcの更新に制約をかけるような
> ことはできないように思いました。(ちゃんと読めていないので、違っていた
> らごめんなさい。)
現在の(壊れている)misc/fdのMakefileで行われている変更は
頒布配布にあたってメンテナーの名前を入れる内容になっています。
そのため、現在のpkgsrcではpackageに関して
作者(白井氏)に責任の一端を負わせる意図が伺えます。

作者に使用者から責任(mailでの問合せなど)が行かない限りにおいて
個人で使用する場合はREADMEにあるように
>但し、全てのソースの配布、改変、引用、2 次利用に
>ついては、何ら束縛されることなく自由に行なって頂いて構いませ
>ん。
となっています。ここで実際の制限事項としては
> 但し、FDclone の利用・配布に制限を加えてしまうような行為、
>例えば、無断で FDclone に関するパテント申請を行なうといった
>ことは、フリーソフトウェアの理念に反する行為となるので、一切
>これを禁止させて頂きます。
と
>CD-ROM や各種ネットワークにおける実行バイナリの頒布につい
>ては、別途個別にご相談下さい。
になると思われます。

一方で、作者にユーザーからpkgsrcの問合せが行くような事があり、
何らかの形で作者に対応して欲しいのであればLICENSESの頒布条件を満たす必要があります。
なお、pkgsrcのbinaryは自動的に作られるためbinaryの頒布にあたってLICENSESの内容を
満たすことは不可能と思われます。
(以前FreeBSDのportsであったような、OS側の仕様(TERMCAP)による動作の不良が
当時何のサポートもしていなかった作者にメールでの問合せが行くような事例があると
個人的にはLICENSESの意図も理解できます。)

> misc/fdについては、pkg/33067: patches of misc/fd というのが PR として
> 出ています。fd 2.xにするのは困る、という話もありました。理由はよく覚え
> ていませんが、pkg/33067のパッチに何か不満があって当なかったことは覚え
> ています。(何か他の誰かともメールのやりとりをした記憶もあるのですが、
> やっぱり覚えていません。)
今pkg/33067を見ていると
+@@ -541,7 +554,11 @@
+       int len;
+ 
+       if (mnt_ptr >= mnt_size) return(NULL);
+-      buf = (struct statfs *)fp;
++#if defined(__LIBC12_SOURCE__)
++      buf = (struct statfs12 *)fp;
++#else
++      buf = (struct statfs12 *)fp;
++#endif
というのがあったので、
++      buf = (struct statfs12 *)fp;
++#else
++      buf = (struct statfs *)fp;
でないとNetBSD-2.Xでcompileできなくなるのは確認できました。

> > 思い、先週 maintainer さんに mail を差し上げたのですが、今のところ
> > お返事を頂けていません。
> うぅむ。
> 
> > 私の理解では、patch を本家に採用してもらった上で、NO_BIN_ON_FTP と
> > NO_BIN_ON_CDROM を指定すれば、領布登録は不要だとは思うのですが、
> > 作者に連絡していないので、確信はありません。
これはbinary配布を行わない場合は領布登録は不要と言っているわけですが、
pkgsrcの記述の問合せがエンドユーザーから作者に行かないように配慮していない時点で
不充分だと思われます。
少なくとも、NO_SRC_ON_CDROMを加えてsourceを一次配布にした上で、
sourceのFTPサイトへの登録を禁止して、
pkgsrcの扱いをsourceと完全に切り離す必要があるでしょう。

実際の細かな点はメンテナーが作者へ問合せて承諾を受ける必要があると思われます。

あと、元のメールで
===================================================================
RCS file: patches/patch-ae
diff -N patches/patch-ae
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ae    27 Jun 2006 14:32:06 -0000
@@ -0,0 +1,12 @@
+$NetBSD$
+
+--- machine.h.orig     2005-12-26 00:00:00.000000000 +0900
++++ machine.h  2005-12-29 08:46:18.000000000 +0900
+@@ -603,6 +603,7 @@
+ #define       USESETENV
+ #define       USEMKTIME
+ #define       SIGFNCINT
++#define       USESTATVFSH
+ #include <sys/param.h>
+ # if  defined (NetBSD1_0) && (NetBSD1_0 < 1)
+ # define      USEFFSIZE
とありますが
元のsourceでは
#include <sys/param.h>
# if    defined (NetBSD1_0) && (NetBSD1_0 < 1)
# define        USEFFSIZE
# endif
# if    defined (__NetBSD_Version__) && (__NetBSD_Version__ >= 300000000)
# define        USESTATVFSH
# define        USEGETVFSTAT
# else
# define        USEMOUNTH
# define        USEMNTINFO
# endif
#endif
なので、USESTATVFSHを加えるとNetBSDのversionによっては二重定義、
古いNetBSDだとcompileできなくなるかもしれません。

#どのような対応を行うにしてもpkgsrcの責任をメンテナーが負い、
#現状では作者への問合せを禁止していない以上
#pkgsrcの最終的な確認はメンテナーが行う必要があります。

--
大石 修