医師がオープンソースソフトウェアを開発する合理的な理由
医師としての本業がありながら、ソフトウェアを作るのにはいろいろな理由があると思うが、それをオープンソースソフトウェアとすることは他の選択肢をはるかに上回るメリットがある。
EUCに関するツールがいくらでも公開されており、オープンソースソフトウェアで簡便なソフトウェア開発フレームワークが公開されている今、自分のためのソフトウェアを作成することはそう難しいことではない。大学あるいは高校の教程としてソフトウェアを作ることを学んだ経験を持つものも多いだろう。しかしながら、本業が忙しい中でさらに手間のかかることをやろうとするからには、それなりの理由をみんな抱えている。
- 既存のソフトウェアへの不満とその解決
- 知的好奇心
- 大学院等での研究活動の一環として
多くはこの3つであろう。現在の「電子カルテ」は問題解決へのモチベーションを十分に与えてくれるものであり、古くはLHAの吉崎栄泰先生の例もある。趣味の一環として、他の分野の新しい技術を吸収していくことは大きな満足に繋がるし、研究の分野では既存のソフトウェアでは解決しないものを作ることもある。
満足の行くソフトウェアができると、次にそれを誰かに見せたくなったり使ってもらいたくなる。それが心血を注いだものであればあるほどそう。しかし、ソフトウェアを公開するにあたっては、いろんな懸念もつきまとう。そう。配布先からのクレーム対応を含めたメンテナンスだ。
貴重な自分の時間を使って作ったソフトウェアが他の人の役に立つのはたいへんいいことだけど、他人のために自分の時間を使ったわけではない。ダイナミクスやWine styleのように、商用化するというのは経済上大きな成功にもつながりうるけれども、そこまで望んでいるわけでもない。
多くの医師はここでとどまっている。実際私もそうだった。なんといっても、正規のプログラミング教育を受けたわけでもない我流のこ汚いソースを公開するということに恐怖すらしていた。しかしながら、それは杞憂だった。ソースを読まれてコメントをもらうことなど、ほとんどない。他のオープンソースソフトウェアのソースコードもまた、我流の塊であったりするので、自分だけがどうこうということもないということもわかった。何より、「ソースコード公開していますので、必要なら手直ししてください」という理由で気に入らないサポート要求をはねのけることができるのは大きなメリットである。不思議なもので、1円でもお金を払ったものに対しては人間はうるさくクレームを入れたがるが、ただで拾ったものにケチをつける人はそういない。適当に放置してたら、バグ直してくれたうえに、メンテナンスを引き継いでもらったこともある。おかげで、自分の興味の向く新しい方向に踏み出すことができた。
ソースコードを公開するのはいいが自分が心血注いだソフトウェアがパクられて勝手に商売されるのは気に入らないと思う人もいるだろう。そういう場合は「ライセンスはGPL」とドキュメントに書いておけば「魔除け」になる。もし、GPL違反を見つけたら、twitterなりblogなり、2chなり/.なりにたれこめば血の気の多い連中が必ず祭りにしてくれる。
公開の仕方がよくわからないという人もいるだろう。しかし、そう悩む必要もない。必要なのはソースコードとバイナリと、簡単な使い方を書いた文書だ。文書を用意するのが面倒ならREADMEという名前をつけたファイルに適当に書きなぐっておけばいい。インストーラーなんてなくていい。あなたの著作権を守り、公正な手段でソースコードが利用されるためにCOPYINGというファイルに、適当なオープンソースソフトウェアライセンスを選んで、コピペしておくことだけは忘れてはいけない。どれを選んでいいかわからない場合はGPLを推奨する。後で気に入らなくなったら、変えればいい。自分の著作物であるから遠慮はいらない。他人の著作物が交じる場合にはその作者に一度相談しておくことをおすすめする。間違っても、患者データの入った本番データを公開する事のないように開発環境と運用環境は切り分けておくことも重要である。
オープンソースソフトウェアを公開するサイトはいくらでもある。SourceForge.netや、Microsoftのcodeplex、最近ではGitHubがおすすめだ。迷ったら公開。
医療オープンソースソフトウェア協議会代表 小林 慎治