判例全文 line
line
【事件名】在宅医療情報システム“モバカルネット”事件
【年月日】令和4年8月30日
 東京地裁 平成30年(ワ)第17968号 著作権に基づく差止等請求事件
 (口頭弁論終結日 令和4年4月21日)

判決
原告 株式会社ヒューマンライフ・マネジメント
同訴訟代理人弁護士 竹花元
同 日高義允
被告 NTTエレクトロニクステクノ株式会社
同訴訟代理人弁護士 佐藤安紘
同 末吉亙


主文
1 原告の各請求をいずれも棄却する。
2 訴訟費用は原告の負担とする。

事実及び理由
第1 請求等
1 被告は、「モバカルネット」という名称の「コンピュータ上で動作する在宅医療用のカルテ等の文書作成、資料管理、情報共有及び予定管理のために利用されるソフトウェア」のプログラム(以下「被告プログラム」という。)を複製、翻案してはならない。
2 被告は、被告プログラムを廃棄せよ。
3 被告は、原告に対し、610万円及びこれに対する平成24年8月31日から支払済みまで年5分の割合による金員を支払え。
4 仮執行宣言
第2 事案の概要
 本件は、原告が、別紙原告プログラム目録記載の各プログラム(以下、符号に応じて「原告プログラム1(1)」、「原告プログラム2(1)ア」等といい、原告プログラム1(1)から4を併せて「各原告プログラム」という。)について原告が著作権を有し、被告が各原告プログラムを複製又は翻案した被告プログラムをサーバにインストールして定期的に修正したこと等により、原告の各著作権(複製権又は翻案権)が侵害され損害を被った等と主張して、被告に対し、各著作権による差止請求権及び廃棄等請求権(著作権法112条1項、2項)に基づき、被告プログラムの複製、翻案の差止め及び廃棄を求めるとともに、不法行為による損害賠償請求権に基づき、損害の一部として610万円及びこれに対する不法行為より後の日である平成24年8月31日から支払済みまで平成29年法律第44号による改正前の民法所定の年5分の割合による遅延損害金の支払を求める事案である。
1 前提事実(当事者間に争いがない事実及び証拠上容易に認められる事実。証拠は文末に括弧で付記した。なお、書証は特記しない限り枝番を全て含む。以下同じ。)
(1)当事者
 原告は、医療機関等の運営支援等を目的とする株式会社である。(甲1)
 被告は、光、電子部品、通信機器等電子機械器具、装置の研究開発、設計、製造及び販売等を目的とする株式会社である。(甲3)
(2)在宅医療情報システム株式会社管理のシステムウェア
ア 在宅医療情報システム株式会社は、クラウド型の在宅医療対応電子カルテ及びレセプトシステムである「HOMIS」を管理している。
 HOMISは、同一法人が在宅医療を提供する複数の診療所を開設する場合に使用することを想定したシステムであり、@診療支援システム、A電子カルテ及びレセプトシステム並びにB患者情報共有システムの3つから構成されている。
イ HOMISのうちA電子カルテ及びレセプトシステム(以下「HOMISA部分」という。)は、医療従事者が、モバイル端末を用いて、在宅患者の診療情報を記録、参照したり、診断書等の文書を作成したりするための電子カルテシステムと、医療事務員が、電子カルテに記録された患者診療情報に基づいて診療報酬を算定し、診療報酬の請求を行うためのレセプトシステムから成り、これらのシステムは、[ア]Webフレームワーク、[イ]HOMIS管理ツール(利用者登録及びシステム作動に不可欠なマスタデータの管理等の機能を実現するプログラム群)、[ウ]電子カルテアプリケーション(在宅患者の診療情報の記録、入力補助、医事文書作成等の機能を実現するプログラム群)、[エ]レセプトソフトウェア接続アプリケーション(電子カルテアプリケーションとORCAレセプトソフトウェアの連結を実現するプログラム)及び[オ]ORCAレセプトソフトウェアの5つのモジュール群(以下、各モジュール群を上記の各符号に応じて「[ア]部分」等ということがある。)から構成されている。
 [ア]から[オ]部分は全てクラウド上の同一のサーバに存在しており、各部分の間の通信はセキュア(情報、システム、通信路などが保護されている状態)である必要がないため非セキュア通信が採用されている。
(ア)このうち、[ア]部分は、原告プログラム1(4)、3(1)を含む。
 また、[ウ]部分は、原告プログラム1(1)から(3)、2(1)から(9)ウ、3(2)を含む。
 [ア]及び[ウ]部分のファイル構成は、概ね、別紙[ア]及び[ウ]部分のファイル構成記載のとおりであり、205ファイル、9万7763行から成る。
(イ)[エ]部分は、原告プログラム4を含む。
 [エ]部分は、[ア]から[ウ]部分と[オ]部分を連結するプログラムであり、このうち原告プログラム4は、[オ]部分から受信したXMLデータを解析する機能を有する。原告プログラム4には、オープンソースである「XML_Unserializer.php」(クラス)が用いられている。
(ウ)[オ]部分には、社団法人日本医師会(以下「日本医師会」という。)がORCA(OnlineReceiptComputerAdvantage)プロジェクトによって開発して著作権を保有し、日本医師会ORCA管理機構株式会社がオープンソースとして提供するレセプトシステムである「日医標準レセプトソフト」(以下、便宜上「ORCA」という。)が用いられている。
 ((2)につき、争いがない事実のほか、甲2、31、乙2、弁論の全趣旨)
(3)被告プログラム
ア 被告プログラムは、クラウド型の在宅医療電子カルテ及びレセプトシステムであり、主に、単一の診療所での利用を想定している。被告プログラムは、カルテ入力支援機能、医事文書作成・管理機能、ORCAとの連結機能などを備えている。(争いがない事実のほか、甲5)
イ 被告プログラムにおいては、サービス提供者が、アプリケーション、OS、ストレージ、ネットワーク基盤等を管理し、利用者は、ウェブブラウザやプログラムインターフェースを通じて、サービス提供者がサーバにインストールしたプログラムによって提供されるサービスを利用する方式(softwareasaservice;SaaS)を採用している。したがって、被告は、被告プログラムをサーバに蔵置し、定期的にバグの修正やバージョンアップを行っている。また、被告プログラムは、仮想マシンによって随時複製されている。(争いがない事実)
ウ 被告プログラムのうち、ORCAとの連結機能を担う部分は、ORCAから受信したXMLデータを解析する機能を有する。同部分には、オープンソースである「XML_Unserializer.php」(クラス)が用いられており、また、原告プログラム4のXMLデータを解析する部分のソースコードのうち別紙原告プログラム4抜粋の赤字部分(以下「本件共通箇所」という。)と同じ記述を含む。(甲31、乙47、弁論の全趣旨)
(4)事実経過
ア 被告の従業員であるA(以下「a」という。)は、平成21年6月頃、スケジュール、タスク及びプロジェクトの管理、文書の作成及び管理、入力支援などの基本的な機能を提供する「PMPortal」(以下「PMポータル」という。)というプログラムを作成した。PMポータルは、「Webフレームワーク」及び「Webアプリケーション部」という各プログラム群によって構成されている。被告は、PMポータルの著作権を有する。(乙1、8、68、弁論の全趣旨)
イ 在宅医療情報システム株式会社及び被告は、平成23年10月20日頃、情報処理業務に係る業務委託基本契約(以下「本件契約」という。)を締結した。本件契約においては、被告が納入物に関して著作した著作物に係る著作権は納入物の所有権移転と同時に在宅医療情報システム株式会社に移転すること、ただし、被告が従前から著作権を保有する著作物を納入物に組み込んだ場合には被告がその著作権を留保すること(16条2項)等が定められていた。(争いがない事実のほか、甲8)
 被告は、平成23年11月8日頃、本件契約に基づき、契約期間を同年12月1日から平成24年3月31日として、B(以下「b」という。)が代表者を務める医療法人社団悠翔会(以下「悠翔会」という。)向け電子カルテシステム及びレセプトシステム開発業務を請け負った。(争いがない事実のほか、甲9、弁論の全趣旨)
