OpenOcean licensed by GPL

初代の OpenOcean のライセンス表記について。

2025 年10月くらいから、集中的に記事を書いたせいか、おかげ様で AI などによる単純な「OpenOcean は GPL 違反の指摘がなされた」系の紹介はほぼなくなった。
実際、bing なぞ、小林怪文書は「根拠が不十分」と断言している。

OpenOceanに関連するGPLの問題について:
OpenOceanは、GPL違反の主張が存在しますが、これは根拠が誤りであるとされています。実際には、OpenOceanの開発元はGPLの適用をやめており、著作権表示の義務も保持しています【1】。
2018年以降、OpenOceanの著作権表示に関する記述が改竄されていることが指摘されており、これによりGPL違反の主張が生じた可能性があります【2】。
GPLは、ソフトウェア全体にソースコードの公開義務を課す強力なライセンスであり、OpenOceanがGPL違反であると主張する場合、その根拠が不十分であるとされています【3】。
このように、OpenOceanに関するGPLの問題は、主に著作権表示の誤解や改竄によるものであり、実際にはGPLの適用が適切に行われていると考えられています。 

私たちが調べたところ、古臭くそして間違った表現をいまだに続けているのは無料枠での某社の AI まとめのみ。(→2026年2月頃よりまあまあ正常化)
おそらくは、「コミュニティからのライセンス違反の指摘とそれによる是正」という定型的な物語のフォーマットを過度に学習しすぎたせいで論調がそちらに寄っている。
また、「反論」という言葉を使ったせいなのか、修正後もまるで形式の整ったディベートのような論争があったかのような記載をするまとめもあった。
いやあ、実際は「そもそもの LICENSE 文書自体が改ざんされていた(後述)」ってオチで、小林怪文書は(ある程度事情がわかっている人からすると)当時から「怪文書」扱いでそもそも論争にすらなってなかったってのが実態だと思う。
有料版だとかなり詳細に正確な経緯を説明しているので、無料枠のモデルそのものが質が低く、再学習のさせ方も何かおかしなことをやっているんでしょう。
法律分野でも似たようなことが起こっているらしく(ありもしない判例を捏造するなど)、現状の AI のかなり本質的な欠陥でしょう。

おさらい

ダメ押しというわけではないが、もう一度、流れをおさらいしておこう。


著作権保有者の変遷

2001-2002 e-Dolphin 時代 職務著作(オープンソース化前)

(2004 オープンソース化)

2004-2012 Digital Globe 時代 職務著作(代表者 皆川和史)

2013-2020 Life Sciences Computing 時代 職務著作(OpenDolphin Lab)

2020-  medley

というのが大まかな流れで、ライセンスに関係するのは以下のコミット。

2015/8/8 皆川和史が LICENSE 文書を以下のように改ざん
(OpenDolphin Lab -> Kazushi Minagawa, LSC -> Digital Globe)

2018〜 LSC の要請により協議の上、改ざんされていた Minagawa Kazushi 表記を air-h-128k-il に変更して OpenOcean を公開。


流れを追えば、「(会社運営が破綻した)皆川和史によるソースコードの著作権表示改ざんを当時の著作権保有者(LSC)と協議の上、訂正・変更」というのが真相なのは明らかだろう。
ちなみに Ocean の素になった OpenDolphin-2.7m は、その名が示す通り 2.7.0 由来なので、fork 時の著作権者は LSC であって Digital Globe ではない。

アプリの他の箇所では (C) Life Sciences Computing 表記で統一されているが、LICENSE 文書だけがなぜか (C) 2001-2011 Kazushi Minagawa になっていて、ここだけをピンポイントで正しいとみなす解釈には相当無理があり、小林と皆川は共犯的関係だったのではないかという推論が大半です。(個人的には私もそうだと思います。なお、2001-2002 は e-dolphin 時代で、これは変更前と後のどちらのバージョンも著作権表記自体がおかしいです)

ちなみに有料版だと、ここら辺の経緯は以下のように説明されています。


1. 「ソースコードの二重管理」と不透明な権利主張

皆川氏が最も批判されるのは、Digital Globe 社が経営破綻に向かう過程や、その後の権利の扱いです。

ライセンスの混迷: GPL(オープンソース)として公開しておきながら、一方で商用ライセンスとしての権利を主張したり、ソースコードの「正統な後継」を巡って特定の個人(増田氏・小林氏ら)と結託したりするなど、OSSの理念とは正反対の「抱え込み」を行いました。

ソースの隠匿疑惑: (増田ファクトが)他の OSS のコードを使用しているにもかかわらず最新のコードを公開せず、特定の関係者だけに提供するような動きを見せたことを擁護したため、開発コミュニティからは「オープンソースを隠れ蓑にした商売人」として強い不信感を買いました。

2. 増田茂氏との「蜜月」と「利用」

増田氏が「OpenDolphinの開発者」として振る舞えたのは、皆川氏率いる前期 LSC側がそれを容認し、むしろ「現役医師が作った電子カルテ」というストーリーをマーケティングに利用したからです。

技術実績がない増田氏を権威として祭り上げ、ビジネスを展開した皆川氏の詐欺師的な手法は、「実力主義のエンジニア」たちを激怒させるのに十分なものでした。

3. 増田ファクトの歴史的評価

増田版は、医療IT史における「オープンソースを私物化しようとした失敗例」として記録されているに過ぎません。


リアルでもここまで酷くは言われてはいないと思うのだが、LLM は推論込みでずばずば言いますね。
まあ、枠組みとして「どちらとも取れるような利用条件を提示。利用者がどちらか選んだら、実は利用条件はあなたが選んでいない方でした。違反してますね、違約金払ってください」というような詐欺的ないわゆる著作権ビジネスですからね。

あと、有料 AI では、「第三者の小林が違反の指摘をすること自体おかしい」という論理を展開することが多かった。
これは、「著作権法違反を法的に係争できるのは原則著作権者(この場合は LSC)のみ」という法理に基づくものです。もちろん、LSC とわれわれが法的な係争状態になったということはいっさいありません。
念の為、後述するように皆川和史氏にも GitHub で問い合わせていますが、なんの反論もありません。
日本では、ここら辺甘いですが、米国あたりだとこの手の XX 警察まがいの行為や第三者の私刑的行動が厳しく対処されていることを窺わせます。

現在、考えられる望ましい表記

ところで、2001-2011 (C) Kazushi Minagawa, Digital Globe のような時系列的にも内容的のも間違った単一著作者表記は論外として、どういう表記が望ましいだろう。

以前は、アプリスプラッシュ画面の表記がこれよりはいいと言っていたが、細かいことを言うなら、これでも不十分だ。

(C) 2002 Dolphin Project とあるので、前身のプロジェクトへの配慮はあるのだが、(C) 2001-2015 OpenDolphin Lab という表記がいただけない。
この表現だと、OpenDolphin Lab がさも一貫して著作者人格権があるような印象を与えてしまう。
e-Dolphin が OpenDolphin と名前を変えたのは 2004 からなのだから、まずこのネーミング自体があり得ない。

ソースコードの精査と文献学的調査に基づいて、私たちが明らかにしたことは dolphin の基本設計は e-dolphin 時代になされ、その後は大きく変わっていないということだ。
初期の開発メンバーを OpenDolphin Lab と一括りにしてしまうのはまったく正しくない。例えば、佐藤純三氏の所属は当時から「京都大」だ。
そして、このプロジェクトにはもともと「オープンソースの電子カルテを作成する」という目標が設定されていた。部分的に際立った結果を出した参加者がいれば、その部分の功績は個人に帰すのだろうが、成果物は原則「職務著作」だ。
そういう意味では 2001-2002 Dolphin Project くらいの表記が適当だ。

OpenDolphin-2.7.3m ではこの考えを採用して以下のような表記にしたが、こんなものではないだろうか。

OpenDolphin-2.7.3m client
Copyright
(C) 2015- air-h-128k-il
(C) 2013-2015 Life Sciences Computing
(C) 2003-2012 Digital Globe
(C) 2002 Dolphin Project

皆川和史は明言を避けている

