Design and Implementation of
Gracious Days

先のライセンス話のどこがおかしいのか聞かれたのでまとめておく。

  • 「BSDライセンスはコードを改変した人の権利がまったく守られない」と書いているが、改変した部分の著作権は改変したひとに帰属する。BSDライセンス表示の頭にある著作権者表示(”Copyright”)の行に、自分の名前を追加することが多い。なので、ひとつのファイルがたくさんのひとに変更されると著作権者が増えるので、すべての名前を残さないといけない。件の記事にあるように「原著作者のものになってしまう」ようなことはない。著作権者は改変部分だけを切り出して、別のライセンスで再配布することもできる。

  • 「GPLでは、原著作者という考え方がなくなり、パブリックドメインに近くなる」という記述。これもデタラメ。著作権はBSDライセンスと同様、改変したひとに帰属するので、”Copyright” の行を増やすことができる。ただしGPLの場合、再配布に関して「自分の変更部分だけ GPL でない条件を適用したい」という条件設定を許さない。「架空の存在に著作権を受け渡す」なんて大きな嘘なので信じちゃだめ。

BSDライセンスは、使用と再配布において著作権表示とライセンス表示の保存を配布者と受領者に要求している。GPLは条項が複雑なので一文でまとめるのは難しいが、誤解を恐れずにまとめるなら、使用と再配布において著作権表示、無保証であることの言明、ライセンスの表示を保存することに加えて、原本・改変物の両方の配布において「GPLの全条文を配布内容全体に適用すること」を配布者と受領者に要求していて、かつその条文の再配布条件には「ソースコードが配布されていること」が含まれている。

どちらも著作権に関しては何もコントロールしていないが、ライセンスを決めることができるのは著作権者である。たとえば著作権者は、同じコードをBSDライセンスとGPLという、それぞれ異なるライセンスで同時に配布することができる。また、一度 GPL で配布してしばらくたった後、GPL での配布を中止して、BSDライセンスでの配布に切り替えることもできる。ただしどちらの場合も、一度配布され、自分の手を離れてしまった配布物のライセンスは変更できない。できるのは自分が配布するのを中止することだけだ。BSDライセンスに切り替わったとしても、受領者は GPL で配布されていた時の配布物を GPL で配布し続けることが可能だ。

改変者の著作権表示の追加や、異なるライセンスの共存の例

ライセンスを切り替えた例としては、SSH が有名だ。SSH はヘルシンキ工科大学に在籍していた Tatu Ylonen 氏が 1995 年に開発を開始し、次のライセンス条項でソースファイルを公開した。

Author: Tatu Ylonen <ylo@cs.hut.fi>
Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
                   All rights reserved

As far as I am concerned, the code I have written for this software
can be used freely for any purpose.  Any derived versions of this
software must be clearly marked as such, and if the derived work is
incompatible with the protocol description in the RFC file, it must be
called by a name other than "ssh" or "Secure Shell".

その後、彼は SSH Communications Security という会社を設立、SSH のソースコードの配布を止めてソフトウェア製品としての販売とサポート業務を開始した。その時点で著作権者は彼だけだったため、売り物にする目的でライセンスを変更したわけだ。しかし、ライセンスを変更してもそれまでに配布していたソースコードの配布を禁止することはできない。OpenBSD プロジェクトは、それ以前に配布されていたソースコードを集めて、そこから OpenSSH の開発を開始した。こちらはBSDライセンスになっているが、著作権表示とライセンス表示がどうなっているのか例をみてみよう。次は OpenBSDプロジェクトが配布しているssh.cの冒頭である。

Author: Tatu Ylonen <ylo@cs.hut.fi>
Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
                   All rights reserved
Ssh client program.  This program can be used to log into a remote machine.
The software supports strong authentication, encryption, and forwarding
of X11, TCP/IP, and authentication connections.

As far as I am concerned, the code I have written for this software
can be used freely for any purpose.  Any derived versions of this
software must be clearly marked as such, and if the derived work is
incompatible with the protocol description in the RFC file, it must be
called by a name other than "ssh" or "Secure Shell".

Copyright (c) 1999 Niels Provos.  All rights reserved.
Copyright (c) 2000, 2001, 2002, 2003 Markus Friedl.  All rights reserved.

Modified to work with SSL by Niels Provos <provos@citi.umich.edu>
in Canada (German citizen).

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

もともとの著作権表示とライセンス表示に追加される形で、2条項BSDライセンスと著作権者が記載されている。これは著作権者が複数いて、両方のライセンスが適用されることを意味している。それぞれのライセンスは矛盾する項目がないので共存できる。改変者の著作権や権利は、こういう形で守られるのである。元の著作権者の権利が剥奪されたり、改変者の著作権が認められなかったりすることは発生しない。

GPLとBSDライセンスは相互に矛盾する条項があるため、同時に適用することができない。したがって、GPLのソフトウェアを改変した場合、改変した部分や全体はGPLにしなければならない。ただしこの場合も、改変者の著作権は守られる。どちらのライセンスも、著作権の保持について何も制限していないからだ。

複数の著作権者がいる場合、全員が同意しないとライセンスを変更することができない。このことは、プロジェクト側で不都合が生じることがある。著作権者のリストが増えてくると管理が大変になることと、ライセンスの軽微な変更であっても著作権者全員の同意をとらなければならないからだ。ライセンスを変更することは滅多に発生しないのだが、その時になって誰かと連絡がとれなくなったり、著作権者がひとりでも自分の権利を主張すると困ったことになる。そのため、プロジェクトによってはコードの貢献に関して開発者とプロジェクトの間で著作権を譲渡させる契約を結んだり、一般に CLA (contributor license agreement) と呼ばれる、著作権の行使をプロジェクトに許諾するライセンス契約を結ぶ。たとえば前者は FSF (Free Software Foundation) が行なっていて(説明)、後者は ASF (Apache Software Foundation) が行なっている(個人向けCLAの契約書)。GPL も BSD ライセンスも、こういった契約なしに著作権が勝手に設定されるような乱暴な内容ではない。

GPL が適用されるソフトウェアの例

GPLの場合を見てみよう。次のライセンス表示は GNU troff のソースファイルにあるものだ。

Copyright (C) 1989-2000, 2001, 2002, 2003, 2004
   Free Software Foundation, Inc.
     Written by James Clark (jjc@jclark.com)

This file is part of groff.

groff is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.

groff is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License along
with groff; see the file COPYING.  If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.

GNU troff は、コードの貢献者が著作権を FSF に譲渡しているため、”Copyright”行は FSF になる。その下にコードの著作者が書かれている。この個人名の表記は著作者人格権を尊重したもので、著作権者としての効力はない。その下には GPL が適用されることが書かれている。

次は a2ps というソフトウェアの例だ。

main.c -- main loop, and interface with user

Copyright (c) 1988-1993 Miguel Santana
Copyright (c) 1995-2000 Akim Demaille, Miguel Santana



This file is part of a2ps.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.

GNU troff と非常に似ているが、copyright 行が FSF になっておらず、コードの改変者が列挙されている。さらに改変した場合は、新たな著作権者として追加して問題はない。ここに列挙されているひとは、全員がライセンスを GPL とすることに同意したことになる。GPL でないライセンスで配布したければ、全員が同意してライセンスを変更するという手続きが必要だ。

まとめ

元記事は一体なにを参考に書いているのだろう? 「パブリックドメインを可能にしようとしたGPL」なんていう表現は、初めて目にしたように思う。どこかにそういう主張があるなら知りたい。


Next post: ライセンス(3)

Previous post: ライセンス