被告は、本件契約に基づき、平成24年3月31日までに、電子カルテ及びレセプトシステムであるHOMISA部分を完成し、悠翔会に対して納入した。被告は、このうちの少なくとも[エ]部分(ただし、Webフレームワーク、「XML_Unserializer.php」を用いた部分を除く。)を新たに作成し、その著作権が、納入と同時に、被告から在宅医療情報システム株式会社に譲渡された。なお、被告におけるHOMISA部分の開発担当者はaであった。(争いがない事実のほか、甲23、弁論の全趣旨)
ウ 被告は、平成24年9月、在宅医療対応電子カルテシステムである被告プログラムの利用サービスの提供を開始し、平成25年3月頃、被告プログラムに情報共有機能のサービスを追加した。なお、開発担当者はaであった。(弁論の全趣旨)
(5)一般的知見
ア インターネットを利用するシステムであるウェブシステムにおいては、利用者がウェブブラウザから入力したデータは、インターネットを介してウェブサーバに送信される。ウェブサーバには、Java、JavaScript、PHP(HypertextPreprocessor)、Python等のプログラミング言語を用いて作成されたウェブアプリケーションプログラムが実装されており、これによって利用者から送信されたデータが処理される。その後、データ処理結果を表示するために作成されたHTML文書がウェブブラウザに送信され、表示される。(争いがない事実のほか、乙7、9〜11)
 ウェブページ(ブラウザの画面に表示されるページ)は、ウェブブラウザがウェブサーバに対してデータを送信して表示したいウェブページを要求し(HTTPリクエスト)、これに対してウェブサーバからウェブページを表示するために必要なデータ(画像、動画、音声、文章等)が送り返される(HTTPレスポンス)ことによって表示される。ウェブページを表示するために必要なデータのうちHTML文書がウェブページの文章構造を定義する中心的な役割を果たしている。HTML文書は、画面表示用の言語、具体的には、HTML言語(ウェブページのコンテンツや構造を決定する言語)、CSS(ウェブページの見た目を決定する言語)、JavaScript(ウェブページに所定の動きを与える言語)によって構成される。HTML言語のみでは、デザイン(配置や装飾)やインタラクティブな動作を定義することはできず、CSSを組み合わせることによりウェブページを装飾することが可能になり、JavaScriptを組み合わせることによりウェブページに動きをつけることが可能になる。HTML文書は、ウェブサーバからクライアントサイドに送られウェブブラウザ上で起動することから、利用者側でその内容を確認することができる。他方、PHPは、HTTPレスポンスの内容を制御するプログラミング言語であり、PHPにより記述されたプログラムは、ウェブサーバにインストールされウェブサーバ上で起動する。これらのプログラムは、HTTPレスポンスに含まれるHTML言語、CSS、JavaScriptなどの静的なデータをあらかじめウェブサーバ側で動的に作成したり、変更したりするため、PHPのプログラム構成の中には、HTML、CSS、JavaScriptにより記述されたプログラムが含まれることになる。HTTPレスポンスとして送り返す部分以外は、利用者側で内容を確認することはできない。(乙33)
イ 関数とは、入力されたデータを受け取り、定められたとおりの処理を実行して結果を返す一連のプログラム群をいう。
 クラスとは、ウェブアプリケーションの機能を実現するための変数及び機能処理を定義したプログラムをいう。クラスは、いずれも具体的なコードとして記述されたものであり、クラスごとに一つのファイルが作成されている。
 インスタンスとは、クラスを基に実行形式のプログラムを生成し、クラスの変数に値を設定して、機能処理を実行するプログラムをいう。
 フレームワークとは、ウェブシステムの開発を行う際に頻繁に必要とされる基本的な機能、一般的な処理の流れをまとめたプログラム群をいう。
 フレームワークを用いる場合には、フレームワークが定めるルールに従ってソースコードを記述する必要がある。
 (本項につき、争いがない事実のほか、乙9〜17、弁論の全趣旨)
ウ ウェブアプリケーションにおいては、あるプログラムのソースコードに、URLを記述してインターネット上に存在するプログラムやデータの場所を指定してこれらを呼び出す方法、「include」、「include_once」、「require」、「require_once」等の構文を記述して他のプログラムファイルを呼び出す方法、繰り返し記述することが予想される命令文の組合せをまとめて関数として定義し、関数名を記述してあらかじめ定義された関数を呼び出す方法、JavaScriptプログラムにおいて「$.ajax」という関数を記述してウェブサーバに存在するPHPプログラムを指定して呼び出す方法(Ajax通信。ウェブページを表示した状態のまま、別のページの表示や再読み込みなどを伴わずにウェブサーバと通信を行って表示内容を変更する。)などにより、複数のプログラムの動作を実現させることが一般的に行われている。(乙40〜42、70〜74)
2 争点及び争点に関する当事者の主張
 本件の争点は、
@原告プログラム1(1)から3(2)(以下、併せて「本件31個の各プログラム」という。)の各著作権が被告から在宅医療情報システム株式会社に譲渡されたか。
A各原告プログラムの著作権が、在宅医療情報システム株式会社から原告、原告から悠翔会、悠翔会から原告に順次譲渡されたか。
B被告が各原告プログラムを複製、翻案しているか。
C損害の発生及び額
である。
(1)争点@(本件31個の各プログラムの各著作権が被告から医療情報システム株式会社に譲渡されたか。)について
(原告の主張)
ア 本件31個の各プログラムは、いずれも、被告が本件契約に基づき新たに作成した部分であり、各原告プログラムの各著作権は、本件契約に基づき、被告から医療情報システム株式会社に譲渡された。
 なお、本件において、原告が著作権を有するプログラムは、本件プログラム4のほか本件31個の各プログラムのそれぞれのプログラムであり、その各プログラムに創作性があり著作物であるといえる根拠は以下のとおりである。
イ 本件31個の各プログラムには、それぞれについて創作性が認められる。
 すなわち、PMポータルは、複数の定型的なプログラムの構文をあらかじめまとめておき、コードを作成する際に構文を呼び出して個々の素材を当て込んでいくプログラム作成や業務管理のツールにすぎないから、PMポータルを用いて作成されたプログラムは、個々の素材を組み合わせて新たに作成された著作物である。本件31個の各プログラムにWebフレームワークが使用されていたとしても、ソースコードのうちWebフレームワーク自体の記述及びこれを利用した記述は一部にすぎず、自由に選択できる関数、変数は多々存在する。また、本件31個の各プログラムは、bが、医師としての経験に基づき在宅医療の特性を踏まえて独自に工夫した機能を実現するためのものであるから、これらの機能を実行するソースコードには個性が発揮されている。HOMISA部分は、量的、機能的な側面から、PMポータルとは全体的な構成が異なり、この点が、具体的には、次のとおり、本件31個の各プログラムの創作性に反映されている。
(ア)HOMISA部分のファイル、フォルダは、大半が新たに作成されたものであり、本件31個の各プログラムの記述は、その内容はPMポータルから流用されていたとしても電子カルテに必要な機能を抽出、分類している。
(イ)本件31個の各プログラムは、次のとおり、HOMISA部分の関数、変数、データ定義に係るファイルと連動等しており、PMポータルと異なるHOMISA部分の関数、変数、データ定義の共通化の仕方の特徴、すなわち、各ファイルの処理機能をどのような関数を使用してどの範囲でどのファイルにおいてサブルーチン化したかという点、PMポータルと異なるデータベース構造やデータの格納方法、どの情報に共通変数を使用してどの範囲で共通変数を参照したかという点が、本件31個の各プログラムの各ソースコードの記述に表われている。
a 原告プログラム1(4)は、共通関数を定義するファイルであるところ、36個の関数のうち29個が電子カルテに関するHOMIS独自のものである。そして、記述されている個々の関数は、必ずしも原告プログラム1(4)に記述する必要はなく、共通関数とすることなく各プログラムに直接実行処理文を記述する、代わりに「config.php」に記述する等の選択肢の無数の組合せの中から選択され作成されたものであり、他の選択肢を選択した場合にはソースコードが違うものになる。
b 「variant.php」(原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウによって参照されている。)は、アプリケーション全体の共通変数を定義するファイルであるところ、定義されている共通変数はHOMIS独自のものである。そして、どの情報を共通変数とするか、変数についてデータをどのような名称で定義するか(例えば、「variant.php」においては、性別について、ORCAのデータ定義に合わせて、男性を「MALE」と、女性を「FEMALE」と定義したが、他の選択肢もある。)、どこで共通変数を定義するか、変数を参照するか各プログラムに直接実行処理文を記述するか等の選択肢の無数の組合せの中から選択され作成されたものであり、他の選択肢を選択した場合にはソースコードは違うものになる。
c 原告プログラム3(1)(原告プログラム1(3)と連動している。)は、アプリケーション全体で共用するJavaScript関数を定義するファイルであり、うち3個の関数はHOMIS独自のものであり、HOMISの中のプログラムを呼び出す内容のものであるから、HOMISのプログラムの構造が前提となったものであり、HOMISのプログラム構造がソースコードに表われている。
d 「docs/config.php」(原告プログラム2(2)ア、2(3)アからウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)アからウによって参照されている。)は、各文書作成プログラムにおける共通関数2個、共通変数50個を定義するファイルである。また、「pdetail/config.php」(原告プログラム1(2)によって参照されている。)も、共通変数を定義するファイルである。これらについては、どのような処理機能をどの範囲で共通関数とするか、共通関数を参照するか各プログラムに直接実行処理文を記述するか、どの情報をどの範囲で共通変数とするか、変数をどのように定義するか、どこで共通変数を定義するか、変数を参照するか各プログラムに直接実行処理文を記述するか等の選択肢の無数の組合せの中から選択され作成されたものであり、他の選択肢を選択した場合にはソースコードは違うものになる。
(ウ)作成する医事文書の拡張性を高めた点が、プログラムの相互関係、呼出方法(どういう手段でどの画面を呼び出すかという点)、データの受渡方法、格納方法に表われ、ひいては、本件31個の各プログラムのソースコードの記述に表われている。
 具体的には、HOMISA部分には「model/docs」フォルダが設けられており、作成する文書の種類が増えた場合であっても、プログラム名に新しく数字を割り当てて、文書ごとに、原告プログラム2(2)アから(9)ウと同様の入力、編集、印刷プログラムを追加することができ、その結果、各プログラムを参照して呼び出す際には新たに数字を割り当てられた各プログラム名がソースコードに記述される。
 また、入力、編集、印刷プログラムにおける表示、実行等は、URLを記述することによりプログラムを呼び出して実現している。ここで、どの画面を呼び出すかは業務用アプリケーションの内容次第であり無数に選択肢が存在する。
 原告プログラム2(3)から(9)の各イの各表示プログラムに対応する実行プログラムは「edit-do2.php」のみである。
 さらに、原告プログラム2(1)により表示される画面において、「PDF」をクリックすればPDFファイルが表示され文書を印刷することができるようになっており、PDFファイルを端末に表示することができる点がソースコードに記述されている。他方、PDFファイルの作成については、PDFの作成に失敗した場合について、原告プログラム2(3)から(9)の各ウでは使用されたオープンソースのバグがそのまま引き継がれているのに対し、原告プログラム2(2)ウではバグが修正されており、エラーメッセージを表示することができる点がソースコードに記述されており、この点について選択肢があったことを示している。