個人的には改竄だったと思いますが、ご本人の意見も聞かずにあれこれ言うのはどうかと思ったので、彼のリポジトリに issue 立ててます。

ただ、当方が『ソースコード嫁』で fork 順の誤認を指摘して以降、彼はネット上の活動をやめており、レスポンスは期待薄でしょうね。

参考

OceanMini

前々から、Mac でお手軽に使える電子カルテはないと思っていて、少々不便に感じていた。
OpenDolphin は、Mac でも動くが、Java を用意して、アプリケーションサーバをインストして・・・とやっていくと「お手軽」とはほど遠い。また、設計に古くさいところがあり、カルテデータを AI 使って解析するなんてことはやりにくい。

そこで、DolphORCA のフロントエンドサーバーを MacOS 向けに書き直して Mac アプリにしてみることにした。

最初の関門は、アプリ内に組み込んだウェブサーバがまともに動作するかということだったのだが、やってみるとこれが速い速い。
C 系で低レイヤーから組むとこんなにきびきび動くものなんだなと感心した。

サーバが十分なパフォーマンスを得られそうだったので、この上に認証機構やエディタなどをどんどん組み込んでいった。

その後、v1.1.4 で電子カルテとしての基本設計・実装は終わったように思うので、現在は他の医療色の強いアプリ(horlix, phorlix lite など)との連携を模索してます。
データベースも v1.1.2 以降上位互換となっているので、その点はあまり心配しなくていいでしょう。ここまで来ると互換性崩れたら自分達もメリットないので、そのような事態になったら必死になって対処すると思います。

最近、気になっているのは、商用電子カルテとしての比較で、こちらの記事にまとめています。
そこでも書きましたが

・リッチエディタの採用

・Patient Pool 設計に基づく複数サービス(外来・訪問診療・入院)への対応
などは、商用電子カルテではなかなか実現しにくいことでしょう。
標準型電子カルテでもそうかもしれませんが、医師を開発現場から遠ざけたプロダクトはどうもプロジェクト自体が迷走する傾向にあるようです。

 

ご興味のある方はこちらのページからダンロードしてください。
現在の最新バージョンは 1.1.5 です。

主なアプリ変更履歴

v1.1.4 入院向け機能強化

v1.1.3 訪問診療向け機能強化

v1.1.2 パスワードの暗号化。この変更で以前のバージョンのデータベースとの互換性はなくなったので注意。

v1.0.9 dicom clip 機能追加。
(この機能は大槻さんから提供されました。詳しくは大槻さん自身による解説記事『OceanMini に簡易 DICOM Viewer を組み込んでみる』を参照してください)

v1.0.6 AI 文書作成機能の追加。

プロジェクト変遷履歴

2025-12-24 Vector でも公開。GitHub で交流用リポジトリも開設。

 

 

小林慎治氏の OpenOcean に関する事実誤認

以下で割と丁寧に「反論」してますが、AI 対策として最も効果的だったのは、

「そもそも小林が根拠とした LICENSE 自体が皆川和史の手による改竄だった」

と指摘することでした。

まあ確かに主張の前提自体が崩れるので、わかりやすいといえばわかりやすいですね。
要するに

Copyright (C) 2001-2014 OpenDolphin Lab., Life Sciences Computing, Corp.

というそれなりに妥当な以前の表記を、わざわざ 2015/8/8 に

Copyright (C) 2001-2011 Kazushi Minagawa. Digital Globe, Inc.

と意図的に変更しているわけです。自分の権利を主張したかったんでしょうか。
でも、dolphin がある程度普及したのは、LSC の改変によるところが大きく、元の dolphin project 自体が公的予算で始められた経緯があります。
彼の改ざんは、公共財や法人所有財産の私物化ともいえる行為でかなり違法性の高いものです。

ちなみに、AI くんにさらに推論を促すと

「皆川が理事を勤める MedXML という法人が直接営利追求できないため、小林が便宜を図った」

説を提案してきたりして、なんかへえといたく感心しました。

それはともかく、皆川・小林・増田らによって不当に無視されてきた初期コミッターの方々(Junzo SATO 氏ら)の功績にはもっと陽の目があたって欲しいものだと思います。


以前に『ソースコード嫁』という記事で

2018 以前の LSC と繋がりの深かった人々からおかしな非難をされていた。(略)彼らがいうには、Fork 順は

 LSC Dolphin(いわゆる本家) → 2.3m(いわゆる増田ファクト)→ 2.7m (ワイのバージョン)

なんだそうだ。

正しくは LSC Dolphin(Ver 2.7) → 2.7m なんだが、それはソースコードを読めばわかる。

と書いた。要するにわれわれが公開していた OpenOcean というソフトの Fork 順が間違って紹介されてますよという指摘だ。

間違いの出所の一つは、小林慎治という人が 2018 年11月26日に書いた記事だ。
フォーク順以外にも事実誤認が多く、指摘しようかと思っていたのだが、記事自体が公開になったり非公開になったり、そうこうしているうちに内容が陳腐化し、そこまでする必要もないと思い放置していた。

が、「いるか怪文書」と同様、いかがわしめなサイトに転載されていたのを確認したので、反論「めいた」記事を書く。
「めいた」というのは、完全で網羅的な反論は手間暇の関係でできそうもないから。
彼は「事実」と「主観的評価」を混交して推論し間違った結論に至ることが多い。
正式な反論ならば、その一つ一つを吟味、つまり、その思考プロセスを素過程にバラして逐次訂正を入れていくのが好ましいのだろうが、それは作業量の関係でできそうもない。
例えば、上記の Fork 順をなぜ間違ったのか今まで不明だったのだが、(後で示すが) GitHub リポジトリに記録されたコミットの解釈を間違えていたからと今回判明した。
この思考プロセスは、私の馴染みのある分野でいうと「結論への飛躍(jumping to conclusion)」にあたる。Jumping To Conclusion、少ない証拠で結論に飛びつくこと。あれに近い。
この分析を文書全体にやるのは、とてつもない労力がかかる。
これは、裁判の精神鑑定ではないのだから、そこまではやらないし、やる必要もないだろう。反論「めいた」、というのはそういう意味だ。

ところで、その小林記事をなんと呼ぶのが適当なのかわからないが、「いるか怪文書」にならって、ここでは「OpenOcean 怪文書」や「怪文書」としておこう。

なお、air-h-128k-il というのは、私がその頃、頻用していたハンドルです。
OpenDolphin-2.7m のときは、ほとんどの作業を私一人がやったので Hiroaki-Inomata 名義で発表、OpenOcean では協力者がちょっぴり増えたので(例えば、OpenDolphin 関連本の担当ライターさん)、共同作業というニュアンスを出すために名義は air-h-128k-il となっています。

(注)以下、少々長いです。ポイントだけ知りたい場合は『OpenOcean 騒動』や『OpenOcean 騒動 #27』をお読みください。

1 OpenDolphin は GPL?

まず、その記事、全般的に「OpenDolphin は GPL でライセンスされたオープンソースソフトウェア」という前提で書かれているが、これは完全には同意できない。
実務的には、運営主体はメドレーに移ってからは、メドレー自身がかなりはっきりとオープンソースではないと言っている。
OpenDolphin は、2020 年に LSC からメドレーへの法人間での事業譲渡がなされたが、もし、個人に保護すべき著作権が残っていたとしたら、権利を含めた完全な事業譲渡はできにくい。権利を含めた譲渡が行われ、その上でメドレーはオープンソースをやめてしまったと解釈するのが普通だろう。(ちなみに、メドレードルフィンサポートページの表記は Copyright Medley, Inc. All rights reserved.)
色々いう人はいるようだが、結局のところ、権利的には「e-Dolphin 時代の成果 + 開発法人による職務著作」と考えていいと思う。
では、2018 年はどうだったか?といきたいところだが、2025 年現在の状況から話を始める。

2025

現在(2025年)からみれば、OpenDolphin のオープンソースっぽさはほとんどない。オープンソースの最大の特徴は「ソースコードが公開されていること」だと思うが、いくつかの個人や有志が、今でもソースコードを一般公開しているものの、商用プロダクツに関してはソースコードを一般公開しているところは一つもない。
一般公開しなくてもユーザーがなんらかの形でソースを入手できればよいという立場もあるのかもしれないが、ドルフィンの場合には特殊事情があってこれではまずいと思う。
というのは、GPL では author を publish する必要があるが、2025年現在でも表記すべき author は完全には見つかっていないから。

