OpenOcean 感想戦 -オープンソースと犯罪幇助・教唆-

まさか 2025 年にもなって OpenOcean の話をするとは思わなんだ・・・。

OpenOcean というのは、われわれが 2018 年に公開していた OpenDolphin 由来の電子カルテだ。
「OpenOcean は GPL 違反をしている」という主旨の記事がネット上で(再)発見されたため、反論の意味を込めて当方も記事を書く必要があったのだ。
反論系の記事はいくつか書いたが『小林慎治氏の OpenOcean に関する事実誤認』が一番まとまっているでしょうか。

「LICENSE 文書の (C) 表記が Kazushi Minagawa から air-h-128k-il になっている」というのが GPL 違反の根拠なのだが、当方が精査した結果、その LICENSE 文書の (C) 表記自体が Life Sciences Computing Corp という本来の著作権保有主体から Kazushi Minagawa に当の Kazushi Minagawa 自身の手によって改竄されていた、ということが判明した。(GitHub 関連 issue はこちら

図式的に書けば

彼らの主張:Kazushi Minagawa → air-h-128k-il

実際:Life Sciences Computing Corp → Kazushi Minagawa(改竄後) → air-h-128k-il

ということになる。

それほど声高に主張する気はないが、小林慎治のやったことは、私的文書偽造(改竄)の共犯みたいな位置付けになるはずで、どうするんでしょうね、これ。
われわれにしても彼らの要求を呑んでたら、業務上横領とかの犯罪の片棒担がされてた可能性もあるわけで(後述します)、今になってけっこう戦慄している。

それはともかく、この手の誹謗中傷に対する反論というのは、けっこう気を使う。相手の主張に対して過不足なく反論のロジックを組み立てていかないとそもそも反論にならないし、根拠も客観性が欲しい、主観的表現はなるべく使わない・・などなど。気にしなければならないことは多いのだ。

だから、そういった反論には書き切れないことがある。
感想や改善策といったことだ。

鬱憤も溜まっているので、ここではそういったことなど。
ああ、だから、推測なども含みますので、誤解なきよう。念の為。


オープンソースを隠れ蓑にした犯罪幇助・教唆

感想としてまず思ったのは、怪文書の主張の内容が poor で拍子抜けしたこと。

GPL やら著作権法やらを持ち出しててきているので、大層、物々しいロジックでそういう結論に達したかと思っていたのだが、よくよく読んでみると単なる (C) 表記だけの話。

これがなんといって良いやら・・。

フォーク元のクライアントログイン画面は図のようになっている。

ある程度わかっている人たちだったら、一見して「このアプリは LSC が著作権管理をしている職務著作によるものですね」になると思う。著作権法的にも GPL 的にも形式的にはまるっきり正しい表記法だ。

私だったら

職務著作に GPL を適用したら、個人としての著作権や GPL 的な author としての権利はどうなるのか?

みたいなオープンソース的な話にするかなあ。
怪文書にしても
「経営のためやむなく皆川は著作権を譲り渡したが、設計や実装では、XX をやったので、GPL 的な意味では author として認められるべきだ」
みたいな筋書きだったら、まともに検討したと思う。
われわれが後に Junzo SATO さんでやったことはまさしくそういうことなのだから。

有効性の疑わしい LICENSE の (C) マークを根拠に全ての権利は皆川のものだって犯罪者の論理でしょ。ジャイアンの理論といおうか。業務上横領を容認せよとかそういう話に聞こえてくる。犯罪の共謀の幇助の強要? 無理ですね。

実際、(C) Kazushi Minagawa は改竄でしたって盛大なオチもついているわけだし。

ところで、この話で思い出したのだが、リアルで LSC の人に会った時に、皆川さん、かなり否定的な評価のされ方をしていたこと。何もそこまでと訝しんでいたが、その答え合わせをさせてもらった気分ではある。
GitHub リポジトリの編集権を盾に会社のものを自分名義で発表されたら、そりゃ新しい会社経営陣は怒るよね。

自分たちで独自のプロジェクト起こせば?

けっこうよくあった感想は「なんで、皆川和史や小林慎治は、自分たちで独自プロジェクトを起こさなかったのか?」というもの。

単純にそこまでする能力がないってことなのか?と深く考えずにいたが、犯罪の構成要件みたいなことに思いが至ると話はガラッと変わってくる。

所属先の保有する財産を自分の手で配布したとなるとわかりやすい業務上横領になるが、オープンソースの著作物ということで、第三者が配布してしまうと彼らは手を汚さないで済む。

考えすぎだとは思うが、そうなる可能性もあっただけに怖い。

 

(続く)

OpeOcaen プロジェクトを代表して
air-h-128k-il

 

OpenOcean の怪文書

増田茂が書いたとされる OpenDolphin 関係の怪文書が某所で見つかり、反論の意味も兼ねて『いるかの怪文書』などが公開された。

関係者に聞いたら「小林慎治が書いた OpenOcaen 関係の怪文書もある」とのことだったので、読ませてもらった。

「いるか怪文書」とは違ってロジックがあそこまで支離滅裂ということはなかったが、主張内容がなんと言おうか・・・やはり、怪文書かな?


私がパッと感じた違和感は・・

・OpenDolphin は GPL である、というのが前提になっているが、その後の経緯を見ればわかるように、ほとんどのプロジェクトが 2018 年を境にオープンソースっぽさを失っていく。
この時期のいるか界隈のことは、私は詳しくないので、関係者からの情報発信を待ちたい。→『OpenOcean は GPL 違反?』、『小林慎治氏の OpenOcean に関する事実誤認』公開。

・README の主張を信用しすぎ。
Junzo SATO さん担当部分が再評価されてきて、ソースコード提供者が思っている以上にいることが判明しつつあった時期。著作権の問題をひとまず置くと、GPL でいうところの author は、README 記載の人物以外にもいることは明らか。 README を重視するのは不自然。

・同じ理屈で、ソースコードは全公開しておく方が適当。
まだ見つかっていない author がいる可能性があるわけだから、クローズドな形で publish しても意味がない。Junzo SATO さんの名前を出してない時点で「適切な著作権表示」とは言えない。
この観点からすると増田ファクトは GPL 違反。


これ GPL という枠組み取っ払うと「e-Dolphin の成果 + 職務著作」という内容。

職務著作の場合、個人名が著作権表記になることはほぼない。
問題になっている (C) Kazushi Minagawa は、職務著作とするとその表記はかなりおかしく、経営陣が変わった時に咎められた、と見る方がすっきりする。

(続く)

 

 

増田ファクト(opendolphin-m)ユーザーってまだいたのか?

梅雨入り、鬱陶しいなあと思いながら、X チェックしてたら、いまだに opendolphin を自力運用?している人がいた。

過去ポストなど読むと、スタッフによる自力運用だという。

引用ポストでも書いたが、よほどスキルに自信がない限りやめておいた方がいいと思いますが。

(追記)なお、opendolphin-m (いわゆる増田ファクト)は OpenDolphin HTML/PDF Viewer のサポート外です。

猪股先生あたりがそのうち言うと思うけど

・ソースコードが明らかにされていない

・開発者とされていた増田茂医師がデータ外部コンバートツールは不要と主張

しているからです。

われわれは、この手のソフトがないと現在のガイドライン基準を満たせないと考えていますが、そうではないという主張自体はその人のポリシーだと思うのでそのこと自体にとやかくいうつもりはありません。

要らないと言ってる人に押し売りしてもしょうがないでしょうから。

(追記2)OpenDolphin 関連で最近(2025 秋)のトピックは OpenOcean 怪文書だが、鍵となったのは各プロダクツの fork 順。

いわゆる増田ファクトは 2.2.1 からの fork のようだ。

私は、オリジナルの 2.3m は持ってないので、図はここから取ってきた。

小林慎治の主張は、dolphin-dev 2.2 → 2.3m → 2.7m → OpenOcean の順で fork されているので、Kazushi Minagawa の名前を入れてないのは GPL 違反だというもの。
実際は、 2.7.0b → 2.7m → OpenOcean なので、批判にもなってないのだが、Kazushi Minagawa 表記にしても、Life Sciences Computing から改竄されたものだってのには驚いた。(猪股先生はかなり早い段階から気がついていたようですが)
そこまでして自分の名前をアピールしたいものなのかと愕然とする。

あと、こういう局面で人前で何かを主張するにもある程度のリテラシーは必要。

ええと、検証というのはですね、ゴニョゴニョ

 

 

イルカは言葉を覚えたか?

歴史的評価の段階に入ってきたせいか、「開いたいるか」ことオープンドルフィンに関して力の入った記事が散見されるようになった。

2.7m 系や HTML/PDF Viewer のメイン開発者の猪股先生なぞこれまでにも言いたいことは山ほどあったんじゃないかという気するが、実はリアルタイムではそれほど多くは語ってはいない。

私もこの記事を書いている最中にそういう気分になったのだが、「彼ら」と対話する気が起きなかったのではないかと推測する。
明らかな事実誤認は指摘しておく必要あるが、変なリアクションされても困るし・・・といった風に。

彼らの語る技術的な内容もそうなのだが、強調するポイントが予想の斜め上をいくことが多々あり、さらにそれが攻撃的な口調で語られるものだから、リアルタイムであったら、とてもまともに返せそうな気がしない。

キュイキュイと鳴く

技術的なことで目についたのは、例えばこれ(↓)。

「ある種の dolphin では、カルテ記載内容の保存に(オリジナル系列の blob ではなくキャラクタベースの) clob を使っていた。 varchar (可変長文字列)で定義されている場合には、カルテ記載内容原文が簡単なクエリで取得できでしまうので、それは欠点である」ということが言いたいのだろうが、私はこの内容には違和感を感じる。

dolphin に関していえば、ある程度技術のある人ならば「永続化にあたっては特別な暗号化はされていない」という認識だと思う。

確かにドルフィンは、Java beans が保持している情報を

xml →バイナリ→ base64 文字列

という風に変換はするのだが、バイナリ変換は文字通り「変換」だし、base64 による変換も

暗号⇄復号(encrypt⇄decrypt)」

と捉えるより

符号⇄復号(encode⇄decode)」

と捉えるのが一般的だと思う。

暗号化(encrypt)と符号化(encode)は概念からして違う。
暗号を復号するには未知の手がかりを解く必要があるが、符号化された情報を復号するには、決まって手順に従えばいいだけだからだ。

だから、カルテ記載内容を varchar カラムに直で書こうが、変換して格納しようが、本質的にはそう大きな差はない。

ーーどちらにせよ本格的な暗号化はされていないのだから。

少なくとも私はそう考えているが、増田氏はその差を「欠点」と大袈裟に捉えているようだ。これでは、話は噛み合わないだろう。
後述するが、逆に「ドルフィンは真正性を満たしているか」といったより大きな問題には、これとは対照的に彼は全くと言っていいほど何も語らない。

イルカたちの沈黙

そう、彼らは、予想外のことに実に多弁に語る一方で、重要なポイントになりそうなことは語らない。

よく「ドルフィンはリリース直後から真正性が満たせているか疑問の声が上がっていた」と評されているが、もちろん、リリース直後などは私のアンテナには引っかかっておらず、あくまで人聞きの伝聞情報だ。

この点に関しては、もやもやしていたのだが、周囲から、「例えばこれ」と見せられた資料が以下のもの。

なるほど。

日付は2014。この頃でもこういった疑問(「真正性で突っ込まれそう」と @ktomii99 氏は書いている)は既に上がっていたのですね。

しかし、なぜ、@masudanaika は、この手の疑問に明快に答えてこなかったのだろうか?

(追記)上図の @kat_bun_tokushi は、徳島橋本医院で opendolphin-m を導入した人らしい。
まったくの偶然なのだが、先日(2024/06/23)、その橋本医院の橋本公昭先生とネット上でお会いして同様の疑問をしたのだが(↓)
やはり、明快な反応は得られなかった。

@ktomii99 氏の提案

ところで、@ktomii99 さんの言っている内容は興味深いので若干コメントする。

医療現場に出てみればわかるが、各種医療機器からの出力がすべて dicom 規格に準拠しているわけではないし、電子化されているわけでもない。中には出力方式がいまだに感熱紙印字というものもある。
この場合、文字が読み取れるうちにスキャナで読み取り、システムに取り込む必要がある。

取り込みの際の条件は現在ではガイドラインで既に示されていて、タイムスタンプと電子署名が必須だとされている。(なお、私はこの条件には疑問を持っていたりするのだが、本稿の主旨とは関係ないのでここでは触れない)

だから、この時代にタイムスタンプと電子署名に言及した @tomii99 氏の指摘はかなりもっともなのだが、あくまでこの二つは外部データを電子カルテに取り込む際の条件であって、電子カルテから出力された情報の真正性を担保する条件ではない。

まず、1日分のカルテ記載内容をまとめてPDF一枚にして・・・というやり方は論外。医師が複数人いた場合、担当していない患者のカルテに別の人が署名することになってしまう。これでは何のために署名をしているかわからない。

だから、このやり方を若干修正して「カルテ記載毎にその記載をした医師が電子署名する」というのが最低条件になるのだが、実はこれでも不十分だ。

記載したカルテをどういう形式で出力してもいいが、例えば、ある人のカルテを 1/1(1月1日) に記載、さらに 1/3 に修正した場合、署名した出力文書は 2 つあり、確かにこの 2 ファイルの間では修正履歴は追跡できる。
ところが、同じ出力形式で 1/2 の文書ファイルを偽造、同様に署名した場合、このファイル群のみからでは、このカルテが本物か偽物かまでは判定できない。

惜しい線まではいっているのだが、出力産物がファイル単位となってしまうため、でっち上げたファイルを作成・追加することでこのシナリオも破綻する。

この問題に対して 2.7m 開発陣が示した解決策は、実に鮮やかなものだった。

あるカルテは、データベース上では古いバージョンも含めて全て保管されているのだから、これらを別のアプリを使って抽出・表示させればいいというものだ。

上図の例では、ある患者のカルテはクライアントからは3件しか見えないが、編集歴があるため、データベース上では11件記録されている。その全てを可視化している。

詳しくは『Save the DolphinS』を参照。

このアプリ単独でも、真正性は担保されていると考えるが、@tomiii99 氏が提案したシナリオもこれで救われる。
データベースと照合し、そこに登録されていないカルテは、後から追加したもの、つまり偽物だと判定できるようになるからだ。

イルカも鳴かずば・・・

冒頭で「彼ら」の言動に違和感を覚えると書いた。

今では、この原因についてある程度推測はされている。
スキルのばらばらの「中の人」が複数人いて、誰からのチェックも受けずにてんでばらばらに好き勝手なことを喋っていただけだったからと。

しかし、それは今だから推測できたことであって、リアルタイムであったら、そこまで見切るのはなかなか難しいだろう。

それは異世界の生物が突如として覚えたての人語を話すような状況に似ている。
言っていること自体は理解できるのだが、内容が奇異でコミュニケーションをとるところまでは至らないといったような。

そしてその中の人の一人が今どのような取り扱いになっているかは周知のことだろう。

「イルカも鳴かずば、撃たれまい」なのだ。

 

OpenDolphin -フリートーク-

しばしば「オープンソースの」と形容されることの多い OpenDolphin だが、幸いなことに『OpenDolphin -wikipedia 風解説-』がネット上でよく参照されているようだ。

ただ、それなりの分量になったせいか気軽にものを書くというノリではいられなくなった。

これでは息が詰まる。

そういうわけで、気がついたことなどはこちらで
→結局、Contre-Attaque というサイトに移動しました。

ところで、最近言われるようになったのは、このプロジェクトの運営実態のヤバさ加減。

時系列で追っていけばわかるが、e-Dolphin 〜 OpenDolphin を通じてオープンソース的な活動をしていたのは、かなり限定的だ。

ソースが公開されていたのは、2004-2018 と10年程度しかないし、その10年ほどにしても PR だのネットを介した機能提案だのは一切なかったと言っていい。

今になってみれば、増田茂や松村哲理は、活動実態のない宣伝要員だが、若い人なんかに言わせると小林慎治が相当ヤバいらしい。

小林慎治

オープンソースの世界』で紹介されているのだが、小林慎治のプルリクエストは凄まじく評判悪い。

「単なる機能削除の提案にすぎない。PR(プルリクエスト)にする意味がわからない」、「上から目線なのが意味不明。何様のつもり?」などなど。

その後、『OpenOcean 騒動』・『小林慎治氏の OpenOcean に関する事実誤認』などが公開された。
ようやく小林慎治批判が始まった感じ。
オープンソースの批評なんて、相当能力高くないとできないわけだから、他の分野に行った方がいいでしょうね。

 

(適宜加筆修正)