(エ)モバイル環境において電波状況によってカルテの保存ができない状況を回避するため通信状況を確認するようにした点が、ソースコードに表われている。
 具体的には、原告プログラム1(1)においてカルテの編集完了後にAjax通信により原告プログラム3(2)を参照して呼び出し、通信に成功すると原告プログラム1(1)に定義した関数を呼び出し、他方、原告プログラム3(2)の呼出しに失敗した場合には、原告プログラム3(1)で通信エラーを表示する。これらの記述は、上記の業務用アプリケーションの内容に依存している。
(オ)その他、原告プログラム1(1)から(3)、2(1)、2(2)から(9)の各アからウは、URL、プログラムファイル呼出し、関数記述、Ajax通信により、他のプログラムや共通関数を呼び出しており、相互に関連している。そして、共通関数や他のプログラムを呼び出す方法のほか、どのような処理機能をどの範囲で共通関数とするか、共通関数を参照するか各プログラムに直接実行処理文を記述するか、どの範囲でプログラムをまとめるか、プログラムをどのフォルダ下に格納するか、プログラムを参照するか各プログラムに直接実行処理文を記述するかという点にも選択肢があり、他の選択肢を選択した場合にはソースコードは違うものになる。
(被告の主張)
ア 本件31個の各プログラムの各著作権は、被告から医療情報システム株式会社に譲渡されていない。本件31個の各プログラムを含む[ア]及び[ウ]部分は、被告が著作権を有するPMポータルを用いて作成されたものであり、同部分に係る著作権は、従前から被告が保有していたものであり、本件契約に基づき、被告に留保されている。すなわち、[ア]部分は、PMポータルのWebフレームワークを用いている。[ウ]部分も、PMポータルのWebフレームワーク(クラス、関数)を呼び出し、クラスのインスタンスを生成し、クラスの変数に値を設定したプログラムであって、PMポータルのWebフレームワークを組み込んだものである上に、既に作成されていたPMポータルのWebアプリケーション部を電子カルテ用に形式的に修正して作成したにすぎない。
イ(ア)原告プログラム1(1)から(3)、原告プログラム2(1)から2(9)ウは、Webフレームワークを基盤としてWebアプリケーション部を参照しながら、別のファイルを呼び出し、変数への値の設定、HTML文書の定義等の単純な作業を行う指令を複数記述したものにすぎず、定型的にありふれたものであって作成者が個性を発揮する余地はない。このようなありふれた個々のソースコードの記載の順序や組合せも、表示する画面に対応した表現にすぎず、画面の内容はカルテや医事文書等の様式によりあらかじめ定められているから、この点についても創作性はない。
 PMポータルは、データ処理及び結果の画面表示等の一連の流れを記述統合したWebフレームワーク(クラス群等)とWebアプリケーション部(インスタンス群等)から構成されるプログラムである。一般的に、フレームワーク(クラス、関数)は、プログラムのひな型を構成するソースコードであり、その書き方には限定がなく、表現も作成者によって様々であり、創作性が認められる。他方、プログラム作成において、フレームワークを用いる場合、作成者はフレームワークに従ってプログラムを作成する必要があるため、個性を発揮する余地がほとんどなく、同じ目的を実現するためのコードであれば誰が作成しても同じようなものになる。したがって、PMポータルのWebフレームワークを用いて作成された[ア]及び[ウ]部分のうちWebアプリケーション部を修正した部分についても創作性は全くないか、あったとしても極めて微小である。
(イ)また、各ファイルの機能処理をどの範囲でどのファイルにおいてサブルーチン化したかという点、データベース構造やデータの格納方法、どの情報に共通変数を使用してどの範囲で共通変数を参照したかという点は、本件31個の各プログラムの創作性とは何らの関係もない。
a 原告プログラム1(4)は、繰り返し使用される処理を関数としてまとめたものであり、具体的には、PMポータルに記述されている関数をそのまま利用したもの、PMポータルに記述されている関数を参照して作成したもの、PMポータルに記述されているソースコードを参照して作成したもの、汎用的に使用されている関数を利用されているもののいずれかである。繰り返し記述されることが予想される命令文の組合せをまとめて関数とすることは一般的な手法であり、表現ではなくプログラミングに関するアイデアにすぎず、仮に表現があるとしてもありふれている上、その内容は、PMポータルに記述されている関数等であり、まとめ方はいずれもPMポータルの「custom_util.php」と同じである。
b 「variant.php」(原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウによって参照されている。)は、いずれも画面に表示されるセレクトボックス(プルダウン形式やリスト形式のメニュー)の選択項目を定義したものにすぎず、選択項目を一つの配列の中で定義することはPMポータルにおいて採用されていたし、画面の選択項目に対応した配列の定義にすぎないから個性を発揮する余地もない。
 また、データやデータの名称は保護の対象ではなく、どこで共通変数を定義するかは原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウの創作性とは何ら関係がない。変数を参照するか各プログラムに直接実行処理文を記述するか等の選択肢は、現実的には存在しない。
c 原告プログラム3(1)は、そもそもソースコードのどの部分に具体的に創作性があるという主張であるのか不明であるが、原告プログラム3(1)に含まれる23個の関数のうち20個はPMポータルの記述と同一である上、残り3個も繰り返し実行することが想定される画面表示処理(画面サイズの変更等)を汎用的な記述を用いて作成したものである。繰り返し記述されることが予想される命令文の組合せをまとめて関数とすることは一般的な手法であり、表現ではなくプログラミングに関するアイデアにすぎず、仮に表現があるとしてもありふれている上、まとめ方はいずれもPMポータルにおけるものと同じである。
d 「docs/config.php」(原告プログラム2(2)ア、2(3)アからウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)アからウによって参照されている。)について、このうち関数は、繰り返し記述されることが予想される命令文の組合せをまとめて関数にしたものにすぎない。共通関数として定義するか否かという点は、表現の選択の幅の議論とは無関係であるし、直接実行処理文が記載されている部分もPMポータルの記述を使用しているから創作性が発揮される余地はない。また、変数は、画面に表示されるラジオボタン又はチェックボックスの選択項目を一つの変数として定義したものである。共通変数として定義するか否かという点は、表現の選択の幅の議論とは無関係であるし、どこで変数を定義するかは原告プログラム2(2)ア、2(3)ア〜ウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)アからウの創作性とは何ら関係がない。選択項目を一つの変数として定義することはPMポータルにおいて採用されており、画面の選択項目に対応した配列の定義にすぎないから個性を発揮する余地もない。
 「pdetail/config.php」(原告プログラム1(2)によって参照されている。)についても、共通変数として定義するか否かという点は、表現の選択の幅の議論とは無関係であるし、どこで変数を定義するかは原告プログラム1(2)の創作性とは何ら関係がない。
(ウ)ファイル名に数字を割り当てたり、医事文書に関するファイルを同一のフォルダの下に配置したりすることは、電子計算機に対する指令の組合せではなく、電子計算機に対する指令についての創意工夫ではない。プログラムの名称は著作権法の保護の対象ではない。
 遷移元のプログラムから遷移先のプログラムに対し遷移元のプログラムにおいて入力された情報を引き渡し、遷移先のプログラムにおいてその受信した情報を処理して処理完了画面を表示させることは、PHPによりプログラムを記述するに当たり頻用される一般的な手法であり、複数のプログラムが同一のファイルをURLにより呼び出すことは、表現ではなくプログラミングに関するアイデアにすぎない。どの画面を呼び出すかという点は、表現の選択の幅の議論とは無関係である。仮に編集登録の実行を「edit-do2.php」という一つのファイルで行うことができる点に創意工夫があるというのであれば、そのような創意工夫はWebフレームワークの「dbCtl.php」により実現されている。
 原告プログラム2(1)によりPDFファイルを表示して文書を印刷することができる点はプログラミングに関するアイデアにすぎない。また、PDFファイルの作成についても単に仕様を指摘しているにすぎず、プログラムの具体的記述における表現上の創作性は何ら主張されていない。
(エ)原告プログラム3(2)は、わずか1行から成るプログラムであり、創作性がないことは明らかである。Ajax通信により通信が成功した場合には所定の関数を起動させる一方、通信が失敗した場合にはエラーメッセージを表示させることはごく一般的に行われている。
(オ)共通関数として定義するか否かという点は、表現の選択の幅の議論とは無関係であるし、直接実行処理文が記述されている部分もPMポータルの記述を使用しているから創作性が発揮される余地はない。また、同様に、繰り返し使用されることが予想される処理をまとめて共通プログラムとして定義するか否かという点は、表現の選択の幅の議論とは無関係であるし、結果として一つのプログラムを呼び出すか複数のプログラムを呼び出すかはいずれにしろごく単純な処理を記述するものである。
 プログラムをどのフォルダ下に格納するかはプログラミングに関するアイデアにすぎない。