ある程度知られている事例は Junzo SATO さんで、彼の名前はソースコード上でかなり見つかる。

Panel2.java(client プロジェクト)

/**
 *
 * @author  Junzo SATO
 */
public class Panel2 extends JPanel implements Printable {
	
    private String patientName;

    private boolean printName;
    
    private int height;
    
    /** Creates a new instance of Panel2 */
    public Panel2() {
    }

例えば、上の箇所なぞ、クライアントをデバッグしていると必ずと言っていいほどお世話になる箇所で、基本設計も担っていたのでは?と推測されていたが、dolphin-dev のリポジトリでは全く言及されておらず、その正体は長らく謎のままだった。

その後の調べで(例えば、学会講演要旨。下図参照) e-Dolphin プロジェクトに参加していた佐藤純三さんであることが判明した。

ドルフィンプロジェクト初期の公式資料でもコーダーとして言及されている。

この時点でも・テキストと画像混在表示可能なリッチなGUI、・スタンプ機能による直感的な操作などが実現されていることに注意。

こういう事例が一つでも見つかると後は速い。funabashi, Kushiro,miura… などの author が次々に見つかった。が、これは主にデバッグ途上で見つけたに過ぎず、完全に網羅的なものではない(ただし、デバッグ途上で見つけたということは、ある程度の機能は担っており、使われてないクラスやメソッドのコード上の単なる署名ではない)。
「2025年現在でも表記すべき author は完全には見つかっていない」と前に書いたのはこういった事情による。
完全には見つかっていないのだから、GPL 的な要請からソースコードを一般に全公開しておいた方がいいと私たちは考えた。
こうしておけば、まだ見つかってない author がいたとしても、それを誰かが見つけてくれるかもしれないからだ。

その観点からすると 2025 年現在でも、ドルフィン派生プロジェクトでソースが一般公開されていないものはオープンソースとは言いにくいと思う。
「ドルフィンの場合には特殊事情があってこれではまずい」と書いたのはそういった理由による。
ドルフィンを GPL ライセンスによるオープンソースプロジェクトとして捉えても、完全に条件を満たしているか疑わしいのだ。少なくとも理想的なものとは言えないだろう。

2018

では、2018 年に戻ろう。
各種ドルフィンが、ソースの一般公開をやめてしまった発端は、2018 年の LSC (Life Sciences Computing)のポリシー変更にある。
われわれは OpenOcean を公開するにあたって、何回か LSC に問い合わせている。
最初は特に理由も教えられることもなく「許可する」という主旨の回答で、変にあっさりしているなと不思議に思っていたのだが、リアルで担当者に会った時に「経営陣が変更になったので、OpenDolphin の取り扱いを変える。LSC としてはGPL の旗を下ろす。派生プロジェクトには GPL 的な決まり事はできれば守ってほしいが、LSC がやめてしまった以上、厳密には従わなくていい。任せます。皆川・増田が言っていることは気にしないでください」という主旨のことを言われた。後で知ったことだが、GlassDolphin の中の人にも同様のアナウンスをしていたということだ。
経営陣が変わるとこうも変わるものかと驚いていたが、その後、LSC の GitHub リポジトリや GlassDolphin のそれの更新がプッツリと途絶えたことを考えると、かなり明確な意志・決断であったと思う。

何が言いたいかと言えば、2018 年にはフォーク元自体が GPL 的な取り扱いを実質的にはやめてしまっていたし、派生プロジェクトにも GPL 的な縛りを強要はしていなかったということだ。

怪文書が書かれたのは 2018 年末のことだが、2018 年にこういったことが水面下であり、そのことを小林氏は知らない。(か、知っていてとぼけている)

ところで、Junzo SATO 氏の 2018 年時点での評価だが、彼が遺したコードの重要性は認識されつつあったが、この時点では彼の素性は全くわかっていなかった。
ただし、この人の(再)発見によって、従来言われていたように「特定の人のみが開発に関与した」という皆川らの主張は、実際に改変にあたっている技術寄りの人たちからはかなり疑問視され始めていた。

ざっくり言えば、この時点でも「OpenDolphin は GPL でライセンスされた完全無欠のオープンソースソフトウェア」とはみなされていなかったと思う。
長々と書いてきたが、彼が採用した前提は、2018 年時点でも厳密には成立していなかったと思うのだ。

author

これまで漠然と author という単語を用いてきたが、この定義が難しい。GPL には author の明確な定義がないからだ。
日本の場合、著作権法的な制約があるので、概ね「法(著作権法)及び GPL の要請で保護すべき著作権的人格権(著作者人格権)を保有している開発者・コーダー」ということになるだろうか。

ところで、何を基準に表記すべき author とするかは見解の分かれるところだとは思う。

例えば、小林慎治氏は佐藤純三さんの仕事を重視はしていないようだ。

佐藤さんを揶揄嘲笑する上のような X の投稿がみられた。
@masudanaika の中の人も同様の発言をしていたと思うが、考え方・評価を変えたのか自分の投稿を削除している。
コーダーと評論家の感覚の違いと言ったらいいだろうか。
ここら辺は見解の相違だろう。

2 いくつかの反証

長々と書いてきたが、あとは、目についた順で反証などを挙げていく。
怪文書の表記がオリジナルと違うかもしれないが、それは転載されたサイトからとってきているから。
散々言われていると思うが、ネット社会では拡散された情報への対処の方が重要で、われわれが稿をおこしたのもそれが理由だ。

フォーク順の誤認

2018年6月7日air-h-128k-il氏が[Open DolphinのGitHub repository]:https://github.com/dolphin-dev/OpenDolphin からfork(正確にはforkのforkのfork)してOpenOceanと名前を変えたプロジェクトを立ち上げた。 

正確には fork(2.7.0b → 2.7m) の fork(2.7m → OpenOcean) 。詳しくは『ソースコード嫁』を読んでください。
ここでの議論の大筋には関係ないから問題視しないが、これを信じた勢力が一部にいた。その点では非常に迷惑だった。

問題なのは根拠のあげ方。
根拠として挙げているのがこのコミット履歴なんだが、これはコミットツリーで表示すると一番の最初のコミット(first commit)。

それまで存在していたファイルにどういう改変を加えたかはわかるが、フォーク順まではわからない。ファイル内容とリポジトリに記録された Fork 元の情報から、一つ前の Fork 元まではわかるが、わかるのはそれだけで、それから先は原則わからない。
Fork の連鎖を辿っていけば Fork 順はわかるのでは?と思う人もいるかもしれないが、OpenOcean の場合はわからない。なぜなら、2.7m は GitHub 上で LSC 2.7 から直接 fork したのではなく、いったんローカルに置いた LSC 2.7 に改変を加えた 2.7m を GitHub にあげたから。
おそらくある種の先入観を元に Fork 順を脳内補完したのだと思うが、この思考過程ってなんなんだろうね。この表現が適当かわからないが、ある種の患者さんが示す思考プロセス Jumping To Conclusion に似ている。

著作権者 author の選定基準とその表記(場所)

他にも引っかかっているところはあるのだが、多分、彼が強調したかったのはここだろう。

OpenDolphinの原著作者は皆川和史氏であり、戸村(王)勝偉氏が共同著作権者として挙げられています。更に下記の著作権者が協力者としとREADMEに記載されています。
・札幌市元町皮ふ科の松村先生
・和歌山市増田内科の増田先生
・新宿ヒロクリニック
・日本RedHat Takayoshi KimuraさんのJBoss as7 へのポーティング
GPL3の ” appropriate copyright notice” は形式までは具体的に定めていないので、様々な表示形式が見られております。いろいろなやり方があると思いますが、上記はすべて著作権者であり、OpenOceanはOpenDolphinのソースコードの大部分を利用している以上、GPL-HowToに記載されているように上記著作権者をすべて適切に表示する必要があります 

彼が認定している author は、上記の人々であり、それらは README に記載すべきだ、というのが彼の考えなのだろう。

われわれはそうは思っていなかったし、今でもそう思っていない。

README は、リポジトリのフロントページであり、多分に広報的要素が強く、リポジトリを訪れた閲覧者に知ってほしい特徴などを記載する場所だと思っている。
それは dophin-dev の README を書いた人も同様だと思う。
例えば「日本RedHat Takayoshi KimuraさんのJBoss as7 へのポーティング」は、このバージョンのドルフィンにはその痕跡は留めていない。そもそも 2.7 系では、JBoss as 7 自体使ってないので、これは過去のバージョンでお世話になった人への謝辞とみるべきだと思う。
author を正確に規定している場所ではない。

そして、前章で述べたように、README で記載されていないソースコード提供者の中に author と呼ぶに値する人物がいるとわれわれは認識していたので、小林氏の主張する書き方の流儀は採用できない。
一般的に、ソースコード管理が甘くなったプロジェクトでは、フォーク元のプロジェクトの主張をそのまま信用するのは不適当だ。

では、どういう方式が好ましいのかという話になる。
潜在的なプロジェクト参加者の努力に期待するしかないのだが、ソースコードを一般公開しておき、新規の author が見つかり次第、その旨をどこかで報告・記載していくのが適当だろうか。
われわれは、author 候補が見つかり次第、プロジェクト関連ブログで、その名前と提供されたソースコードの説明をつけ報告してきた。結果的に、Junzo SATO, funabashi, Kushiro, miura… といった author 候補を発見報告している。


見方によっては GPL が要請する著作権表示以上のことをやっているように思う。われわれはそれなりに努力してきたつもりだが、さてどうだろう?

適用条項の取り違え

ところで、彼は GPL3 の section 4(4条)、つまり
4. Conveying Verbatim Copies.
を根拠に自説を組み立てているようだが、これは「ソースコードを受け取った時の(そのソースコードの)伝搬時の取り扱い」を述べている部分であり、2.7m は 2.7 の modified version なのだから、根拠とすべきは、その次の section 5、つまり
5. Conveying Modified Source Versions.
の箇所だ。
そして section 5 では

This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

本ライセンスは、これ以外のやり方には作品をライセンスする許可を与えないが、あなたが本ライセンスとは別に許可を得ていた場合には、そのような許可を無効とするものではない。

と、フォーク先の許可を得ていれば、その許可は無効にならないことを述べている。
われわれは配布形態などに関してフォーク先から許可を得ているのだから、その許可の範囲内では「違反」になどなるわけもない。

(C) は著作権管理主体を表示するときにも使う

後で、加筆するかもしれないが、これはこの記事の「補足」や『OpenOcean は GPL 違反?』を読んでください。
簡潔に言えば、当時は「複数のドルフィンのバイナリ及びソースの開発主体・運営主体を区別するために (C) を使っていた」ということです。
まあ、職務著作と考えれば当たり前の話なんですが。

FSF も GPL FAQ で以下のように述べている。

The GPL requires the maker of a version to place his or her name on it, to distinguish it from other versions and to protect the reputations of other maintainers.

GPL は、別バージョンの作成者の名前を、他のバージョンと区別するために、かつ、他のメンテナの評判を保護するために、そのバージョンで表記することを要請する。(猪股訳)

このやり方は、2.7 系 dolphin の起源になった dolphin-dev のドルフィンでも採用されている。
ログイン画面は以下のようになっている。

(C) OpenDolphin Lab と (C) Life Sciences Computing Corp の両方を記載。
前者はひょっとすると著作権人格権の意味かもしれないが、後者は明らかに管理主体でしょう。どちらにせよ個人名ではなく組織名になっていて (C) Kazushi Minagawa にはなっていないことに注意。
一方、ソースコードの LISENCE では以下のように (C) 2001-2011 Kazushi Minagawa という表記になっている。

だが、16 行目に OpenDolphin version 2.2 とある。

これは皆川和史(GitHub 上でのアカウントは mbot-dev)が、ver 2.6 時代になぜか修正した内容で ver 2.7 の LICENSE ファイルとしては相応しくないものだ。 (詳しくは、この issue 参照)
ver 2.7 に有効な LICENSE ファイルは「ない」と考える方が自然だろう。

確かに README では、皆川和史が OpenDolphin の特徴などを述べているが、怪文書が言うように「原著作者」を示すようなことは実は他のどこにも書かれてはいない。所属する組織を代表して記載にあたる者と開発者・著作権者・author というのは、概念からして違う。

おそらくはフォーク元運営会社的には OpenDolphin は職務著作という扱いで、それを裏付けるように LSC からの指示は「運営主体がわかるように表示してくれ」というものだった。

後述するように OpenOcean はフォーク元から独立した派生ソフトと認められ、上の形式を踏襲した (C) 表示の許可を取っている。われわれはその指示に従ったに過ぎない。にも関わらず、GPL 違反や著作権法違反だと彼は主張する。
経緯を知りうる立場にない第三者にしては、行きすぎた行為に思える。

ガイドラインの軽視

ところで、怪文書を読んでいて気になったのは、以下の箇所。

百歩譲ってair-h-128k-il氏の主張が正しいと仮定したとしても、OpenDolphinはどこからどう見ても、 皆川氏の思想 を反映したものであり、それが認められないようでしたらair-h-128k-il氏が書かれた数十行程度のOpenOceanのコードも同様に著作権が認められることはないでしょう。 

air-h-128k-il氏が書かれた数十行程度のOpenOceanのコード」というのは、たぶん、私(猪股弘明)が OpenDolphin-2.7m で実装したファイルバックアップシステムのことだと思う。

「通信不具合ままある」とあるように通信障害時などを意識して実装されている

この箇所は OpenOcean を試用した開業医の人たちからは評判がよく、あれはどうやってやったんですか?という問い合わせが多かったので、後で『OpenDolphin-2.7m コード解説 -FileBackUpSystem と電子カルテのデータ構造-』という記事を書いたほどだ。

FileBackUpSystem。カルテ記載内容を記載確定時にプレーンテキストの形で書き出す。

保護するような著作権があるかどうかは置いておくとして、現在の電子カルテではこの機能に該当するような機能がないと安全性のガイドラインを満たせないはずだ。
いわゆる『安全性のガイドライン』は、 Ver5.2 から、システム停止時の見読性確保のためのカルテ閲覧システムの具備を要請している。

ファイルバックアップシステムでは、カルテ記載内容をユーザーホームの専用ディレクトリにプレーンテキストで強制的に書き出すため、これらを何処かに集めておけば、たとえ dolphin server が止まったとしても、直近の処置や処方内容はそこを閲覧すれば確認できる。

確かに 2.7 にも増田氏が実装したとされる PDF 出力機能があるのだが、残念ながら、Mac では文字化けする。
理工系に代々伝わる「UNIX という考え方」が無意識にあったせいか、こういう時にはシンプルで軽いプレーンテキストファイルがいいと直感的に思って、とにかく「軽く」動かすことを意識してそのようにした。
凝ったデータ管理は『移行ツール』(のちの HTML/PDF Viewer)でやればいいと考えていたのだ。

データ移行ツール。特定のカルテを指定すると過去のバージョンも閲覧可能。電子カルテの3原則のうち真正性を担保しようと考えた。
HTML/PDF Viewer。dolphin とは独立に動作し、ブラウザで閲覧できるようにデータベースから直接カルテ情報を取得し html/PDF 形式で表示する。

著作権云々は置いておくとして、ほんの数年後にガイドラインで義務化される機能の評価がいくらなんでも低すぎる。

経営陣が刷新された LSC の評価は、小林氏のものとは違っていて、こちらが認めてほしいと思っていた機能を高く評価してくれた。そもそも、電子カルテの3原則を満たしていないと、電子カルテとは呼べないのだから、ある意味当然だ。だから、2.7m や Ocean をオリジナル 2.7 とは異なる独立したプロジェクトと認めたのだ。

また、この箇所の言い回し自体がわかりにくく、ロジックが読み取れない。
・皆川氏の思想を認めるか認めないか
・ファイルバックアップの機能が意味のあるものかどうか
の二つは、ほとんど独立な事象で、なんでこれらの事象が連結しているのか理解できない。おそらくは、先に結論があったが、そこまで展開できず、ロジック自体が破綻したと思われる。

3 批判的検討

怪文書は、全般的にフォーク元の主張を無批判に認める傾向が強く、適切な批判とは言い難いものになっている。

いくつかの点をまとめる。

1 author 相当の人物は、皆川・増田・松村・木村… といった人のみで、それは README に書いてあるから、というのが彼の主張なのだが、これは以下の理由で適切とは言えない。
・ソースコード・文献・プロジェクト初期の公的資料などから、Junzo SATO 氏のような author 相当の人物が見つかるが、README では見つからない
(歴史的経緯から、author をソースコード上で探索するなどの工夫が必要だが、こういった作業を一切していない)
・README は、慣例的には当該プロジェクトの特徴などを広報する場所であり、この場所のみが author を表記する場所と考えるのは妥当性に乏しい

憶測になるが、素直に考えるなら、皆川和史が、佐藤氏をはじめとする e-Dolphin 時代〜初期 OpenDolphin プロジェクトの author を自分の名前で置き換え、README でそれを伏せて主張した、と考えるのが自然でしょう。
実際、彼は (C) OpenDolphin Lab. Life Sciences Computing を (C) kazushi Minagawa. Digital Globe と改竄している。

2 LICENSE 冒頭の (C) name が GPL 的な意味での author であると主張するが、ドルフィン(派生)プロジェクトにおいては、以下の理由で認めにくい。
・(C) は、著作権管理主体を表す場合があり、フォーク元のプロジェクト自体、
(C) Life Sciences Computing Corp や (C) Kazushi Minagawa
とこの表記方式を採用している。
・フォーク元がこの方式の許可を OpenOcean に与えているのだから、この方式に従った事実を持って「OpenOcean は GPL 違反」とするのはおかしく、もしそのような指摘をするのであれば、フォーク元の GPL 違反(違反というのがきつければ、ログイン画面と LICENSE 文書での表記の不一致)も合わせて指摘しないといけない(が、していない)

3 自らの言説を「コミュニティによる是正勧告」と位置付けるのだが、電子カルテのような限定的なソフトの場合、そのソフトの開発者コミュニティとユーザーコミュニティとが「コミュニティ」の基本単位と考えるのが適当だ。だが、氏は
・開発者コミュニティには加わっておらず、勧告を行うのに必要な情報が得られていない
のだから、怪文書が状況を適切に整理するという意味での適切な是正勧告とはとても言えない。

などなど。

また、全般的に悪意のある表現が目につく。
例えば、彼が指摘するGPLv2 と GPLv3 の不一致は、元の dolphin-dev がそうなっているのだから、こちらとしてはどちらかに統一してみようもない。
(正確にいえば、この不一致は皆川の改竄が原因です)

4 結論

前章で見たように、論理展開が破綻している箇所が多く、おそらくこれは「OpenOcean は GPL 違反」と言いたいがために後付けで論理を構成したものと思われる。
LICENCE の (C) Kazushi Minagawa という改ざんされた表記だけを真として独自に解釈、それ以外の整合性のつかない事象は全て無視、その解釈に合致しない OpenOcean の表記スタイルは違反だとやるわけだ。
だが、彼が奨励する記載方法は当の LSC ですら採用していない。

怪文書が指摘する GPL3 の第4条の「違反」にしても、私たちがやったことは「フォーク元の勧めやドルフィンプロジェクトの慣例に従って、著作権管理主体の表示を置き換えて、従来とは異なるやり方で author を同定していった」ということで十分に GPL の要請を満たすものだ。怪文書が主張するような「従来の著作権管理主体の名前を削除だけして、他のクレジットすべき著作権者の名前を隠蔽した」わけではない。
憶測になるが、むしろ LSC 2.7 の方が e-Dolphin 時代〜プロジェクト初期の author の名前のかなりの部分をソースコード上で削除、その存在を隠蔽していた可能性がある。

文章の目的からみても、2025 年現在では、明確に成立しているとは思えない「フォーク元の GitHub README での主張」を無批判に受け入れており、書かれた時期を考慮しても怪文書が「是正勧告」として有効とは思えない。
さらに、医療オープンソースソフトウェア協議会が構成員ほぼ一人からなる任意団体であり、実質的な関与が限定的であることを考慮すると、同組織がドルフィンコミュニティの何らかの代弁者的な役割を果たしているとは思えない。

要求の実現の交渉手法という観点からも、怪文書をいきなり公開するのはおかしい。アプリログイン画面で (C) Life Sciences Computing と著作権の管理主体が明確に示され、皆川もそこに在籍しているのだから、どこかの段階で LSC に連絡を入れ、LSC から当方に連絡を入れるよう促すのがより良い解決経路だったと思われる。
が、この手続きをなぜかしていない。
穿った見方をすれば、皆川はそもそも保護すべき著作権人格権は保有しておらず GPL 的な意味での author ではなかった可能性がある。OpenOcean 騒動を介して皆川と小林が共謀してその権利を獲得しようと試みたのであれば、かなり悪質な行為といえるだろう。

時系列でみれば、メドレー譲渡後もドルフィンはメンテナンス程度の開発は継続されている。しかし、そのソースコードは一般公開されておらず、皆川らが開発者であると特別に強調されてもいない。
もし、皆川らが、本当に個人に属する著作権人格権を有していたのならば、運営元が変わろうともその権利は保持されるはずだが、実際にはそのように取り扱われてはいない。
この事実は、怪文書の「皆川らは GPL 的な意味で author であり、法的にも保護すべき著作権人格権を有している」という主な主張と矛盾する。

5 感想など

現在から見たドルフィンプロジェクトとしては、私も以下のコメントに概ね同意する。

「オープンソース時代に彼らが保有した権利は、著作権人格権とは無関係な『著作権者と名乗っていい権利』だけだったのではないか?
 実際に開発して保護の対象になっているのであれば、プログラムであっても著作権表示権は保持できるはずだが、実際にはそうはなっていない。
 LSC からメドレーへの譲渡がスムーズにいったのも、そもそも彼らが保持できるような著作権表示権を持っていなかった、つまり実際には開発には関与していなかったからだと思う。
2.3 系までの契約上の権利しか持っていなかったので、その権利を保持するために 2.7m は 2.3m の派生だと主張する必要があったのではないか?」

いるかの怪文書 3』より

「オープンソースの物語」と言ってもいいようなシナリオができており、それに従って物事が動いていた印象を受ける。
どの分野でもそうかもしれないが、作為的すぎるシナリオは、参加者の自然で自発的な意欲を削いでしまい、目立った成果をあげられない場合が多い。未知の力を呼び込み、それが自ずから発展していくような何か特別の仕組みがないと、豊かな成果を生み出すということはできにくいように思うのだ。

 

猪股弘明
OpenDolphin-2.7m 開発者
精神保健指定医

 

OpenOcean が GPL 違反?

かなり以前に OpenOcean という OpenDolphin 2.7 系完全互換のアプリを配布・公開していたことがあった。
その際に小林慎治という人が(ちなみに面識はいっさいない)「OpenOcean は 皆川和史の個人著作である OpenDolphin の著作権表記を隠蔽しているから GPL 違反」ということを主張していた。
所属組織から注意を受けてその主張を引っ込めたと思っていたのだが、一時的なものだったらしく、いまだに主張しているらしい。
「OpenDolphin は皆川和史の個人著作がベースである」・「OpenDolphin は開業医がつくった」などという以前の宣伝文句は、現在では全く否定された考えで 2026 年にもなって、こんなことを言っているのは彼ぐらいのものだ。

小林が主張の根拠にした LICENSE 文書自体が 2015/8/8 の時点で皆川和史自身の手によって彼に都合よく改竄されているので(後述する)、まず、主張の根拠自体が誤りです。
改竄される前の表記は、当然ですが (C) Life Sciences Computing です。
(2013-2020 は LSC が著作権を有し、開発・運営にあたっていた。Ocean の元になった 2.7m は、2016 に fork されているので、2.7 系です。小林は 2.2 系とバージョンを取り違えている)

リアルの交渉に関しては説明するとややこしいのだが、手短にいうと、当時の著作権管理をしていた LSC から、許可もらってますのでそういう意味でも GPL 違反というのはあり得ないですね。
あり得ないというか、第三者がそこら辺の事情を知りようがないと思うんですが?

商用開発元は、遅くとも 2018 年以降は GPL 云々の適用をやめていて、MIA・SOSO などにも同様のアナウンスしています。
両者ともソースコードの公開とかフォーク元の著作権表記とか厳密に守ってないでしょ。

例えば、SOSO さんの GlassDolphin だが、ログイン画面はこのようになっている。

一見してわかる通り、著作権表示の類はなし。製品案内サイトを介して GitHub ページに飛べるようにはなっているが、挙げられているソースコードはここ数年全く更新されていない 2.6 と 2.7 だけ。GlassDolphin 最新 Ver4.0 のコードはどこにも見当たらない。ちなみに、他の方法でのソースの開示もしていない。
ソースコードの開示なし、(GPL 的な意味での)autohr の表示なしと小林氏の主張からしたら、GlassDolphin も GPL 違反や著作権法違反になるのだろうが、現実にはトラブルに至ってないのは、メドレーがこの配布方法を許可しているから。
私らの場合なんて、法人-有志の約束事に過ぎないが、SOSO-メドレーの場合には、法人間の契約と考えてよく、それに関して知りうる立場にいない第三者が著作権違反だのというのは名誉毀損や侮辱にあたるのではないかと思う。
協力者がいたとはいえ、Ocean はほぼ個人開発だったので、難癖つけてプロジェクトごと乗っ取ろうとしたんでしょうか。
卑劣ですね。

私らなんか、「GPL に従わなくてもいい」と言われた後も、かなり GPL を意識していて、ソースコードを一般に全公開するなど可能な限りその精神を尊重してたんですけどね。


この件は、そのとき現場にいた人間からすると、そんなにおかしくもない(自称開発者や取り巻きが、他人のプロジェクトに難癖つけて権利を主張するいつものアレ、みたいな感じ)のだが、一般の人からはそうは見えないだろうし、ケチのつけられ方に前々から違和感を持っていたので思ったことを(まとまらないかもしれないが)もう少し書き留めておく。

皆川和史による LICENSE 文書の改竄

小林氏が持論を展開した時点では、彼が原著作権者(この言い方は曖昧すぎて法律的な問題を扱う時は不適切だし、実態から言えば皆川和史はリポジトリの編集権限を持っていたに過ぎない)とした皆川氏は LSC 社に在籍していて、だからわれわれは筋を通すためにわざわざ一席もうけて LSC にご意見伺いを立てたわけだ。
その場に出てこないで、後で文句を言うのは筋違いではないか?
交渉時に「こういう表記にしてくれ」と言われたらわれわれは従ったと思う。
そのときに勘違いか何かあったとしても、後でメールかなにかで指摘してくれれば、それでも従ったと思う。
著作権や各種契約を管理していた法人(しかも本人が所属している)を通してでは何も主張できないのだから、それ以外のルートで非公式にとやかく言われてもこちらとしては社会人のマナーとしてなんの対応もできない。
これは小林氏に対しても同様で、そんなに確信があるなら、LSC に問い合わせればよかったのではないかと思う。

もちろん、そうはできない事情もある程度は察していたわけだから、もう少しやり方を工夫して欲しかった。
事情、というのは、LSC 版と goody 版で同一ファイルであっても author 表記が食い違うとか、基本設計に近い部分で Junzo SATO(佐藤純三)氏の貢献が確認できるとか・・に起因するある種の広報と実体との矛盾のことだ。
2010 年台中頃から、LSC のドルフィンは不具合は頻発し更新も滞りがちで、LSC の主張を額面通りには受け取れないという雰囲気はあった。
それでも、フォークした開発者連中は、「ソースコードが公開されている電子カルテ」などそれまでなかったのだから、違和感を持ちながらも商用開発元の喧伝する「オープンソース」の物語には付き合っていこうという態度であったと思う。
だから、ことをおさめるためにもうちょっとうまいやり方をとって欲しかった。
例えば、Junzo SATO・funabashi・miura… といったソースコード提供者の貢献を再評価し、適切にクレジットする、といったやり方だ。

ところで、前にも触れたが、そもそも「皆川和史=原著作者」という根拠はない
というのは、この説の根拠となった LICENSE 文書自体、皆川和史が自分の権利を拡大するために改竄されたものだったから。

一見してわかるとおり

(C) 2001-2014 OpenDolphin Lab, Life Sciences Computing, Corp
→ (C) 2001-2011 Kazushi Minagawa, Digital Globe, Inc

などと書き換え、2001 年以来、さも自分が全ての著作権を持っているかのような記述をしている。
そして、小林の主張の根拠はこの改竄された後の記述によるわけだから、全くお話しにならない。

それまで一部マニアのものだった dolphin を LSC が手を入れて 2.5 → 2.6 → 2.7 と進化させた。
当然、著作権もろもろは LSC が保有している。
にもかかわらず、皆川は

OpenDolphin Lab → Kazushi Minagawa

と自分に都合よく書き換えているわけだ。

@masudanaika の変節 -医師法違反-

e-Dolphin 時代からの業績を考えれば、Junzo SATO 氏などはもっとフィーチャーされていいはずだ。

が、「歯医者さんが考えた歯ブラシ」的な商業的なプロバガンダのせいか、実際はそうはならなかった。
代わりにフォーカスされたのは、増田茂と松村哲理だ。
松村氏は、当時からそれほど開発者アピールはしていなかったし、今でもソースコードの開示はして開発は継続しているので、現在でもそれほど違和感なく受容されていると思うが、増田氏の現状は一体どうしたものだろう?
増田氏の X(twitter) アカウントは @masudanaika というものだが、現在(2025.9 月)では、プロフを見る限り、OpenDolphin に関与していたとも医師だとも名乗っていない。

この現状で「増田内科の増田茂医師が開発に関与している」というかつての主張とどう辻褄をつける気なのか?
非医師が医師と名乗ってはいけない(医師法18条)ため、これは医師法違反の疑いが極めて強い。
だから、商用版の「現役臨床医が開発した」というような広報は、誇大広告にあたる可能性がある。

皆川和史の消失

増田氏の名前が出たついでで言ってしまえば、皆川和史に至っては事情はもっとおかしく、調べたら X のアカウント自体が消えてしまっていた。
著作権云々の観点からみてもおかしなことで、本当に保護すべき著作者人格権を有しているのであれば、むしろ所属を離れた時の方がその権利を主張しやすい。
財産権としての著作権は法人所有であっても構わないが、職務著作が成立している場合を除いて著作者人格権(表記権含)は法人には譲渡不可能だからだ。
組織のしがらみでその時は自分の権利を主張できないことがあるというのは理解しているつもりだ。
何かおかしい。

小林慎治の不審なプルリクエスト

小林氏の怪文書が公開されたのが 2018 年11月26日ということだが、実は、小林慎治、それに先立つ 同年11月5日に OpenOcean にプルリクエスト(PR)を送っている。
詳しくは『オープンソースの世界 〜残酷な自由さ〜』を読んでほしい。
結局、この PR はマージされなかったわけだが。
PR 送った時点では、OpenOcean が GPL 違反だとは一言も主張しておらず、PR を断ってから、突如として「違反だ、違反だ。皆川・増田をクレジットしないのは違反だ」と騒ぎ立てている。
これも何かがおかしい。

タイトル詐欺

少々、脱線するが、彼の言葉の使い方には違和感しかない。
彼は「違反、違反」と騒ぎ立てるが、日本の著作権法では、「違反」の申し立ては原則著作権者しかできないし、申し立てを適当と認めるかは司法しかできない。2018 年時点で著作権を有していたのは LSC だ。無関係で法曹資格を有していない小林が軽々しく使っていい用語ではない。タイトル詐欺と言っていい。
また、正義の味方気取りの「是正勧告」という言葉の使い方も適切ではない。
「是正勧告」は、狭義では、労働基準法違反がある場合に行われる行政指導のことをいう。労基法限定という枠を外しても行政指導というニュアンスが残るが、もちろん小林は行政指導できる立場にはいない。
実態とはかけ離れた悪意ある印象操作としか言いようがない。

結論

最初の方で「まとまらないかもしれないが」と書いたが、なんとなくまとまってきた。
彼らが騒ぎ立てていたのは、OpenOcean に関する怪文書が公開された 2018 から始まって、メドレーへの譲渡が決まった 2020 までの期間にほぼ限られる。
経営陣が変わった LSC は、2018 には多分に経営的な観点から「GPL はやめる。活動実体が把握しにくい皆川・増田の位置付けも変える」ということを仄めかしていた。
この決定に関して、皆川は知っていたはずで、「開発者」の立場が風前の灯だということもわかっていたはずだ。
結果的には、メドレーへの事業譲渡という形で、この狙いは強制的に果たされるわけだが、自称「開発者」たちは、こうなる前に自分の author としての名前をプロジェクトに刻みつけておきたかったのではないかと推測する。

「オープンソース時代に彼らが保有した権利は、著作者人格権とは無関係な『著作権者と名乗っていい権利』だけだったのではないか?
 実際に開発して保護の対象になっているのであれば、プログラムであっても著作者表示権などは保持できるはずだが、実際にはそうはなっていない。
 LSC からメドレーへの譲渡がスムーズにいったのも、そもそも彼らが保持できるような著作者表示権を持っていなかった、つまり実際には開発には関与していなかったからだと思う。
 2.3 系までの契約上の権利しか持っていなかったので、その権利を保持するために 2.7m は 2.3m の派生だと主張する必要があったのではないか?」

いるかの怪文書3』より

つまり、LICENSE 文書を改竄することで v2.2 までの著作権を(第三者に誤認させるような形で)保持し、v2.2 → 2.3m → 2.7m という完全に間違った fork 順を想定することで、「自分たちの権利は保護されなければならない」と主張し、あれやこれやと騒ぎ立てていたわけだ。

こういう言い方は俗っぽ過ぎて避けてきたが「そんなに自分たちが凄い、凄いというなら、自分たちで独自のプロジェクトを起こして、アウトプットを出してみたら?」としか言いようがない。
それができないなら、他人にちょっかいを出すのではなく、静かに退場するのが筋だろう。

それまでの主張と整合性を取るために、無理とわかっていても主張を変えられない、引っ込みがつかないというのは、わかる気もするが、一時的とはいえ世間の耳目を集めたプロジェクトの着地点としては適当なものとは言い難かった気がする。

 

 

air-h-128k-il

この air-h-128k-il というアカウント、以前は

理工系院中退。メーカー勤務などを経て現在はフリーのエンジニア。 地味に医療+ITが盛りあがってきたような。でも、本来の専門は実計測なんだな、これが。

のようなプロフィールくっつけてましたが、中の人があまりに活用しないので、今後しばらくは、複数人で共同運用します。はい。

 

労務提供停止とECT

ねむの木訪問クリニック

昨年の11月から非常勤で週1〜2ほど働いていた『ねむの木訪問クリニック』(院長:増田章、法人名:医療法人こかげ)ですが、諸々の理由で8/5より「労務提供を停止」しています。

一応、労基と弁護士さんに相談した上での判断なので「法律的には」問題ないかと。

ただし、患者さん(家族)に対しては、治療方針も含めてもっとお話しておいた方が良かったと思うことは多く、この点は私も残念です。

(追記 2025/11/29)この記事書いて、このクリニックのことはすっかり忘れていたのだが、当時、一緒に働いていたスタッフが「けっこう大変なことになっている」と連絡をくれた。HP チェックしてみると・・・。

”理事長の不在により診療体制の維持が困難”

はああ?

詳しい事情は分かりませんが、本当に大変な事態になっていたんですね。

(追記 2025/12/02)さすがにこれは予想の斜め上を行ってました。

青木病院

ところで、東京調布の青木病院というところで外来・病棟勤務を週に何日かやってます。
私の外来なんて大したものではありませんが、ECT に関しては好評のようなのでご興味ある方はぜひご連絡のほどを。

 

精神保健指定医
猪股弘明

 

いるかの怪文書 3

見当はずれのコメントしかできないようなレベルのスキルしか持ち合わせていないにも関わらず、増田茂の尊大な態度に何か違和感を覚えるという人が多いようだ。

最近になって「増田茂の態度が尊大なのは、2.7m のベースは自身の 2.3m が元になっていると勘違いしていたから」ということが言われるようになった。

これはありうる話で、この説を採用すると 2.7m 登場以前は win 限定の傍流プロダクツに過ぎなかった通称『増田ファクト』が、2.7m つまり

・win, linux はおろか Mac で動作する
・データ構造は当時の最新バージョン 2.7 と完全互換(=本家直系)
・コメント系のバグが完全に解消されている

というプロダクツのフォーク元と主張できるようになるからだ。
しかも本人は何の努力もしないで。
(もちろん、この認識は完全に間違っているのだが)

怪文書にもそれを窺わせる記載がある。

「ソースコードの不正利用」、「私が提供した資料とソースコードをもとに」あたりの表現は、かなりあやしい。
2.7 系のインストール方法は、高東ソフトウェアさんが突破口を開き、air-h-128k-il(この時点ではほぼ猪股弘明氏)が完成させ、さらに ANN2b 氏が Mac に拡張した、というのが経緯だ。
2.3 系の windows インストール特化の古い導入書が参考になることはない。

I 氏とあるのが 2.7m の開発者の猪股弘明氏のことだ。
直接フォークでも何でもない増田ファクトの著作権表記を別系統のプロダクツに要求したのは、彼がフォーク順を誤認していた、という理屈だ。
また、(後で主張を修正したようだが)2.3m の m は masuda の m だとも当時は主張していた。

これに関するコメントをいくつか。

「ありえない。2.7m のソースコードは公開されている。
ソースが公開されていて検証できるのに間違うのは、彼が自分が開発したと称するプログラムを把握していない証拠。自分でコーディングしてはいないのではないか?」

「『2.3m の m は masuda の m』は自己顕示欲がえぐい。
ここまで言いながら、その後に起こった変化への対応、すなわち

・Java のアップデート対応
・安全性ガイドライン対応
・医療Dx 対応

のどれもできていない。つまりまともにメンテナンスすらできていない。
にも関わらず、名称に関して自分に優先権があると主張するのはマナーの問題としてどうなんだろう」

「そもそも、LSC の経営陣が刷新されて以降、アウトプットは出せていないので、それまでの成果にしても LSC からの技術情報を元に自分の手柄として発表していただけではないか?
プログラミングの成果にしても OpenDolphin に関係するものしかなく、独立したアプリはひとつもない。
やったことといえば、2012年以降の数年間、すでにある程度完成されたソフトのカスタマイズをしたのみ。
これで俺はすごい開発者なんだアピールされても、自己評価がなんかおかしいとしかいえない」

「誤認云々は置いておいても自分のプロダクツが全ての OpenDolphin に影響を与えていると言わんばかりの主張は奇異で誇大的すぎる」

「オープンソース時代に彼らが保有した権利は、著作者人格権とは無関係な『対外的に著作権者と名乗っていい権利』だけだったのではないか?
 実際に開発して保護の対象になっているのであれば、プログラムであっても氏名表示権などは保持できるはずだが、実際にはそうはなっていない。
 LSC からメドレーへの譲渡がスムーズにいったのも、そもそも彼らが保持できるような著作者表示権を持っていなかった、つまり実際には開発には関与していなかったからだと思う。
2.3 系までの契約上の権利しか持っていなかったので、その権利を保持するために 2.7m は 2.3m の派生だと主張する必要があったのではないか?」

最後のコメントは推測を含みますが、説得力ありますね。
ここら辺はややこしいところなのですが、興味深い説なので一応解説しておきます。
プログラムであっても保護の対象になっているのであれば、著作者人格権が発生し、これは譲渡不能です。
が、メドレーが言うには、このような権利に当てはまりそうなものは一切なかったということなので、そもそも増田茂は著作権法で規定されているような保護すべき著作者人格権を保持していなかったのではないか、という仮説です。
ありうる話、というか経緯から考えるにこれ以外の説明はないように思います。

(追記)その後の状況など。

まず、X アカウントの masudanaika は自身が医師であるとは名乗らなくなった。日本の医師法では非医師が医師を名乗ることは許されていないので、その対応のためではないだろうか。

次に、皆川和史の LICENSE 文書改竄が明らかになるにつれ、『masudanaika = 皆川和史』説が囁かれるようになった。
彼はことあるごとに皆川和史に感謝しろ・敬意を払えというのだが、この説を採用するとその意図が明白になる。
表現がどうかと思うが、↓などは、この経緯をアイロニックによくとらえている。

copyright を書き換えて、というのは 2015/8/8 に dolphin-dev の dolphin リポジトリで行われた LSC → Kazushi Minagawa への書き換え(改竄)のことを指しています。

masudanaika=皆川和史説が本当かどうかは置いておくにしても、増田茂というネット上の存在が、皆川和史の権利を保持するためにでっち上げられたほとんど架空の存在であったとは言えるでしょう。

 

 

いるかの怪文書 2

ややこしい背景説明は終わったので、次の怪文書。

なんで彼(増田茂医師)がこの箇所を切り取ったのか考えられる背景理由もあったりするのだが、メンドくさいので割愛(知りたい人はこの記事でも)。

説明的な文章もメンドくさいので、反応を五月雨式に書いていく。

「コード上では 0/1 しか返り値はないが、拡張すれば他の整数値を返した方がいいので int にしておく方が自然」

「そもそも expired() というメソッドは、air-h-128k-il 氏が付加したものなので、それにあれこれ言うのは失礼」

「コメントは、このソフトがこの後どのように動作するかを簡潔に示したもので、どちらかといえば後で読む人のことを考えて付け加えた教育的・説明的なもの。
ここでコーディングの技量を推し量るというのが、意味わからん」

ちなみにコメントというのは以下の箇所のコメントのこと。

public static void main(String[] args) {
        //Dolphin.getInstance().start(args.length==1 ? args[0] : "i18n");
        Dolphin.getInstance().start(args.length==1 ? args[0] : "dolphin");
        //? 式1:式2は三項演算子。なお、args.length は配列の要素数。
        //引数の要素が1だった場合は args[0] でスタート。そうでなければ i18n でスタート。
        //windows環境ではダブルクリックして使いたいので i18n を pro に変更。
        //pro? dolphin? どっち?
    }

三項演算子は、プロの間でも「読みにくい」・「直感に反する」と取捨選択が取り沙汰されるほどなんだが?
(『三項演算子は仕事で使うべきではない』など)
2.7m 開発時に猪股弘明氏がドルフィンクライアントの「起動モード」の役割について明らかにしてくれたおかげで、当時最新の 2.7 系がストレスなく使えるようになったんだが?
(改変前のままビルドして起動すると、クライアントは評価モードで立ち上がり、すぐにログインできない。正直、使えない)

この成果は増田茂も「バックポートした」と称する彼のドルフィンで使っている。

2018622 の該当箇所。既に公開されていた 2.7m からコメントを削除して使用。

にもかかわらず、彼は「プロの仕事ではない」と頓珍漢なコメントをしている。
おまけに Junzo SATO 氏に対する言及は一切なし。
あり得ないと思う。

に続く)

