昨日の記事の続きだが、日本の著作権法において、PC-8001 N-BASICの各ルーチンが「思想」を表現した著作物であるならば、その「引用」(著作権法第32条)は可能なのか。
- 093AH 画面幅設定
を例に、少し考えてみよう。
093A E5 PUSH HL
093B C5 PUSH BC
093C 79 LD A,C
093D CDD709 CALL 09D7H
0940 C1 POP BC
0941 78 LD A,B
0942 CDA309 CALL 09A3H
0945 AF XOR A,A
0946 CDC907 CALL 07C9H
0949 E1 POP HL
094A C9 RET
ざっと読めばわかる通り、Cレジスタの値をAレジスタに移して09D7Hルーチンを呼び出し、次にBレジスタの値をAレジスタに移して09A3Hルーチンを呼び出し、最後にAレジスタに00Hを入れて07C9Hルーチンを呼び出している。これだけでは、何のことだかサッパリわからない。つまり、093AHルーチンの「思想」を「引用」するためには、09D7Hルーチンの「思想」と、09A3Hルーチンの「思想」と、07C9Hルーチンの「思想」が必要だということである。ならば、09D7Hルーチンを見てみよう。
09D7 FE19 CP A,19H
09D9 2071 JR NZ,0A4CH
09DB CDDD04 CALL 04DDH
09DE F5 PUSH AF
09DF 3D DEC A
09E0 CD6406 CALL 0664H
09E3 F1 POP AF
09E4 FE19 CP A,19H
09E6 280E JR Z,09F6H
09E8 CD5104 CALL 0451H
09EB 3C INC A
09EC FE19 CP A,19H
09EE 38F8 JR C,09E8H
09F0 3262EA LD (EA62H),A
09F3 CDC907 CALL 07C9H
09F6 21680A LD HL,0A68H
09F9 3A67EA LD A,(EA67H)
09FC F608 OR A,08H
09FE 3267EA LD (EA67H),A
0A01 D340 OUT (40H),A
0A03 CDD903 CALL 03D9H
0A06 AF XOR A,A
0A07 D351 OUT (51H),A
0A09 3E80 LD A,80H
0A0B D368 OUT (68H),A
0A0D AF XOR A,A
0A0E D364 OUT (64H),A
0A10 3EF3 LD A,F3H
0A12 D364 OUT (64H),A
0A14 7E LD A,(HL)
0A15 23 INC HL
0A16 D365 OUT (65H),A
0A18 7E LD A,(HL)
0A19 23 INC HL
0A1A D365 OUT (65H),A
0A1C 3ECE LD A,CEH
0A1E D350 OUT (50H),A
0A20 7E LD A,(HL)
0A21 23 INC HL
0A22 D350 OUT (50H),A
0A24 7E LD A,(HL)
0A25 23 INC HL
0A26 D350 OUT (50H),A
0A28 7E LD A,(HL)
0A29 D350 OUT (50H),A
0A2B 3A61EA LD A,(EA61H)
0A2E E640 AND A,40H
0A30 F613 OR A,13H
0A32 D350 OUT (50H),A
0A34 3E43 LD A,43H
0A36 D351 OUT (51H),A
0A38 3EC4 LD A,C4H
0A3A D368 OUT (68H),A
0A3C 3E20 LD A,20H
0A3E D351 OUT (51H),A
0A40 FB EI
0A41 CDF25F CALL 5FF2H
0A44 E6F7 AND A,F7H
0A46 3267EA LD (EA67H),A
0A49 D340 OUT A,(40H)
0A4B C9 RET
0A4C 2162EA LD HL,EA62H
0A4F BE CP A,(HL)
0A50 280C JR Z,0A5EH
0A52 3E06 LD A,06H
0A54 3D DEC A
0A55 2807 JR Z,0A5EH
0A57 F5 PUSH AF
0A58 CD2804 CALL 0428H
0A5B F1 POP AF
0A5C 18F6 JR 0A54H
0A5E 216D0A LD HL,0A6DH
0A61 3E14 LD A,14H
0A63 3262EA LD (EA62H),A
0A66 1891 JR 09F9H
0A68 B78B9867DE
0A6D 5F899369BE
最初でAレジスタが25の場合を分けており、行数ガラミの処理っぽいことがわかる。また、0A06H~0A3FHのあたりでは、CRTコントローラとDMAコントローラを設定しているのも、だいたい読める。一方、04DDH・0664H・0451H・07C9H・03D9H・5FF2H・0428Hの各ルーチンを呼び出しているので、そっちの「思想」も見に行かねばならない。しかし、それより恐ろしいのは、0A40Hで「EI」すなわち割り込みを許可している点である。
割り込みを許可してしまうと、Z80プログラムは、どこに飛んで行ってしまうかわからない。「IM 1」なら0038Hルーチンだけ見ておけばいいが、「IM 0」は任意の1バイトを実行可能だし、「IM 2」だと256バイトのテーブルから割り込み先を選べる。しかし、この09D7Hルーチンには、「IM 0」なのか「IM 1」なのか「IM 2」なのかすら書かれていない。
それは端的には、N-BASICのプログラム全体を「引用」しておかないと、この09D7Hルーチンの「思想」は「引用」しきれない、ということを意味する。093AHルーチンは09D7Hルーチンを呼び出しているので、やはりN-BASICのプログラム全体を「引用」する必要が生じる。しかしながら、それは「引用」における「公正な慣行に合致」しうるのだろうか。私(安岡孝一)個人としては、少なくともN-BASICに関する限り、それは無理と考えざるを得ない。
原著作物に依拠して新たに作製したものが、創作性ないし独自性を有するか否かは、原著作物の著作権を侵害するか否かの点に、影響を与えるものではないというべきであり、また、著作者がソースプログラムとして公開していない本件著作物につき、その著作者の意思に反して発表する行為が、利用者の便宜の故に正当化される余地がないのは当然の理である
というのが、東京地裁昭和57年(ワ)14001号(1987年1月30日判決)の判示であり、たとえ私が「引用」(あるいは独自実装)を主張したとしても、裁判所は「複製権の侵害」だと判断せざるを得ないからである。ツライなあ…