(2)争点A(各原告プログラムの著作権が、在宅医療情報システム株式会社から原告、原告から悠翔会、悠翔会から原告に順次譲渡されたか。)について
(原告の主張)
 在宅医療情報システム株式会社は、被告から原告プログラムの納入を受けた時点で原告に各原告プログラムに係る著作権を譲渡し、さらに、原告は、悠翔会にこれを譲渡した。悠翔会は、平成25年10月1日、原告に対し、原告プログラムに係る著作権を譲渡した。
(被告の主張)
 各原告プログラムの著作権が、在宅医療情報システム株式会社から原告、原告から悠翔会、悠翔会から原告に順次譲渡されたことは何ら立証されていない。すなわち、原告が示す在宅医療情報システム株式会社と原告、原告と悠翔会の間の契約では、在宅医療情報システム株式会社が著作した著作物の著作権、原告が著作した著作物の著作権が、それぞれ納入に当たり譲渡されることになっているが、各契約が正式に成立したこと、各契約がHOMISを対象としていること、HOMISのうち在宅医療情報システム株式会社及び原告が著作した部分は明らかではないし、在宅医療情報システム株式会社及び原告は各原告プログラムを著作していない。
(3)争点B(被告が各原告プログラムを複製、翻案しているか。)について
(原告の主張)
 被告プログラムは、次のとおり、各原告プログラムに依拠し、各原告プログラムのソースコードを複製又は翻案することにより作成された。被告は、サービス提供開始に当たりサーバに被告プログラムを蔵置して各原告プログラムを複製、翻案し、定期的にバグの修正やバージョンアップを行って各原告プログラムを翻案し、仮想マシンによって随時複製している。
ア 本件31個の各プログラムについて
 被告プログラムは、本件各31個の各プログラムによって実現される機能と同一又は類似の機能を備えており、データ名、データ名の並び順、データ名のミス(最高血圧を「bp_l」で、最低血圧を「bp_h」で表示しているなど。)、プログラム名、文書タイプなどにおいて、Webフレームワークを使用しているというだけでは説明できない多くの一致点が見られるところ、本件31個の各プログラムに依拠して作成されたものであることは明らかである。
イ 原告プログラム4について
 原告プログラム4は、ORCAからXMLデータを受信してこれを解析する機能を有し、同部分は高度な技術を必要とすることから、原告プログラム4のXMLデータを解析する部分が被告プログラムに流用された可能性が高い。すなわち、被告プログラムのソースコードのうち一部は、原告プログラム4のうちの本件共通箇所と一致しており、本件共通箇所には創作性が認められる。
 本件共通箇所にはオープンソースである「XML_Unserializer.php」が用いられているが、プログラムの作成者は、オープンソースに存在するバグや不十分な機能を前提に使用する部分や組合せを選択してコーディングを行うのであり、オープンソースのうちどの部分をどのように組み合わせるかについて創作性が認められる。
 また、原告プログラム4は、ORCAから受信するXMLデータを解析し情報を取り出して作成したのであり、規約に定義されていないタグもある。
(被告の主張)
ア 本件31個の各プログラムについて
 本件31個の各プログラムの著作権は被告が保有している(前記(1)(被告の主張))。
 本件31個の各プログラムの大部分は医事文書やカルテの入力画面や編集画面を生成して表示するものであり、これらのプログラムの記述はウェブブラウザ上で表示される各画面を構成するHTML文書の記述に対応するところ、HOMISのHTML文書と被告プログラムのHTML文書は分量が全く異なり内容も多くの点で相違しているから、本件31個の各プログラムとそれに対応する被告プログラムは類似していないことが明らかである。なお、データ名やデータ名の並び順が一致しているのは、所定の書式に従っているからにすぎず、そもそもソースコードの記述においてどのようなデータ名を付するかは重要な意味を持たない。
イ 原告プログラム4について
 被告プログラムのうちのXMLデータを解析する部分は、原告プログラム4とは全く別の構成により独自に創作した異なるプログラムであり、表現形式も全く異なっており、原告プログラム4の本質的な特徴を感得させるものではない。具体的には、原告プログラム4のXMLデータを解析する部分は、所定の処理の内容をその処理の順序に従って記述しているにすぎないのに対し、被告プログラムのうちのXMLデータを解析する部分は、解析処理の内容をクラスとして記述し、そのクラスのインスタンスを生成して機能処理を実行しているのであって、両者の表現形式は全く異なっている。そして、本件共通箇所は、オープンソースである「XML_Unserializer.php」(クラス)を用いたありふれた表現であるか(そのライブラリにバグが存在したとしても、利用者は、ソースコードをライブラリの仕様どおりに記述する必要があり、変数名を除き自動的にソースコードが決定されるから、作成者の個性が表れる余地はない。)、プログラム名又は変数名(タグの定義)という作成者の個性が表れない部分であり、いずれも創作性がなく、したがって、被告から医療情報システム株式会社に著作権が移転した部分に含まれない。
(4)争点C(損害の発生及び額)について
(原告の主張)
 被告は、280の診療所に対して被告プログラムを販売しており、原告は、被告による侵害行為がなければHOMISの使用権を販売することができたところ、原告は、少なくとも上記の譲渡等数量280に原告プログラムの単位数量当たりの利益の額である2万円を乗じた560万円の損害をうけた(著作権法114条1項)。
 また、原告が本件訴訟追行に要した弁護士費用のうち50万円は、被告の不法行為と相当因果関係のある損害として、被告が負担すべきである。
 したがって、損害の合計は610万円となる。
(被告の主張)
 否認ないし争う。
第3 当裁判所の判断
1 認定事実
 前提事実、掲記の証拠及び弁論の全趣旨によれば、次の各事実が認められる。
(1)PMポータルについて
 PMポータルは、組織内外のプロジェクトを効率的に管理することを目的としたウェブアプリケーションのプログラムである。
 具体的には、PMポータルは、利用者が、メッセージ、予定、プロジェクトの進捗状況などを入力してデータベース登録し、これを他の利用者と共有したり、所定の事項を入力、登録して、プロジェクトに関連する報告書や見積書等の文書を作成し、これらの文書をPDFファイルとして表示したりすることができるプログラムであり、プログラミング言語としてPHPとJavaScript、データベースとしてMySQLが用いられている。
 PMポータルは、WebフレームワークとWebアプリケーション部という各プログラム群によって構成されている。
 Webフレームワークは、ウェブシステムを開発するために頻繁に使用される基本的な機能、一般的な処理の流れをまとめたプログラム群であり、ウェブ画面表示処理、データベース処理、文書作成処理の各機能をまとめたPHP言語によって記述されたクラス群と、クラスを利用し様々な機能をまとめたPHP言語又はJavaScript言語によって記述された関数群から構成されている。具体的には、例えば、「dbCtl」(平成31年3月25日被告第2準備書面別紙1)がデータベース処理を実行するクラスとして定義され、「dispCtl」(同別紙2)がデータ処理結果の画面表示及びエラー画面表示の処理を実行するクラスとして定義され、「mbfpdf」がPDFファイルを生成するクラスとして定義されている。
 Webアプリケーション部は、Webフレームワークに記述されたクラスを呼び出し、クラスからインスタンスを生成し、生成したインスタンスに値を設定し、生成したインスタンスを実行して、プロジェクト管理用のウェブ画面表示処理、データベース処理、文書作成処理を行う実行インスタンス群から構成されている。各アプリケーションプログラムは、機能ごとにフォルダにまとめられており、各フォルダには、「config.php」という設定ファイルのほか、基本的に、入力(「_input1.php」)、入力実行(「_input2.php」)、編集(「_edit1.php」)、編集実行(「_edit2.php」)、画面・PDF表示(「_pdf1.php」等)の各プログラムファイルが存在する。Webアプリケーション部には、各「config.php」以外に共通処理のためのソースコード(関数、クラス等)は記述されていない。
ア PMポータルのうちプロジェクト管理画面を作成、表示するプログラムにおいては、入力プログラム(project_input.php)により表示される管理画面において情報が入力され「登録する」ボタンがクリックされると、入力実行プログラム(project_input2.php、乙65別紙1)によりデータベースへの登録処理が実行され「閉じる」画面を表示する処理が実行される。また、編集プログラム(project_edit.php、乙65別紙2)により表示される編集画面において一度データベースに登録された情報が編集され「登録する」ボタンがクリックされると、編集実行プログラム(project_edit2.php)によりデータベースへの登録処理が実行される。
 このとき、JavaScript関数である「util.js」(乙65別紙4)により必須項目が空欄になっていないかが確認され空欄がある場合には警告文が表示される。データベースに登録されたこれらの情報は表示プログラム(project_detail.php、乙65別紙3)により、所定の方式で画面に表示される。
 このうち、入力実行プログラム(project_input2.php)、編集プログラム(project_edit.php)、表示プログラム(project_detail.php)は、いずれも、初期設定をするプログラム、入力画面に入力された情報又は画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「config.php」を呼び出すなどして行う。入力画面に入力された情報又は画面表示のための情報を登録するプログラムの部分においては、Webフレームワークの「dbCtl」のインスタンスによってデータベースにアクセスするほか、変数に値を設定する処理が記述されている。画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。