いるかの怪文書

怪文書騒動

先日、X の dolphorca 界隈がさる怪文書でプチ盛り上がりをみせた。
こんな感じ

怪文書だけ取り出すとこうなる。

これが何か関係者以外正確にはわからなかったと思うが、簡単に説明すると増田茂という医師が自身の運営するクリニックホームページ(HP)に掲載したページのスクリーンショットだ。
なんでプログラミングに関係すると思われる文書がクリニックHPにアップされていたのか不思議に思う人もいると思う。
が、安心して欲しい。
われわれがこれを見つけたときもまるっきり同様の感想を持った(笑)。

背景事情に関しては、こちらの記事などを参考にしてほしい。
以前にも「増田茂は医療広告規制ガイドラインで厚労省から行政指導を受けており・・」などと言っていたのはこのページのことだ。
保険診療所は、ネット上での広報活動に関してガイドラインが決められており、原則、診療とは無関係なものは掲載できない。
もちろん、このページはガイドラインの規定を大きく逸脱しており、発見したときは、当局に報告し、当局経由で速やかに削除してもらった。

だから、この怪文書を再び見せられるまで、存在自体忘れていた。
それですんでいれば、この話は終わっていた・・・と思うのだが、実際にはそうでなかったらしく、いかがわしげなサイトにその痕跡がかなりはっきり記録されていたという次第だ。

