パブリックドメイン

 僕はフリーソフトウェア開発者としては、 GPL 界隈ではなく、 PDSパブリックドメインソフトウェア)を中心にやってきた。中学生から大学を中退するまでの間に作ったフリーウェアはすべて PDS として配布した。しかし、ある日、日本の法律では著作権の放棄は認められないため PDS は成立しないという話を聞いて、手持ちの PDS はすべて修正BSDライセンスに変更した。それからは自作フリーウェアは原則修正BSDライセンスを用いてきた。

 一時期 XOOPS モジュール関係で GPL を使ったものの、ブランチ後にフルスクラッチした XOOPS Cube コアは修正BSDライセンスを提案して採択され、以降のコードはすべて修正BSDライセンスで書けるようになった。XOOPS Cube から派生した Buddha や cubson にも修正BSDライセンスを適用した。

 使う側にとってはパブリックドメインでも修正BSDでも大きな違いはないだろう。配る側が気にする程度の話である。そして僕は気にするほうである。

 先月になって、ふと「日本では修正BSDライセンスが適用されるが、アメリカ等ではパブリックドメインとして扱われる」というデュアル宣言のようなものを思いついた。最近その可否を調べているのだが……

 僕の考えた理屈はこういうことだ。まず、パブリックドメインが成立する国では、添付されているソフトウェアライセンス自体が著作権が放棄されているため、修正BSDライセンスが無効となる(無効化できる)。

さまざまなライセンスとそれらについての解説 - GNU プロジェクト - フリーソフトウェア財団 (FSF)
「パブリック・ドメイン(公有)に置かれている」というのは状態であって、ライセンスではありません。むしろ、対象物に著作権が主張されていないので、そもそもライセンスが必要ないということを意味します。

 パブリックドメインが成立しない国では、パブリックドメイン宣言が無効になるかわりに、ソフトウェアライセンスが意味を持ち、それは修正BSDライセンスであるということになる。どっちか片方しか成立しないからデュアルじゃないけど。

 ところが、パブリックドメインについて調べていくと、10年ほど前に聞かされた「日本では PDS は成立しないらしいぞ」という話が、 "パソコン通信で活動していた開発者の間でよくある誤解" という扱いになっていることが分かった。

Wikipedia
米国法のもとでは著作者人格権に相当する権利は moral right としてコモン・ロー上保護の対象になっていることに理解が及ばない者が多かったためか、ソフトウェアの開発等に関わる者の間では、米国法の下におけるのと異なり、日本法の下では厳密な意味でのPDSは存在し得ないと誤解されることが多かった。

著作権に関する法律問題|弁護士法人リバーシティ法律事務所
 「著作権の放棄はできない」という見解をインターネット上でみかけることがあります。どうしてそのような見解になったのかはわかりませんが、どうも著作権が著作物の創作と同時に発生するので強制的なものであり、放棄もできないという理屈のようです。また、著作権法に明文がないことも理由のようです。
 法律家の目からみれば、著作権は譲渡が可能な財産権の一種ですから、著作権に担保が設定されていて著作権者が著作権を放棄すると担保権者を害する場合や出版権が設定されている場合など、著作権を放棄すると第三者を害する場合には放棄することが許されませんが、特に第三者を害するようなことがなければ放棄することができると解釈するのが通常だと思われます(特許法97条参照)。
(以下略)

 日本で放棄できないのは、譲渡不可能な権利として知られる著作人格権のほうになるが、これを著作権の一部とみなすかどうかの解釈らしい。米国にも著作権を放棄して、パブリックドメインとした状態であっても、著作者のいくつかの権利は放棄の対象とならず各種法律で自動的に保護されるそうだ。その放棄不可能な権利が著作権法で定義されているかどうかの違いによって誤解が生じたらしい。完全無権利者状態でないにも関わらず、米国でパブリックドメインが運用できている以上、日本でも可能(少なくとも不可能とされる前例が無い)だといえる。

 日本に限定した頒布においてパブリックドメインとすることは、米国と同じレベルの "パブリックドメイン度" で十分可能と僕は考える。各国の法律すべてで可能なパブリックドメインは確立しようがないし、実際にパブリックドメインにしてる人はそれで著作権法が厳しいドイツなどにもソフトを撒いているので、ひょっとしたらデュアル宣言とかしなくてもいけるんじゃないかと思う。

自分で管理しているプロジェクトでの実験を考えている。まず Buddha の後継 Vrtra をパブリックドメインにしてみる。あとほかに自分しか書いてなくて、 XOOPSに関係しないプロジェクトがあるので、それをデュアルにしてみる。