(本項につき、乙65)
イ PMポータルにおいては、「custom_util.php」において、頻繁に使用される関数がまとめて定義されている。このうち、例えば、「getMaxRevision」は特定ドキュメントの改版最大値を取得する関数であり、「getTypeMember」は任意の区分のプロジェクトメンバーを取得する関数であり、「getReportConfMember」は報告書確認対象メンバーを取得する関数であり、「getSmallStatus」はステータスを取得する関数である。(乙66)
ウ PMポータルの「project_index.php」は、プロジェクトのリストを作成し、画面上に表示するプログラムであり、初期設定をするプログラム、画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「config.php」を呼び出すなどして行う。画面表示のための情報を登録するプログラムの部分においては、Webフレームワークの「allViews」のインスタンスを生成し、変数に値を設定する処理が記述されている。画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。(乙64)
エ PMポータルのうち営業報告書をコンピュータ上で作成、表示するプログラムにおいては、入力プログラム(contract_report_input1.php、乙63別紙1)において必要な情報が入力、選択され「送信」ボタンがクリックされるとデータベースへの登録処理が実行される。また、編集プログラム(contract_report_edit1.php、乙63別紙2)において一度データベースに登録された情報が編集され「送信」ボタンがクリックされるとデータベースへの登録処理が実行される。登録処理が実行される際、JavaScript関数である「util.js」(乙65別紙4)により必須項目が空欄になっていないかが確認され空欄がある場合には警告文が表示される。
 さらに、データベースに登録されたこれらの情報は出力プログラム(contract_report_pdf.php、乙63別紙3)により、「営業報告書」という所定の書式によりPDF文書として画面に表示される。
 これらのプログラムは、初期設定をするプログラム、画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「config.php」を呼び出すなどして行う。画面表示のための情報を登録するプログラムの部分においては、Webフレームワークの「dbCtl」、「getDateList」等のインスタンスを生成し、データベースにアクセスしたり変数に値を設定したりする処理が記述されている。入力プログラム及び編集プログラムにおいては、画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。他方、出力プログラムにおいては、画面を表示するプログラムの部分は、Webフレームワークの「mbfpdf」(オープンソース)のインスタンスにパラメータが順に設定され、PDF文書が画面に表示される。
((1)につき、各項に掲記のほか、乙1、8、18、23)
(2)各原告プログラムについて
ア HOMISは、クラウド型の在宅医療電子カルテ及びレセプトシステムを提供するウェブアプリケーションであり、同一法人が在宅医療を提供する複数の診療所を開設する場合に使用することを想定している。
イ 本件31個の各プログラムを含む[ア]部分(Webフレームワーク)及び[ウ]部分(電子カルテアプリケーション)は、PMポータルを基盤として開発された、医療従事者が、モバイル端末を用いて、在宅患者の診療情報を記録、参照したり、診断書等の文書を作成し、これらの文書をPDFファイルとして表示したりすることができるプログラムであり、電子カルテ及びレセプトシステムを実現するに当たり、Webフレームワークを利用しており、プログラミング言語としてPHPとJavaScript、データベースとしてMySQLが用いられている。
 [ア]部分(Webフレームワーク)は、PMポータルのWebフレームワークを用いて作成された。[ア]部分は、一部を除きPMポータルのWebフレームワークを構成するプログラムファイルから構成され、利用者が入力した情報は、「dbCtl」クラスによってデータベース処理が実行され、「dispCtl」クラスによってデータ処理結果等の画面表示が実行される。また、「mbfpdf」クラスによってPDFファイルが生成される。
 [ウ]部分(電子カルテアプリケーション)は、[ア]部分すなわちWebフレームワークに記述されたクラスを呼び出し、クラスからインスタンスを生成し、生成したインスタンスに値を設定し、生成したインスタンスを実行して、電子カルテのウェブ画面表示処理、データベース処理、文書作成処理を行う実行インスタンス群から構成されている。各アプリケーションプログラムは、機能ごとにフォルダにまとめられており、各フォルダには、「config.php」という設定ファイルのほか、基本的に、入力(「_input1.php」等)、入力実行(「_input-do1.php」等)、編集(「_edit1.php」等)、編集実行(「_edit-do1.php」等)、画面・PDF表示(「_pdf1.php」等)の各プログラムファイルが存在する。[ウ]部分には、各「config.php」以外に共通処理のためのソースコード(関数、クラス等)は記述されていない。
(ア)原告プログラム1(1)から(3)は、入力プログラム(karteinput.php)、編集実行プログラム(karteedit-do.php)と一体として、カルテ画面をコンピュータ上で作成、表示するプログラムであり、[ウ]部分に含まれる。具体的には、入力プログラムにより表示される画面において情報が入力され「診察完了」ボタンがクリックされると、入力実行プログラム(原告プログラム1(3))によりデータベースへの登録処理が実行され「カルテを登録しました」、「登録した画面を見る」という画面を表示する処理が実行される。また、編集プログラム(原告プログラム1(1))により表示される編集画面において一度データベースに登録された情報が編集され「編集完了」ボタンがクリックされると、編集実行プログラムによりデータベースへの登録処理が実行される。データベースに登録されたこれらの情報は表示プログラム(原告プログラム1(2))により、所定の方式で画面に表示される。
 原告プログラム1(1)から(3)は、PMポータルのプロジェクト管理画面を作成、表示するプログラム(前記(1)ア)を参照して記述された。具体的には、原告プログラム1(1)についてPMポータルの編集プログラム(project_edit.php)を、原告プログラム1(2)についてPMポータルの表示プログラム(project_detail.php)を、原告プログラム1(3)についてPMポータルの入力実行プログラム(project_input2.php)をそれぞれ参照して記述された。これらは、いずれも、初期設定をするプログラム、入力画面に入力された情報又は画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「pdetail/config.php」を呼び出すなどして行う。入力画面に入力された情報又は画面表示のための情報を登録するプログラムの部分においては、Webフレームワークの「dbCtl」のインスタンスによってデータベースにアクセスするほか、変数に値を設定する処理が記述されている。画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。また、原告プログラム1(1)においては、PMポータルの「util.js」及びオープンソースライブラリである「jQuery」を参照して作成されたJavaScriptの記述により、必須項目が空欄になっていないかが確認され空欄がある場合には警告文が表示される。原告プログラム1(2)においては、「jQuery」を参照して作成された汎用的なJavaScriptの記述により動きのある画面が表示される。
 その結果、原告プログラム1(1)から(3)の記述のうち初期設定をするプログラム、画面表示のための情報を登録するプログラムの部分には、PMポータルのソースコードの記述に類似した記述が多数存在する。
(本項につき、乙65)
(イ)原告プログラム1(4)は、原告プログラム1(1)から(3)、2(1)、2(2)アから(9)ウ等において繰り返し使用される処理を36個の関数として記述しこれらをまとめたファイルであり、[ア]部分に含まれる。
 原告プログラム1(4)に記述された関数は、PMポータルにおいて頻繁に使用される処理を関数として記述しこれらをまとめたファイル(custom_util.php)(前記(1)イ)や、PMポータルのその他の記述や汎用的な記述を参照して記述された。
 具体的には、6個の関数は、PMポータルの「custom_util.php」に記述されている関数をそのまま使用したものであり、22個の関数は、「custom_util.php」に記述されている関数を参照して作成されたものであり(具体的には、PMポータルの「custom_util.php」に記述されている「getMaxRevision」や「getTypeMember」が所定のデータベースから所定の情報を取得する関数の、「getReportConfMember」を配列から指定の情報を参照し一致不一致を出力する関数の、「getSmallStatus」がcount関数で繰り返し回数を算出しfor文とif文で配列データの値により場合分けを繰り返しそれぞれの場合で異なる値を設定する関数の作成に参照された。)、7個の関数は、PMポータルに記述されているソースコードを参照して作成されたものであり、2個の関数は、汎用的に記述されている関数を使用したものである。
 その内容は、所定のデータベースから所定の情報を取得する関数やPHPの一般的な記述による画面表示用の関数など、いずれも単純な作業が記述されたものである。
 その結果、原告プログラム1(4)の記述のうち相当部分が、PMポータルのソースコードに類似したものとなっている。
(本項につき、甲41、乙66)
(ウ)原告プログラム2(1)は、原告プログラム2(2)アから2(9)ウによって作成される医事文書のリストを作成し、画面上に表示するプログラムであり、[ウ]部分に含まれる。
 原告プログラム2(1)は、PMポータルのプロジェクトのリストを作成、表示するプログラム、具体的には「project_index.php」(前記(1)ウ)を参照して記述された。原告プログラム2(1)は、初期設定をするプログラム、画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「pdetail/config.php」を呼び出すなどして行う。画面表示のための情報を登録するプログラムの部分においては、Webフレームワークの「allViews」のインスタンスを生成し、変数に値を設定する処理が記述されている。画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。
 その結果、原告プログラム2(1)の記述のうち初期設定をするプログラム、画面表示のための情報を登録するプログラムの部分には、PMポータルのソースコードの記述に類似した記述が多数存在する。