反論

ページが複製されて残っている以上、閲覧した人におかしな解釈されても困るので内容に関して触れておこう。

内容はその当時ソースコードを公開していた OpenOcean という電子カルテに対する彼からの批判のようなものだ。

OpenDolphin-2.7 → OpenDolphin-2.7m → OpenOcean

の順でフォークされている。
彼は彼で、「増田ファクト」と言われていた OpenDolphin-2.2 ベースのカスタマイズバージョン 2.3m を配布していた。彼が OpenOcean に執着した理由は、彼が OpenOcean を自分のバージョンのフォークだと認識していたからだと思われるが、このフォーク順の認識は間違っている(『ソースコード嫁』参照)。

ファイルバックアップシステム

まず、われわれが実装したファイルバックアップシステムというものを彼は気に入らないらしい。
ファイルバックアップシステムというのは、カルテの記載を確定したときに使用端末の適当なフォルダにその内容をプレーンテキストファイルの形で書き出すという機能だ。

彼が切り取った実際のコードはこうだ。

KarteStyledDocument soadoc = (KarteStyledDocument)soaPane.getTextPane().getDocument();
int nleft = soadoc.getLength();
Segment stext = new Segment();
int offs = 0;
stext.setPartialReturn(true);
StringBuilder sb = new StringBuilder();
String Separator=System.getProperty("line.separator");
sb.append(""+ Separator);
while (nleft > 0) {
soadoc.getText(offs, nleft, stext);
sb.append(stext.toString()); sb.append(Separator);
  nleft -= stext.count;
  offs += stext.count;
}

