[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgsrc/doc/guide/files/fixes.xml: 1.81 -> 1.85
以下のページの更新をしました。ツッコミをお願いします。
pkgsrc/doc/guide/files/fixes.xml: 1.81 -> 1.85
> revision 1.85
> date: 2007/05/12 10:13:44; author: kano; state: Exp; lines: +3 -3
> fix typo
> ----------------------------
> revision 1.84
> date: 2007/05/12 06:55:57; author: wiz; state: Exp; lines: +2 -2
> Add missing </para>.
> ----------------------------
> revision 1.83
> date: 2007/05/12 01:01:39; author: gdt; state: Exp; lines: +99 -59
> Clean up/rewrite LICENSE. Avoid "accepted the license" language, and
> instead talk in terms of the user giving instructions to pkgsrc about
> what to do.
>
> Major revamp of RESTRICTIONS.
>
> (wiz: Your mail motivated me to work on this; I am not up to speed on
> the docbook tools; please check/regen.)
> ----------------------------
> revision 1.82
> date: 2007/05/11 22:47:13; author: wiz; state: Exp; lines: +7 -1
> Mention that one should change the name of a license
> when changing the license text.
月曜日までに異議がなければ、 commit します。
以下、訳と原文それぞれの新旧の差分です。
--- fixes.xml.orig 2007-05-13 22:47:07.000000000 +0900
+++ fixes.xml 2007-05-13 22:47:07.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: fixes.xml,v 1.81 2007/03/01 22:29:15 wiz Exp $ -->
+<!-- $NetBSD: fixes.xml,v 1.85 2007/05/12 10:13:44 kano Exp $ -->
<!-- Based on english version: -->
-<!-- NetBSD: fixes.xml,v 1.81 2007/03/01 22:29:15 wiz Exp -->
+<!-- NetBSD: fixes.xml,v 1.85 2007/05/12 10:13:44 kano Exp -->
<chapter id="fixes"> <?dbhtml filename="fixes.html"?>
<title>パッケージを動くようにする</title>
@@ -98,30 +98,49 @@
<sect2 id="handling-licenses">
<title>ライセンスの処理</title>
- <para>パッケージに適用されるライセンスのなかには、
- 利用者によって同意できたり同意できなかったりするものがあるかもしれません。
- このような場合にそなえ、pkgsrc には、
- パッケージに特殊なライセンスが適用されている場合に注意をうながしたり、
- 利用者がそのライセンスに同意しない限りパッケージを構築できなくする仕組みがあります。
+ <para>ソフトウェアの作者は、
+ そのソフトウェアをどのようなライセンスのもとでコピーすることができるかを、定めることができます。
+ これは著作権法にもとづくことであって、ライセンス選択の理由は
+ pkgsrc システムの範疇外です。pkgsrc システムでは、
+ ライセンスのなかには、従うことに不服だったり、
+ 従うことが困難あるいは不可能だったりする利用者がいるようなライセンスがたくさんあることを認識しています。
+ Free Software Foundation ではいくつかのライセンスに対して、
+ それが「自由」なライセンスであると表明していますし、
+ Open Source Initiative では「オープンソース」を定義しています。
+ pkgsrc では、ライセンスが「自由」あるいは「オープンソース」であるといった目印をパッケージにつけたりはしないという方針をとっています。
+ ただし、これらの定義にあてはまらないライセンスをもつパッケージには、
+ ライセンスについて記した目印がついています。
+ なお、ライセンスでコピーを認めていないパッケージは、
+ 明らかに、「自由」にも「オープンソース」にも該当しません。</para>
+
+ <para>「自由」でも「オープンソース」でもないパッケージについては、
+ 構築してよいということを、個々のライセンスについて利用者が pkgsrc に指定しておかない限り、
+ pkgsrc はパッケージを構築しません。
+ なお、このドキュメンテーションでは、「ライセンスに同意する」
+ ("accepted the license") という言いまわしを避けています。
+ pkgsrc システムは、単に、
+ フリーでないライセンスのソフトウェアを誤って構築してしまうことがないようにする仕組みを提供しているだけです。
+ 判断や責任は、利用者に委ねています。
(現在のところ、バイナリーパッケージのインストールは、
- この仕組みの対象外です。) Open
- Source Initiative による「オープンソース」、または Free Software
- Foundation による「自由」を満たすライセンスをもつパッケージには、
- ライセンスの目印はつきません。
- これらの定義をどちらも満たさないライセンスをもつパッケージには、
- そのライセンスを参照する目印がつけられます。
- こうすることで、そのライセンスに同意したことを
- pkgsrc に指示しない限り構築ができないようになり、また、
- そのライセンスを表示することができるようになります。</para>
+ この仕組みの対象外です。これはバグです。)</para>
+
+ <para>BSD ライセンスと GPL のパッケージだけをインストールし、
+ それ以外はインストールしたくない、ということがあるかもしれません。
+ pkgsrc のライセンスの目印の仕組みでは、そういうことは実現できません。
+ フリーなライセンスに対して目印をつけて、
+ <varname>ACCEPTABLE_LICENSES</varname>
+ 変数の標準状態での値を決めればそういうことも可能なのでしょうが、
+ 手間に対して効果が小さすぎるとの意見が多数です。</para>
<para>ライセンスの目印の仕組みは、パッケージの構築、インストール、
および使用にまつわる著作権関連の問題を処理するためのものであって、
再配布にまつわる問題 (<varname>RESTRICTED</varname> および
<varname>NO_SRC_ON_FTP</varname> などを参照) のためのものではありません。
- ただし、目印が必要なライセンスの定義は上述のとおりなので、
+ ただし、目印が必要なライセンスの定義は上述のとおりであり、
+ 「自由」あるいは「オープンソース」のプログラムは再配布を制限していないので、
再配布に制限のあるパッケージには目印がついていることになります。</para>
- <para>パッケージに特殊なライセンスが適用されていることを示すには、
+ <para>パッケージのコピーが特殊なライセンスのもとで認められていることを示すには、
そのライセンスを
<filename>pkgsrc/licenses</filename> に置いたうえで、
<varname>LICENSE</varname> 変数をライセンスを特定する文字列に設定します。
@@ -132,8 +151,9 @@
LICENSE= xv-license
</programlisting>
- <para>構築しようとすると、利用者はそのパッケージに適用されているライセンスに
- 同意していないことを知らされます。</para>
+ <para>構築しようとすると、利用者はそのパッケージに適用されているライセンスが
+ <varname>ACCEPTABLE_LICENSES</varname>
+ 変数に設定されていないことを知らされます。</para>
<programlisting>
&cprompt; <userinput>make</userinput>
@@ -146,8 +166,8 @@
<para>ライセンス自体は <command>make
show-license</command> すると見ることができます。
- そのライセンスが妥当なものであると判断した場合は、
- ライセンスに同意していることを表すために、
+ そのライセンスのものを構築してよい場合は、
+ pkgsrc が今後はそのライセンスを理由に構築をやめないように、
上の表示中で指示されている行を <filename>/etc/mk.conf</filename>
に追加することができます。</para>
@@ -160,22 +180,55 @@
に追加します。既知のライセンスの一覧は、
このディレクトリーで見ることができます。</para>
+ <para>ライセンスが (整形以外で) 変更された場合は、
+ 必ず、新しいライセンスの名前を以前のものと別の名前にします (たとえば、
+ バージョン番号があればそれを、なければ日付を末尾につけるなど)。
+ これは、前バージョンのライセンスのもとにあるプログラムを構築することを
+ pkgsrc に指示している利用者が、
+ 新しいライセンスのもとにあるプログラムを構築しないようにするためです。
+ もっと高度な点でいうと、
+ pkgsrc はライセンスの相当性を評価しません。
+ すなわち、個々のライセンスのテキストを、二組織のいずれかが
+ (「自由」あるいは「オープンソース」であると) 認めているかどうかという、
+ 機械的な検査をしているだけなのです。</para>
+
<para><varname>LICENSE=shareware</varname> や、
<varname>LICENSE=no-commercial-use</varname> のような言いまわしは、
ライセンスの文面を特定できないので、
使わないことになりました。
また、このような言いまわしを使った場合の別の問題として、
- 利用者が特定のパッケージ用のライセンスだけに同意して、
- それ以外のパッケージ用のライセンスには同意しない、
- といった指定ができなくなるというものもあります。
- これは特に、料金を支払っているライセンスへの同意を示したい場合には不適当です。</para>
- </sect2>
+ 利用者が pkgsrc に対して、同じ目印のついた複数のパッケージのうち、
+ ひとつのパッケージだけは構築を続行するが、
+ それ以外のパッケージは構築を続行しない、
+ といった指定ができなくなるというものもあります。</para> </sect2>
<sect2 id="restricted-packages">
<title>制限つきパッケージ</title>
- <para>ライセンスによっては、ソフトウェアの再配布方法に制限があります。このような
- 制限を満たすようにするため、パッケージシステムでは以下のような制限を設定で
+ <para>ライセンスによっては、ソフトウェアの再配布方法に制限があります。
+ パッケージが「自由」あるいは「オープンソース」でない限りは、
+ ライセンスの目印が必要なので、制限のあるパッケージにはすべてライセンスの目印がついているはずです。
+ その制限について記述しておくと、パッケージのツールは、
+ 自動的に制限されたこと (たとえばバイナリーパッケージを FTP サイトに置くこと)
+ を控えたりすることができます。</para>
+
+ <para>ソース (distfile) とバイナリーそれぞれについて、
+ 置いていけないのが FTP サイトか CD-ROM かの組み合わせで、
+ 4 種類の制限を表現することができます。どのライセンスでも、
+ これが厳密な文言となっていることはほとんどないことや、
+ フリーでない各ライセンスはお互いに異なる傾向があることから、
+ pkgsrc では FTP と CD-ROM を定義しています。
+ pkgsrc では、"FTP" を、ソースやバイナリーのファイルを、
+ インターネット上で料金を払わずに利用できるようにしてはいけない、
+ という意味で使います。
+ pkgsrc では、"CD-ROM" を、ソースやバイナリーを、
+ 配布料金をとるような何らかの種類の媒体に、
+ 他のソースやバイナリーパッケージと同梱して利用できるようにすることはできない、
+ という意味で使います。
+ </para>
+
+ <para>このような
+ 制限を表現するため、パッケージシステムでは以下のような制限を設定で
きる5個のmake変数を定義しています:</para>
<itemizedlist>
@@ -183,41 +236,47 @@
<para><varname>RESTRICTED</varname></para>
<para>なにか制限がある場合は常に、(制限の種類にかかわらず)この変数を設定します。
- この変数を、その制限の理由を含む文字列に設定してください。</para>
+ この変数を、その制限の理由を含む文字列に設定してください。
+ 制限を理解しなければならない人は、ライセンスを読む必要がありますし、
+ おそらく法的な助言も必要だと考えなければなりません。</para>
</listitem>
<listitem>
<para><varname>NO_BIN_ON_CDROM</varname></para>
- <para>バイナリーをCD-ROMに収録してはいけません。バイナリーパッケージを
- CD-ROMに含めることができない場合は常に、この変数を<varname>${RESTRICTED}</varname>に設定
+ <para>バイナリーを、配布料金を取れるようにして、
+ 他のバイナリーパッケージとともにCD-ROMに収録することができません。
+ そのような場合は常に、この変数を<varname>${RESTRICTED}</varname>に設定
してください。</para>
</listitem>
<listitem>
<para><varname>NO_BIN_ON_FTP</varname></para>
- <para>バイナリーをFTPサーバーに置いてはいけません。バイナリーパッケージをイ
- ンターネット上で公開することができない場合は常に、この変数を
- <varname>${RESTRICTED}</varname>に設定してください。</para>
+ <para>バイナリーを、インターネット上で料金を払わずに利用できるようにすることができません。
+ そのような場合は常に、この変数を
+ <varname>${RESTRICTED}</varname>に設定してください。
+ この変数を設定すると、バイナリーパッケージは
+ ftp.NetBSD.org に置かれません。</para>
</listitem>
<listitem>
<para><varname>NO_SRC_ON_CDROM</varname></para>
- <para>distfileをCD-ROMに収録してはいけません。ソースコードやその他の
- distfileのCD-ROMによる再配布が許可されていない場合は、この変数を
+ <para>distfileを、料金を取れるようにして、
+ 他のdistfileとともにCD-ROMに収録することができません。
+ そのような場合は、この変数を
<varname>${RESTRICTED}</varname>に設定してください。</para>
</listitem>
<listitem>
<para><varname>NO_SRC_ON_FTP</varname></para>
- <para>distfileをFTPに置いてはいけません。ソースコードやその他のdistfileのイ
- ンターネット経由での再配布が許可されていない場合は、この変数を
+ <para>distfileを、インターネット上で料金を払わずに利用できるようにすることができません。
+ そのような場合は、この変数を
<varname>${RESTRICTED}</varname>に設定してください。
- この変数を設定していない場合は、distfile が
- ftp.NetBSD.org にミラーされます。</para>
+ この変数を設定すると、distfile は
+ ftp.NetBSD.org にミラーされません。</para>
</listitem>
</itemizedlist>
Index: fixes.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/fixes.xml,v
retrieving revision 1.81
retrieving revision 1.85
diff -u -r1.81 -r1.85
--- fixes.xml 1 Mar 2007 22:29:15 -0000 1.81
+++ fixes.xml 12 May 2007 10:13:44 -0000 1.85
@@ -1,4 +1,4 @@
-<!-- $NetBSD: fixes.xml,v 1.81 2007/03/01 22:29:15 wiz Exp $ -->
+<!-- $NetBSD: fixes.xml,v 1.85 2007/05/12 10:13:44 kano Exp $ -->
<chapter id="fixes"> <?dbhtml filename="fixes.html"?>
<title>Making your package work</title>
@@ -97,20 +97,37 @@
<sect2 id="handling-licenses">
<title>Handling licenses</title>
- <para>A package may be covered by a license which the user has
- or has not agreed to accept. For these cases, pkgsrc contains
- a mechanism to note that a package is covered by a particular
- license, and the package cannot be built unless the user has
- accepted the license. (Installation of binary packages are
- not currently subject to this mechanism.) Packages with
- licenses that are either Open Source according to the Open
- Source Initiative or Free according to the Free Software
- Foundation will not be marked with a license tag. Packages
- with licenses that have not been determined to meet either
- definition will be marked with a license tag referring to the
- license. This will prevent building unless pkgsrc is informed
- that the license is acceptable, and enables displaying the
- license.</para>
+ <para>Authors of software can choose the licence under which
+ software can be copied. This is due to copyright law, and reasons
+ for license choices are outside the scope of pkgsrc. The pkgsrc
+ system recognizes that there are a number of licenses which some
+ users may find objectionable or difficult or impossible to comply
+ with. The Free Software Foundation has declared some licenses
+ "Free", and the Open Source Initiative has a definition of "Open
+ Source". The pkgsrc system, as a policy choice, does not label
+ packages which have licenses that are Free or Open Source.
+ However, packages without a license meeting either of those tests
+ are labeled with a license tag denoting the license. Note that a
+ package with no license to copy trivially does not meet either the
+ Free or Open Source test.</para>
+
+ <para>For packages which are not Free or Open Source, pkgsrc will
+ not build the package unless the user has indicated to pkgsrc that
+ packages with that particular license may be built. Note that
+ this documentation avoids the term "accepted the license". The
+ pkgsrc system is merely providing a mechanism to avoid
+ accidentally building a package with a non-free license;
+ judgement and responsibility remain with the user. (Installation
+ of binary packages are not currently subject to this mechanism;
+ this is a bug.)</para>
+
+ <para>One might want to only install packages with a BSD license,
+ or the GPL, and not the other. The pkgsrc license tag mechanism
+ does not provide a way to do this. It might be possible to put in
+ tags for free licenses, and have a default
+ <varname>ACCEPTABLE_LICENSES</varname> variable value, but this is
+ widely viewed as having a very poor ratio of benefit to
+ work.</para>
<para>The license tag mechanism is intended to address
copyright-related issues surrounding building, installing and
@@ -119,10 +136,11 @@
<varname>NO_SRC_ON_FTP</varname>, etc.). However, the above
definition of licenses for which tags are not needed implies
that packages with redistribution restrictions should have
- tags.</para>
+ tags, because Free or Open Source programs do not have
+ redistribution restrictions.</para>
- <para>Denoting that a package is covered by a particular license
- is done by placing the license in
+ <para>Denoting that a package may be copied according to a
+ particular license is done by placing the license in
<filename>pkgsrc/licenses</filename> and setting the
<varname>LICENSE</varname> variable to a string identifying the
license, e.g. in <filename
@@ -133,8 +151,8 @@
</programlisting>
<para>When trying to build, the user will get a notice that the
- package is covered by a license which has not been
- accepted:</para>
+ package is covered by a license which has not been placed in the
+ <varname>ACCEPTABLE_LICENSES</varname> variable:</para>
<programlisting>
&cprompt; <userinput>make</userinput>
@@ -146,36 +164,61 @@
</programlisting>
<para>The license can be viewed with <command>make
- show-license</command>, and if it is considered appropriate,
- the line printed above can be added to
- <filename>/etc/mk.conf</filename> to indicate acceptance of
- the particular license:</para>
+ show-license</command>, and if the user so chooses, the line
+ printed above can be added to <filename>/etc/mk.conf</filename> to
+ convey to pkgsrc that it should not in the future fail because of
+ that license:</para>
<programlisting>
ACCEPTABLE_LICENSES+=xv-license
</programlisting>
- <para>When adding a package with a new license, the license
- text should be added to <filename>pkgsrc/licenses</filename>
- for displaying. A list of known licenses can be seen in this
+ <para>When adding a package with a new license, the license text
+ should be added to <filename>pkgsrc/licenses</filename> for
+ displaying. A list of known licenses can be seen in this
directory.</para>
+ <para>When the license changes (in a way other than formatting),
+ please make sure that the new license has a different name (e.g.,
+ append the version number if it exists, or the date). Just
+ because a user told pkgsrc to build programs under a previous
+ version of a license does not mean that pkgsrc should build
+ programs under the new licenses. The higher-level point is that
+ pkgsrc does not evaluate licenses for reasonableness; the only
+ test is a mechanistic test of whether a particular text has been
+ approved by either of two bodies.</para>
+
<para>The use of <varname>LICENSE=shareware</varname>,
- <varname>LICENSE=no-commercial-use</varname>, and similar
- language is deprecated because it does not crisply refer to
- a particular license text. Another problem with such usage
- is that it does not enable a user to denote acceptance of
- the license for a single package without accepting the same
- license text for another package. In particular, this can
- be inappropriate when e.g. one accepts a particular license to
- indicate to pkgsrc that a fee has been paid.</para>
- </sect2>
+ <varname>LICENSE=no-commercial-use</varname>, and similar language
+ is deprecated because it does not crisply refer to a particular
+ license text. Another problem with such usage is that it does not
+ enable a user to tell pkgsrc to proceed for a single package
+ without also telling pkgsrc to proceed for all packages with that
+ tag.</para> </sect2>
<sect2 id="restricted-packages">
<title>Restricted packages</title>
<para>Some licenses restrict how software may be re-distributed.
- In order to satisfy these restrictions, the package system
+ Because a license tag is required unless the package is Free or
+ Open Source, all packages with restrictions should have license
+ tags. By declaring the restrictions, package tools can
+ automatically refrain from e.g. placing binary packages on FTP
+ sites.</para>
+
+ <para>There are four restrictions that may be encoded, which are
+ the cross product of sources (distfiles) and binaries not being
+ placed on FTP sites and CD-ROMs. Because this is rarely the exact
+ language in any license, and because non-Free licenses tend to be
+ different from each other, pkgsrc adopts a definition of FTP and
+ CD-ROM. Pkgsrc uses "FTP" to mean that the source or binary file
+ should not be made available over the Internet at no charge.
+ Pkgsrc uses "CD-ROM" to mean that the source or binary may not be
+ made available on some kind of media, together with other source
+ and binary packages, and which is sold for a distribution charge.
+ </para>
+
+ <para>In order to encode these restrictions, the package system
defines five make variables that can be set to note these
restrictions:</para>
@@ -185,43 +228,46 @@
<para>This variable should be set whenever a restriction
exists (regardless of its kind). Set this variable to a
- string containing the reason for the restriction.</para>
+ string containing the reason for the restriction. It should
+ be understood that those wanting to understand the restriction
+ will have to read the license, and perhaps seek advice of
+ counsel.</para>
</listitem>
<listitem>
<para><varname>NO_BIN_ON_CDROM</varname></para>
- <para>Binaries may not be placed on CD-ROM. Set this
- variable to <varname>${RESTRICTED}</varname> whenever a
- binary package may not be included on a CD-ROM.</para>
+ <para>Binaries may not be placed on CD-ROM containing other
+ binary packages, for which a distribution charge may be made.
+ In this case, set this variable to
+ <varname>${RESTRICTED}</varname>.</para>
</listitem>
<listitem>
<para><varname>NO_BIN_ON_FTP</varname></para>
- <para>Binaries may not be placed on an FTP server. Set
- this variable to <varname>${RESTRICTED}</varname>
- whenever a binary package may not be made available
- on the Internet.</para>
+ <para>Binaries may not made available on the Internet without
+ charge. In this case, set this variable to
+ <varname>${RESTRICTED}</varname>. If this variable is set,
+ binary packages will not be included on ftp.NetBSD.org.</para>
</listitem>
<listitem>
<para><varname>NO_SRC_ON_CDROM</varname></para>
- <para>Distfiles may not be placed on CD-ROM. Set this
- variable to <varname>${RESTRICTED}</varname> if
- re-distribution of the source code or other distfile(s) is
- not allowed on CD-ROMs.</para>
+ <para>Distfiles may not be placed on CD-ROM, together with
+ other distfiles, for which a fee may be charged. In this
+ case, set this variable to <varname>${RESTRICTED}</varname>.
+ </para>
</listitem>
<listitem>
<para><varname>NO_SRC_ON_FTP</varname></para>
- <para>Distfiles may not be placed on FTP. Set this variable
- to <varname>${RESTRICTED}</varname> if re-distribution of
- the source code or other distfile(s) via the Internet is not
- allowed. If this variable is not set, the distfile(s) will
- be mirrored on ftp.NetBSD.org.</para>
+ <para>Distfiles may not made available via FTP at no charge.
+ In this case, set this variable to
+ <varname>${RESTRICTED}</varname>. If this variable is set,
+ the distfile(s) will not be mirrored on ftp.NetBSD.org.</para>
</listitem>
</itemizedlist>