(本項につき、乙64)
(エ)原告プログラム2(2)アから(9)ウは、医事文書(診断書、主治医意見書、診療情報提供書(医療機関)及び(居宅)、訪問看護指示書、特別訪問看護指示書、死亡診断書、マッサージ同意書)をコンピュータ上で作成、表示するプログラムであり、[ウ]部分に含まれる。
 原告プログラム2(2)アから(9)ウは、PMポータルの「営業報告書」を作成、表示するプログラム(前記(1)エ)を参照して記述された。具体的には、入力プログラムである原告プログラム2(2)から(9)の各アについてはPMポータルの「contract_report_input1.php」を参照して記述され、編集プログラムである原告プログラム2(2)から(9)の各イについてはPMポータルの「contract_report_edeit1.php」を参照して記述され、印刷プログラムである原告プログラム2(2)から(9)の各ウについてはPMポータルの「contract_report_pdf.php」を参照して記述された。
 これらのプログラムは、いずれも、初期設定をするプログラム、画面表示のための情報を登録するプログラム、画面を表示するプログラムの各部分から構成されている。
 初期設定をするプログラムの部分においては、Webフレームワークのインスタンス生成、利用者認証処理、リクエストデータの整形、変数の定義などの処理を、require文により「docs/config.php」を呼び出すなどして行う。
 画面表示のための情報を登録するプログラムの部分においては、Webフレームワーク等の関数にデータを代入したり、Webフレームワークのインスタンスによりデータベースにアクセスしたり変数に値を設定したりする処理が記述されている。入力プログラム及び編集プログラムにおいては、画面を表示するプログラムの部分は、主に画面を表示するためのHTML文書であり、Webフレームワークの「dispCtl」のインスタンスによって同HTML文書の内容が画面に表示される。また、PMポータルの「util.js」及びオープンソースライブラリである「jQuery」を参照して作成されたJavaScriptの記述により、必須項目が空欄になっていないかが確認され空欄がある場合には警告文が表示される。入力プログラム(原告プログラム2(2)から(9)の各ア)においては、入力終了後、それぞれURLを記述して対応する登録プログラムが呼び出される。また、編集プログラムについては、編集終了後、原告プログラム2(2)イにおいてはURLを記述して「edit-do1.php」が登録プログラムとして呼び出されるのに対し、原告プログラム2(3)から(9)の各イに15おいては、URLを記述していずれも「edit-do2.php」が登録プログラムとして呼び出される。印刷プログラムにおいては、画面を表示するプログラムの部分は、Webフレームワークの「mbfpdf」のインスタンスにパラメータが順に設定され、PDF文書が画面に表示される。
 なお、原告プログラム2(2)アから(9)ウにおいて作成、表示される医事文書について、基本的な様式は通知により定められるなどしていて、その各記載事項は性質上概ね定まっている(厚生労働省保険局医療課長等通知「診療報酬の算定方法の一部改正に伴う実施上の留意事項について」、本件医療機関及び保険医療療養担当規則22条、23条、様式1、2)。
(本項につき、乙24、26〜32、46、63)
(オ)原告プログラム3(1)は、繰り返し使用される処理を23個のJavaScript関数として記述しこれらをまとめたファイルであり、[ア]部分に含まれる。
 原告プログラム3(1)に記述された関数のうち、20個はPMポータルに記述されている関数をそのまま使用したものであり、3個は、画面サイズの変更など画面表示処理を汎用的に記述されている関数を参照して作成したものである。
 その内容は、いずれも、画面表示、入力確認やメニューの設定などの機能を実現する短い記述である。
(本項につき、争いがない事実のほか、甲45)
(カ)原告プログラム3(2)は、PHPの開始タグ及び終了タグと空白行のほかは、「echo1;」という、echo文により定数である「1」を送信する処理を行う1行から成るプログラムであり、[ウ]部分に含まれる。
 原告プログラム3(2)は、通信が確立されているかを確認する機能を実現するものであり、具体的には、原告プログラム1(1)(編集プログラム)により表示される編集画面において情報が編集され「編集完了」ボタンがクリックされると(前記)、原告プログラム3(1)に定義された関数が参照されAjax通信により原告プログラム3(2)が呼び出され、この通信に成功した場合には編集データ登録プログラムによりデータベースへの登録処理が実行される一方、この通信に失敗した場合には警告が表示される。
(本項につき、甲45)
(キ)「variant.php」は、原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウ等において共通して使用される42個の変数を定義してこれらをまとめたファイルであり、[ア]部分に含まれる。
 これらの変数は、画面に表示されるセレクトボックス(プルダウン形式やリスト形式のメニュー)の選択項目を一つの配列の中で定義したものである。
(本項につき、甲45)
(ク)「pdetail/config.php」は、原告プログラム1(2)等において共通して使用される4個の変数を定義してこれらをまとめたファイルであり、また、「docs/config.php」は、原告プログラム2(2)ア、2(3)アからウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)アからウ等において、繰り返し使用される処理を2個の関数として記述し、共通して使用される50個の変数を定義してこれらをまとめたファイルであって、いずれも[ウ]部分に含まれる。
 「docs/config.php」において定義された関数の内容は、所定のデータベースから所定の情報を取得する関数やPHPの一般的な記述による画面表示用の関数など、いずれも単純な作業が記述されたものである。また、「docs/config.php」において定義された変数は、概ね、ラジオボタン又はチェックボックスの選択項目を一つの配列の中で定義したものである。
(本項につき、甲45)
ウ(ア)原告プログラム4を含む[エ]部分(レセプトソフトウェア接続アプリケーション)は、[ウ]部分と[オ]部分の連結を実現するプログラムである。
 [エ]部分は、クラウド上の[ア]から[ウ]部分及び[オ]部分と同一のサーバに存在しており、各部分の間の通信はセキュアである必要がないため非セキュア通信が採用されている。
 HOMISにおいてレセプトシステムを使用する方法は、新規に患者情報を登録する場合には、[オ]部分において、患者情報をORCAのデータベースに登録した後、この情報を同データベースからXMLデータとして出力し、[エ]部分において、これを受信、解析して、HOMISのデータベースに登録するというものであり、また、既に登録されている患者についての診療情報を登録する場合には、[ウ]部分において、HOMISのデータベースから診療情報を取得した上、これを直接ORCAのデータベースに登録するというものである。(乙20)
(イ)[エ]部分に含まれる原告プログラム4は、概ね、XMLデータを解析する部分(1〜126行)と患者情報をHOMISのデータベースに登録する部分(127行〜)から成る。
 このうちXMLデータを解析する部分は、XML解析処理の内容がその順序に従って記述されている。具体的には、オープンソースであるクラス「XML_Unserializer.php」を用いるため、その仕様に基づくインスタンスを記述し(9〜11行)、XML文字列を解析しタグ(用語)ごとに配列する。なお、ORCAは、異なる施設間で診療情報を電子的に交換するために、MedXMLコンソーシアム制作担当委員会等により制作された医療情報交換規約(MedicalMarkupLanguage;MML)及びその下位に位置付けられる電子カルテシステムとレセプトシステムの間で診療情報を電子的に交換する際の仕様(ClinicalAccountingInforMation;CLAIM)を用いており、原告プログラム4のXMLデータを解析する部分において用いられているタグ(用語)も、MML及びCLAIMにおいて定義されたものである。
 また、患者情報をHOMISのデータベースに登録する部分は、Webフレームワークの「dbCtl.php」を呼び出し、クラスからインスタンスを生成し、生成したインスタンスにデータを設定し、生成したインスタンスを実行する。
(本項につき、甲31、乙56〜62、弁論の全趣旨)
(ウ)被告は、PMポータルのWebフレームワークに含まれるクラス「dbCtl」及び「XML_Unserializer」を用いた部分を除き、[エ]部分を新たに作成した。したがって、原告プログラム4を含む[エ]部分(「dbCtl」及び「XML_Unserializer」を用いた部分を除く。)の著作権は、本件契約に基づき、納入と同時に、被告から在宅医療情報システム株式会社に譲渡された。
(3)被告プログラムについて
ア 被告プログラムは、クラウド型の在宅医療電子カルテ及びレセプトシステムを提供するウェブアプリケーションであり、主に、単一の診療所での利用を想定している。
 被告は、被告プログラムをサーバに蔵置して管理し、利用者は、ウェブブラウザやプログラムインターフェースを通じて、被告プログラムによって提供されるサービスを利用する。
イ 被告プログラムのうちカルテ入力支援機能、医事文書作成・管理機能を担う部分は、Webフレームワークと、電子カルテアプリケーションによって成り、被告は、これらを、利用者別データベースと共にサーバに蔵置している。(乙21、弁論の全趣旨)
ウ 被告プログラムのうちレセプトソフトウェア接続アプリケーション(モバカルORCA−IF)は、被告プログラムにおいて、電子カルテアプリケーションとORCAレセプトソフトウェアの連結を実現するプログラムである。
 被告プログラムにおいては、Webフレームワーク、電子カルテアプリケーションがクラウド上に、レセプトソフトウェア接続アプリケーション及びORCAレセプトソフトウェアが顧客の院内サーバに存在する。その結果、レセプトソフトウェア接続アプリケーションは、暗号化通信と電子証明書による送信元認証を実施しているほか、クラウド上のデータベースは、厚生労働省、総務省及び経済産業省が定めるセキュリティガイドラインに準拠するため、医療機関ごとに独立して複数構築している。
 被告プログラムにおいてレセプトシステムを使用する方法は、新規に患者情報を登録する場合には、ORCAレセプトソフトウェアにおいて、患者情報をORCAのデータベースに登録した後、この情報を同データベースからXMLデータとして出力し、レセプトソフトウェア接続アプリケーションにおいて、これを受信、暗号化して、クラウド上の電子カルテアプリケーションに送信し、電子カルテアプリケーションにおいて、当該医療機関に係るデータベースを選択した上、データを解析し、同データベースに登録するというものであり、また、既に登録されている患者についての診療情報を登録する場合には、レセプトソフトウェア接続アプリケーションにおいて、電子カルテアプリケーションに診療情報のリクエストを送信し、電子カルテアプリケーションにおいて、データベースを選択して診療情報を取得した上、XMLデータとして出力し、レセプトソフトウェア接続アプリケーションにおいて、これを受信し、ORCAレセプトソフトウェアに転送して、ORCAのデータベースにこれを登録するというものである。(乙21)
 このうち、XMLデータを解析する部分は、XML解析処理の内容をクラス「MMLParser.php」として定義し(乙47(平成30年1月頃のもの)においては19〜638行)、インスタンスを生成した上(同951行)、インスタンスを実行する(同952行)という形式で記述されている。具体的には、「XML_Unserializer.php」を用いるため、その仕様に基づくインスタンスを記述し(乙47においては42〜46行)、XML文字列を解析しタグ(用語)ごとに配列する。ここにおいて用いられているタグ(用語)は、MML及びCLAIMにおいて定義されたものである。(乙47、55、60、62)