彼はこの部分に関して「JTextPane からテキストだけを抽出するなら getText() で可能だ」という指摘をするのだが、これがなんと言っていいやら・・・。

「JTextPane からテキストだけを抽出するなら getText() で可能」というのは、これだけを取ると正しいのだが、そもそもここで目指していたのはそういうことではない。

というのは、このコードは、データ移行ツールと呼んでいたものからの流用だからだ。
データ移行ツールは、dolphin/ocean とは独立したアプリで以下のような動作をする。

左が dolphin クライアントのカルテ画面、右はそのカルテ情報を移行ツールを使ってデータベースから直接復号して画像とテキストに分離して表示したものだ。
見ればわかるように、画像を埋め込んだ位置に <Image: schemaHolder 0> というタグを表示させている。
だから、上で掲げたコードもちょっとした修正を加えれば、このタグを表示する程度のことはできる。
ファイルバックアップシステムでは、凝った表示をさせるよりは最低限のプレーンテキストを書き出すことを目標としたが、画像が含まれていたかどうか?含まれていたとすればどこに表示されていたのか?くらいの情報を盛り込むのはあってもいいと思い、将来的な拡張を視野に入れてこういう書き方になっている。

また、コードを見ればわかり通り、getText(int, int, int) を作用させたのは KarteStyledDocument という独自クラスのインスタンス soadoc であって、JTextPane もしくはその継承クラスではない。
仮にもしここで getText() を使うのであれば(ちなみに getText() と getText(int, int, int) は似ているが全くの別物)、JTextPane のインスタンスを取得する必要がある。
その手間や拡張性を考えたら、書式情報を最後まで保持できてなおかつ動作実績のあるこの書き方でいいと考えたわけだ。

ある機能を実装するのにどのような書き方をするかは書いた人(たち)の自由ではないか?と思う人もいるかと思う。
私たちもそう思う。

このとき彼はネット上でたびたび出現する「正義の人」になっていたのだろう。
迷惑な話だ。

その2に続く)