2 争点@(本件31個の各プログラムの各著作権が被告から在宅医療情報システム株式会社に譲渡されたか。)について
(1)本件31個の各プログラムの創作性について
ア プログラムは、「電子計算機を機能させて一の結果を得ることができるようにこれに対する指令を組み合わせたものとして表現したもの」(著作権法2条1項10号の2)であり、所定のプログラム言語、規約および解法に制約されつつ、コンピュータに対する指令をどのように表現するか、その指令の表現をどのように組み合わせ、どのような表現順序とするかなどについて、著作権法により保護されるべき作成者の個性が表れることになる。
 したがって、プログラムに著作物性があるというためには、指令の表現自体、その指令の表現の組合せ、その表現順序からなるプログラムの全体に選択の幅があり、かつ、それがありふれた表現ではなく、作成者の個性、すなわち表現上の創作性が表れていることを要する。
イ 原告プログラム1(4)、3(1)を含む[ア]部分(Webフレームワーク)及び原告プログラム1(1)から(3)、2(1)から(9)ウ、3(2)を含む[ウ]部分(電子カルテアプリケーション)は、Webフレームワークを用いたPMポータルを基盤として開発され、電子カルテ及びレセプトシステムを実現するに当たり、Webフレームワークを利用している(前記1(2))。このことに起因して、[ア]及び[ウ]部分のソースコードは、Webフレームワークの定めるルールに従って記述される必要があった(前記第2の1(5)イ)。
 具体的には、[ア]部分の多くは、PMポータルのWebフレームワークを構成するプログラムファイルから構成されている(前記1(1)、(2))。
 また、[ウ]部分は、PMポータルのWebアプリケーション部を参照して作成され、[ア]部分すなわちWebフレームワークに記述されたクラスを呼び出し、クラスからインスタンスを生成し、生成したインスタンスに値を設定し、生成したインスタンスを実行して、電子カルテのウェブ画面表示処理、データベース処理、文書作成処理を行う実行インスタンス群から構成されており、共通処理のためのソースコード(関数、クラス等)は基本的には記述されていない。電子カルテにおいては所定の様式に合わせた表示項目が多いことから、これに応じて同じ内容の処理が繰り返されているものの、データの処理や画面の表示などの中核的な機能は[ア]部分を参照して実行するため、[ウ]部分の内容は自由度が制約され、基本的な命令文を列挙して、変数に値を設定する処理や画面を表示するためのHTML文書が記述された部分が多くを占めている。(以上につき、前記1(1)、(2)、乙9〜18、63〜67)
ウ 以上を前提に、原告が本件31個の各プログラムの創作的表現であると主張する各点(前記2(1)(原告の主張)イ)について検討する。
(ア)電子カルテに必要な機能を抽出、分類しているという点(前記2(1)(原告の主張)イ(ア))について
 本件31個の各プログラムを含む[ア]及び[ウ]部分は、PMポータルを基盤として開発された、医療従事者が、モバイル端末を用いて、在宅患者の診療情報を記録、参照したり、診断書等の文書を作成し、これらの文書をPDFファイルとして表示したりすることができるプログラムである(前記1(2)イ)のに対し、PMポータルは、組織内外のプロジェクトを効率的に管理することを目的としたウェブアプリケーションである(同(1)ア)。したがって、[ア]及び[ウ]部分の作成に当たっては、PMポータルに様々な修正が施されている。もっとも、[ア]及び[ウ]部分は、電子カルテ及びレセプトシステムを実現するに当たり、Webフレームワークを利用しているから、[ア]部分の多くはPMポータルのWebフレームワークを構成するプログラムファイルから構成されている。また、[ウ]部分は、PMポータルのWebアプリケーション部を参照して作成され、データの処理や画面の表示などの中核的な機能は[ア]部分を参照して実行するものであるため、その内容は、自由度が制約されるものであり、基本的な命令文を列挙して、変数に値を代入する処理や画面を表示するためのHTML文書が記述された部分が多くを占めている(前記イ)。
 また、原告プログラム2(2)アから(9)ウにおいて作成、表示される医事文書の基本的な様式は通知により定められるなどしていて、各記載事項は性質上概ね定まっている(前記1(2)イ(エ))から、上記各プログラムにおいて変数に値を設定する処理や画面を表示するためのHTML文書を記述するに当たっても個性を発揮する余地が乏しい。
 電子カルテに必要な機能を抽出、分類しているという原告主張の点は機能をいうものでプログラムの創作性を直接述べるものとはいえず、上記のような[ア]及び[ウ]部分の特性に照らすと、電子カルテシステムに適用するために、PMポータルを修正し新たに作成した部分があるからといって、そのことが直ちに本件31個の各プログラムの表現上の創作性につながるとはいえない。
(イ)関数、変数、データ定義の共通化の仕方の特徴がソースコードの記述に表われているという点(前記2(1)(原告の主張)イ(イ))について
a 原告プログラム1(4)は、原告プログラム1(1)から(3)、2(1)、2(2)アから(9)ウ等において繰り返し使用される処理を36個の関数として記述しこれらをまとめたファイルである(前記1(2)イ(イ))。繰り返し記述することが予想される命令文の組合せをまとめて関数として定義し、関数名を記述してあらかじめ定義された関数を呼び出す方法により複数のプログラムの動作を実現させることは一般的に行われていることである(前記第2の1(5)ウ)。そして、原告プログラム1(4)に記述された各関数は、PMポータルにおいて頻繁に使用される処理を関数として記述しこれらをまとめたファイルや、PMポータルのその他の記述、汎用的な記述を参照して記述され、その内容は、所定のデータベースから所定の情報を取得する関数やPHPの一般的な記述による画面表示用の関数など、いずれも単純な作業が記述されたものであって(前記1(2)イ(イ))、表現の幅は狭い。これらによれば、原告プログラム1(4)の記述は、繰り返し記述される命令文の組合せを一般的な共通化の手法によってそのまま表現したものであって、その記述をすることやその内容はありふれたといえるものである。
b 「variant.php」は、原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウ等において共通して使用される42個の変数を定義してこれらをまとめたファイルである(前記1(2)イ(キ))。もっとも、「variant.php」は、本件31個の各プログラムに含まれておらず、それらの創作性の有無が本件31個の各プログラムの創作性に直接つながるものではない。
 そして、アプリケーション全体において共通して使用される変数をまとめて定義して共通の定義ファイルとすることはプログラムの作成、変更の効率化を図るために一般的に行われていることであるといえ、原告プログラム1(2)、2(1)、2(7)ウ、2(9)ウにおいて、他のプログラムファイルを呼び出したり、共通の定義ファイルにおいて定義された変数を使用して定義された変数の名称がソースコードに書き表されたりしたということのみをもって、直ちにこれらについてプログラムの表現上の創作性が認められるものではない。なお、「variant.php」において定義された各変数は、画面に表示されるセレクトボックス(プルダウン形式やリスト形式のメニュー)の選択項目を一つの配列の中で定義したものであり(同前)、そのような変数の定義方法は、PMポータルにおいても採用されていた(乙75)。変数「$GENDER_ARY」において「性別」の選択項目である「男」及び「女」のデータを「MALE」及び「FEMALE」としたという原告が指摘する例について、データの名称は電子計算機に対する指令を組み合わせたものとして表現したものとはいえない。
c 原告プログラム3(1)は、繰り返し使用される処理を23個のJavaScript関数として記述しこれらをまとめたファイルである(前記1(2)イ(オ))。繰り返し記述することが予想される命令文の組合せをまとめて関数として定義し、関数名を記述してあらかじめ定義された関数を呼び出す方法により複数のプログラムの動作を実現させることは一般的に行われている(前記第2の1(5)ウ)。また、原告プログラム3(1)に記述された関数のうち、20個はPMポータルに記述されている関数をそのまま使用したものであり、3個は、画面サイズ変更な10ど画面表示処理を汎用的に記述されている関数を参照して作成したもので、いずれも、画面表示、入力確認やメニューの設定などの機能を実現する短い記述であって(前記1(2)イ(オ))、表現の幅は狭い。したがって、原告プログラム3(1)の記述は、繰り返し記述される命令文の組合せを一般的な共通化の手法によってそのまま表現したものであって、その記述をすることやその内容はありふれたといえるものである。
d 「pdetail/config.php」は、原告プログラム1(2)等において共通して使用される4個の変数を定義してこれらをまとめたファイルであり、また、「docs/config.php」は、原告プログラム2(2)ア、2(3)アからウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)アからウ等において、繰り返し使用される処理を2個の関数として記述し、共通して使用される50個の変数を定義してこれらをまとめたファイルである(前記1(2)イ(ク))。もっとも、「pdetail/config.php」及び「docs/config.php」は本件31個の各プログラムに含まれておらず、それらの創作性の有無が本件31個の各プログラムの創作性に直接つながるものではない。
 そして、繰り返し記述することが予想される命令文の組合せをまとめて関数として定義し、関数名を記述してあらかじめ定義された関数を呼び出す方法により複数のプログラムの動作を実現させることは一般的に行われていることであり(前記第2の1(5)ウ)、アプリケーション全体において共通して使用される変数をまとめて定義して共通の定義ファイルとすることはプログラムの作成、変更の効率化を図るために一般的に行われていることであるといえ、原告プログラム1(2)、2(2)、2(2)ア、2(3)アからウ、2(4)イ、2(5)アからウ、2(6)アからウ、2(7)アからウ、2(8)ア、イ、2(9)からウにおいて、他のプログラムファイルや関数を呼び出したり、共通の定義ファイルにおいて定義された変数を使用して定義された変数の名称がソースコードに書き表されたりしたということのみをもって、直ちにこれらについてプログラムの表現上の創作性が認められるものではない。
 なお、「docs/config.php」において定義された関数は、所定のデータベースから所定の情報を取得する関数やPHPの一般的な記述による画面表示用の関数など、いずれも単純な作業を記述したものであって(前記1(2)イ(ク))、表現の幅は狭く、「docs/config.php」のうち関数を定義した部分の記述は、繰り返し記述される命令文の組合せを一般的な共通化の手法によってそのまま表現したありふれたものといえる。また、「docs/config.php」において定義された変数は、概ね、ラジオボタン又はチェックボックスの選択項目を一つの配列の中で定義したものである(同前)ところ、そのような変数の定義方法は、PMポータルにおいても採用されていた(乙65)。
(ウ)作成する医事文書の拡張性を高めた点がソースコードの記述に表われているという点(前記2(1)(原告の主張)イ(ウ))について
 HOMISA部分において、新たに作成する医事文書の種類が増えた場合に、プログラム名に新しく数字を割り当てて、文書ごとに、原告プログラム2(2)アから(9)ウと同様の入力、編集、印刷プログラムを「model/docs」というファイルに追加することができるとしても、このようなシステムの拡張性をいう点はプログラムによって実現される機能をいうものであり、プログラムの名称やファイルの格納場所も、これを電子計算機に対する指令を組み合わせたものとして表現したものとはいえず、原告の主張によって具体的なプログラムの創作性を認めるには足りない。
 そして、原告プログラム2(2)から(9)の各ア及びイにおいては、入力又は編集の終了後、URLを記述することにより登録プログラムを呼び出して実現している(前記1(2)イ(エ))。URLを記述してインターネット上に存在するプログラムやデータの場所を指定してこれらを呼び出す方法により複数のプログラムの動作を実現させることは一般的に行われているものである(前記第2の1(5)ウ)し、複数のプログラムが同一のプログラム(例えば「edit-do2.php」)を呼び出すことについても同様といえる。したがって、上記記述の指令自体はありふれたといえるものであり、また、その記述をすることもありふれたものといえる。
 また、原告プログラム2(1)により表示される画面においてPDFファイルを端末に表示することができるという点や、原告プログラム2(2)ウではPDFファイルの作成に失敗した場合にはエラーメッセージが表示できるのに対し、原告プログラム2(3)から(9)の各ウではオープンソースをそのまま使用したことによりこのような表示がされないという点は、プログラムによって実現される機能ないしプログラムの仕様をいうものであり、原告の主張によって具体的なプログラムの創作性を認めるには足りない。
(エ)モバイル環境において電波状況によってカルテの保存ができない状況を回避するため通信状況を確認するようにした点がソースコードに表われているという点(前記2(1)(原告の主張)イ(エ))について
 原告プログラム3(2)は、原告プログラム1(1)において、原告プログラム3(1)に定義された関数が参照されAjax通信により呼び出されることにより、通信が確立されているかを確認する機能を実現する(前記1(2)イ(カ))。関数名を記述してあらかじめ定義された関数を呼び出したり、「$.ajax」等記述して他のプログラムファイルを呼び出したりして、複数のプログラムの動作を実現させることは一般的に行われている(前記第2の1(5)ウ)。そして、原告プログラム3(2)は、「echo1;」という、echo文により定数である「1」を送信する処理を行う1行から成るプログラムであり(前記1(2)イ(カ))、極めて簡単な内容を一つの命令のみのごく短い構文で記述したありふれた表現であって、原告プログラム3(2)に創作性があるとは認められない。
(オ)関数やプログラムの参照の仕方等の特徴がソースコードに表われているという点(前記2(1)(原告の主張)イ(オ))について
 原告プログラム1(1)から(3)、2(1)、2(2)から(9)の各アからウは、URL、「require」や「$.ajax」等を記述して他のプログラムファイルを呼び出したり、関数名を記述してあらかじめ定義された関数を呼び出したりしている(甲29の1から3、30の1から9の3、45)が、これらの方法により複数のプログラムの動作を実現させることが一般的に行われている(前記第2の1(5)ウ)。原告プログラム1(1)から(3)、2(1)、2(2)から(9)の各アからウにおいて、上記の記述をすることはありふれたといえるものであり、そのことから直ちにプログラムの表現上の創作性が認められるものではない。
エ 以上のように、PMポータルを基盤としPMポータルのWebフレームワークを用いて作成されたことに起因して、[ア]部分の多くはPMポータルのWebフレームワークを構成するプログラムファイルから構成されており、[ウ]部分は、PMポータルのWebアプリケーション部を参照して作成され、データの処理や画面の表示などの中核的な機能は[ア]部分を参照して実行するため、その内容は、自由度が制約され、基本的な命令文を列挙して、変数にデータを代入する処理や画面を表示するためのHTML文書が記述された部分が多くを占めていること(前記第2の1(5)イ、前記イ)、作成、表示される医事文書の基本的な様式も通知により定められるなどしていることから、各プログラムにおいて変数に値を設定する処理や画面を表示するためのHTML文書を記述するに当たっても個性を発揮する余地が乏しい。これらの[ア]及び[ウ]部分の特性から、電子カルテシステムに適用するために、PMポータルを修正し新たに作成した部分があるからといって、そのことが直ちに本件31個の各プログラムの表現上の創作性につながるとはいえない(前記ウ(ア))。そして、原告は、本件各31個の各プログラムがそれぞれ著作物であり、それらに創作性があると主張するところ、原告が本件31個の各プログラムの創作的表現であると主張する具体的な各点について、本件31個の各プログラムを含む[ア]及び[ウ]部分が上記のとおりの特性を有する部分でありそこにおけるプログラムもその特性の下にあるものであることにも関係し、原告が創作性があるとして主張する具体的な記述等はいずれもありふれたといえるものなどであって、それらに独自に著作物といえる程度の表現上の創作性を認めるに足りない(前記ウ(イ)〜(オ))。
 以上のとおり、本件31個の各プログラムにPMポータルを離れた独自の創作性があるとは認めるに足りない。
(2)小括
 本件契約においては、被告が納入物に関して著作した著作物に係る著作権は、被告が従前から著作権を保有する著作物を納入物に組み込んだ場合の当該組み込まれた著作物に係る著作権を除き、納入物の所有権移転と同時に在宅医療情報システム株式会社に移転することとされている(前記第2の1(4)イ)ところ、本件31個の各プログラムにPMポータルを離れた独自の創作性があると認めるに足りない(前記(1))から、本件31個の各プログラムについての各著作権が被告から在宅医療情報システム株式会社に譲渡されたとも認められない。
3 争点B(被告が原告プログラムを複製、翻案しているか。)について
 原告プログラム4と被告プログラムにおいて共通する本件共通箇所は、原告プログラム4においては、[オ]部分に用いられているORCAから受信したXMLデータを解析する部分の一部である。
 本件共通箇所のうち、オープンソースである「XML_Unserializer.php」を用いた部分は、その仕様に基づくインスタンスを記述したものであり(前記1(2)ウ(イ))、その記述例もインターネットウェブサイトにおいて公開されているものであって(乙56)、ありふれた表現であって、創作性が認められない。
 また、本件共通箇所のその余の部分は、異なる施設間で診療情報を電子的に交換するために制作された規約であるMML及びCLAIMにおいて定義されたタグ(用語)(前記1(2)ウ(イ))を、「XML_Unserializer.php」の仕様に従って記述した(乙62)ありふれた表現であって、創作性が認められない。
 以上によれば、本件共通箇所に創作性があると認めるに足りない。
 したがって、被告プログラムが原告プログラム4と共通するのは、表現上の創作性がない部分においてであり、その余を判断するまでもなく、被告が、原告プログラム4に係る原告の複製権、翻案権を侵害したと認めることはできない。
第4 結論
 以上によれば、各原告プログラムのうち、本件31個の各プログラムについての各著作権が被告から在宅医療情報システム株式会社に譲渡されたとは認められず(前記第3の2)、原告プログラム4に係る原告の複製権、翻案権を被告が侵害したと認めることはできない(前記第3の3)から、原告の各請求はいずれも理由がなく、棄却すべきである。
 よって、主文のとおり判決する。

東京地方裁判所民事第46部
 裁判長裁判官 柴田義明
 裁判官 佐伯良子
 裁判官 仲田憲史


別紙目録 省略
line
 
日本ユニ著作権センター
http://jucc.sakura.ne.jp/