Journal of Computer Chemistry, Japan
Online ISSN : 1347-3824
Print ISSN : 1347-1767
ISSN-L : 1347-1767
Contribution in Memoriam
Winmostar and Its Thought Left behind by SENDA-san
Ryota KOGARyuji SAKAMAKI
Author information
JOURNAL FREE ACCESS FULL-TEXT HTML

2022 Volume 21 Issue 3 Pages A18-A21

Details
Abstract
Translated Abstract

弊社(株式会社クロスアビリティ(http://x-ability.co.jp/))千田範夫顧問(以下,千田顧問とします)の突然の訃報は,2021年9月22日に私が湘南のショートゴルフ場(大磯ゴルフ)で練習プレイしている最中の昼過ぎでした.

数年前に番号登録済みだった長女から電話が突然かかってきて,?と思い電話をとったら,今朝父親がなくなったので今後の手続き等について相談したいので母親に代わるということを告げられ,あっけにとられてる間に奥様がそのまま出られて,今後の手続きについてやりとりできるように私の番号を登録しといてください,ということになり奥様の番号を登録しました.死因を聞いたらPCの前で肺炎で亡くなったとのことで,普通にいつもどおりPCの前で何か作業しているのを確認してから次に見た3時間後までの間にさほど苦しまずに亡くなったようであると冷静に淡々と答えられました.その場の電話はそれだけで終わったのですが,ゴルフは即切り上げて悲しむ暇もなく社長としての事務仕事に即とりかかりました.

まず頭に浮かんだのは退職金支払,株式買取,会社の資産(Winmostarのコード,データ等)の把握および回収です.冷たい感じがするかもしれませんが,当事者は淡々とできるものです.

弊社は完全テレワークを2020年4月1日から導入していたのもあり(以前から東京近郊の方以外はテレワークでしたのでスムーズ移行できました),千田顧問は本郷オフィスには全く来ていなかったのですが,コロナ中に抗がん剤治療(肺がん)で体力がだいぶなくなったと伺っていたので,世間的にも体力的にも会いづらい中,何か起こることも想定して千葉のご自宅でソーシャルディスタンスを十分にとった上で2回ほど会って,何かあったときの対応について事前にコミュニケーションをとっていたのが淡々と進められた主因ではありました.会った時は元気がなくて,ビールだけ飲んで笑っていたコロナ直前の頃とは大きく変わっており,長くはないなとは思っていたので,通常話しにくい話もスムーズに進みました.

退職金と株式買取についてはまず税理士に確認し,正式役員に就任した2014年6月からの役員相当での退職金を即決定し即奥様に連絡しました.出光と合わせて2度退職金を受け取れる人は少ないですよね~という話をしながら,9月の顧問報酬の日割り+退職金を10月の給料日に支払いました.

資産についてですが,まずはPCの中身の確認のために奥様と調整して,千葉の千田顧問宅に同僚の坂牧と一緒に訪問しました.亡くなられてからしばらくはゴタゴタしているので四十九日過ぎてからよろしくお願いします,ということで11月10日に最後の源泉徴収票を持って千田顧問宅に伺いました.

最初にお線香をあげてから作業にとりかかりました.PCは亡くなった状態でログイン済のまま触らず開いているということでしたが,予想通り自動ロックがかかっており,Windowsのパスワード解読が最初の課題になりました.生前一緒に仕事した範囲で自分の把握している分と奥様にその他の判明しているパスワード候補を伺いながら数通り打ちこんで何とかログインすることができ,持ち運び用の小さいPCも同様のパスワードで入れました.

次に,2台ともにWinmostarのコードを探して削除するのと,コンパイラ(Delphi等)のライセンスをdeactivateする,という作業を行ったのですが,他,奥様の要望もあり,千田顧問がインターネット上に展開していた様々なデジタルデータ(アカウント,その他)を把握しようということになりました.千田顧問が頻用していたwinmostar@gmail.com (削除済)にほぼすべての情報があるはずだ,という直観が働き,何とか探り当ててGmailを見ることができるようになりました.

千田顧問は年齢の割には先進的で,Gmailの監視でSNSのアカウント(Facebook, Instagram, Youtube, Twitter),ECサイト(楽天,Yahoo,メルカリ),モバイルSIM関連,ネット銀行,仮想通貨(bitFlyer等)などデジタル遺産が大量にあったので,PIN番号も必要ということで千田顧問のスマホをお借りし,こちらは3カ月ほどかけて精査し,何か見つかるたびに奥様に電話して伝えていました.SNSアカウントやECサイトは奥様の意向で全部閉鎖しポイントはもらってくれというので(計数万円相当)ありがたく頂戴しましたが,仮想通貨を日本円にしてネット銀行に振り込んだ時はそれなりの金額だったので,奥様から半分差し上げますとかいわれましたが丁重にお断りました.他人だったらもらっただろうな~と思うとデジタル遺品整理はでかいビジネスだと個人的に思いクロスアビリティが破綻したらやろうかとも思いましたけどね(笑)

千田顧問との出会いに時を戻します.

過去メールを検索していたら,2009年2月20日10時に最初の出会いがあったようです.

まだ会社立ち上げて試行錯誤フェーズのときにGAMESS講習会というのをやっていたのですが,そこでWinmostarを勝手に使っていたら以下のような問い合わせが来ました.

----

古賀様ご利用ありがとうございます.Winmostarの作者の千田です.GAMESSトレーニングサービスのページを拝見しました.Winmostarを利用されていることで,非常に興味を持ちました.(Winmost"er"ではありません)Winmostarは日々更新を続けています.ご興味があれば,一度Winmostarの裏技,新機能,開発予定等について,ご説明に伺います.ご連絡をお待ちしています.http://winmostar.com/

----

怒られるのかな~と想像し,ウェブ上の情報から高齢者で扱いが大変そうだからオフィス兼自宅にお越しいただいて丁重にもてなして正式許可を得て帰ってもらう予定だったと記憶していますが,ざっくばらんに話してたら偉そうじゃないし用語も共通でバイブスもあったし,お互いの利益が補完関係にあったし,お互いビールが好きだったのでひたすら飲んで即その後のコラボレーションがスムーズに始まりました.一緒に何かやろうよ!という話はちょくちょくありますが,話だけで終わることなくその後亡くなられるまでずっと続くことになりました.

最初2年間ほど有償版WinmostarはTencube/WMという名前で株式会社テンキューブ研究所から販売しており,クロスアビリティとしては不具合報告や営業協力,各種計算化学コミュニティへの参加(CAMM,新化協・現JACI,等)に加えて,3.11の直後に京都に避難していた際に当時京大薬学部の教授だった北浦和夫先生の研究室に通いつめて書いたGPGPU化した高速なFMOの計算化学プラットフォームを開発するという申請書がJSTのA-STEPに通過して800万円弱の開発費を得た際にテンキューブ研究所に外注してWinmostarのタンパク系表示機能を強化するなど,本質的な協力もありました.以前から名古屋大学の安田耕二先生と共同開発していたGPGPU対応した高速な量子化学プログラムのベースがあったから北浦先生とのA-STEPを試みたわけで,全てはつながっていくものだなと思います.その際にMDやバイオ系も取り扱った経緯から,量子化学だけでなく計算化学全般を取り扱うソフトに発展させようと意見が一致し,ソースコードや顧客・ユーザリストを共有し一緒に開発・販売をしようということになり,それならばいっそのこと会社も統一しましょうということで株式会社テンキューブ研究所を休眠してもらい(その際には色々とゴタゴタがありましたが喧嘩にならないように千田顧問が我慢したということになっています,,,)2012年10月より正式に株式会社クロスアビリティよりWinmostarの開発・販売となりました.共同創業者の古川が天才だったので,千田顧問のレガシースタイルのコードを解読してベース部分をオブジェクト指向に短時間で書き換えてしまったので,その後弊社に来たディベロッパーと共同開発体制を構築することができたという経緯もあります.

某競合企業社長から聞いた,最初はクロスアビリティの古賀が善良な千田顧問をだまして売るだけだと思っていたが開発までも共有しているのを知って見直した,などという後日談もありましたが,千田顧問にとってありがたかったのはアカデミック版を有償化して嫌われる役を古賀に押し付けることができたということだったそうです(笑)

計算化学全般に拡張というのは,具体的には分子動力学(MD)と固体物理計算(Solid)のインターフェースを作ることです.MDの方はMDで博士号を取得していた当時いた顧問主導で初期のインターフェースは開発しましたが,Solidの方は当時大学院浪人していたアルバイトに空間群拡張のテーマを与えてプロトタイピングしてもらってました.Solidは私の指導教官だった北條先生(現・東大教授)が開発されていたZ-builderという研究室内ツールにインスパイアされて開発を始めたものであり,アルバイトは北條先生からの紹介だったので違和感なく進みました.2人とも現在は他で活躍しており,MDとSolidの現コードは別の人間によって大幅に書き換わっております.

無償版で世界中に配布していた千田顧問の精神はそのままに,アカデミックはリーズナブルに,民間や官公庁にはチャージする,という思想で現在も継続しています.

最後に,千田顧問が第二の人生をつぎ込んだWinmostarそのものについて説明します.

Winmostarは元々千田顧問によりMOPACプログラムの入力ファイルエディタとして開発され,2001年にフリーソフトとして公開されました.Winmostar開発以前の千田顧問はプログラム開発や,このWinmostarの最初のリリース前後の状況については千田顧問の記事が参考になります.2008年には千田顧問が設立した会社であるテンキューブ研究所から商用版のWinmostarの販売が開始されるのですが,千田顧問は引き続き誰でも無償で使えるバージョンや学生が無償で使えるバージョンをリリースし続けました.千田顧問が無償で使えるバージョンをリリースし続けた理由には,千田顧問が日本化学プログラム交換機構の時代から国内の計算化学コミュニティ内で無料で公開されていたプログラムの恩恵を受けていたことが関係しているかもしれません.また,無償で使えるバージョンをリリースすることによりユーザからの不具合報告や機能の要望が得られるのは大きなメリットで,このスタンスは2022年現在も継続しています.千田顧問が「学生からの多少失礼な連絡も無碍にせず対応しておくと,たまに重要な不具合報告をくれることがある」と言っていたことが思い出されます.ただ,ある程度ソフトウェアの規模が大きくなってからいきなり無償で公開すると,不具合報告の対応だけに追われたり,公開時点でのクオリティによってはユーザから幻滅されるので,初期の頃から公開し続けたのは良い選択だったと考えています.

2012年のWinmostar V4とほぼ同時に,Winmostarの開発,販売,サポートをクロスアビリティに移管しました.2012 年あたまぐらいにクロスアビリティ で Winmostar の開発を開始し,フォーム以外の関数は全部一つのクラスという状態からのリファクタリング, バージョン管理システム (SVN) の導入,ユーザ掲示板から問い合わせフォームへの移行,などを最初に進めました.

先に書いた北浦先生とのJST A-STEPでGromacsに対応し,LAMMPS対応実装はポリマービルダとしてその後リリースされることになる某社様からの委託開発(知財は弊社)から始まりました.2009年6月から参加いただいた毛利顧問の協力もあり,量子化学系の機能についてはWinmostarの開発当初より基本的には各プログラム(ソルバ)の入力ファイル作成手順を熟知しているハイエンドユーザ層をターゲットにした設計となっていました.

具体的には,Z-MatrixおよびXYZ座標についてはグラフィカルに入力・編集できるようにし,計算キーワードは直接ユーザが指定する,というものでした.この設計は元々MOPAC,GAMESS,Gaussianの入力ファイルを自力で作成できる人にはメリットしかないので,当初はそのようなハイエンドユーザ層にWinmostarが浸透したと考えています.しかし,製品の普及を考えると,各ソルバの入力ファイル作成手順を熟知していないエントリーユーザ層へのアプローチを考える必要がありました.そこで,千田顧問がEasy Setupという代表的な設定項目のみを切り出した機能を作成し,2015年10月にWinmostar V6と共にリリースしました.ただし,基本的にはハイエンドユーザ層をターゲットにしていたため,Easy SetupはGUI上で深い階層に設置されました.これは,詳細部分を知らずにシミュレーションを行うと結果的に後処理において困ることになるので,まずはWinmostarがハイエンドユーザ層にとって使い勝手のよいものでありたい,との千田顧問の思いによるものだと推測します.なお,最新版のWinmostar V11では千田顧問の思想も引き継ぎつつエントリーユーザ層にもさらに使い勝手がよくなるよう,GUI上の浅い階層に代表的な設定項目のみを置きつつ,1層下ではハイエンドユーザでも満足のいくよう詳細設定を調整できるようにしています.そのような設計の根本的な変更はクロスアビリティの千田顧問以外のメンバーで実装しました.実装は,千田顧問のコードの自動テストコードの作成,リファクタリング,設計の変更,という流れで実行されました.実装作業やプログラム規模も徐々に大掛かりになったので,Redmine,Jenkins,Githubなどの近年のプログラム開発では標準的に使われるCIツールもその過程で導入され効率化されました.クロスアビリティに開発を移管する前のコードは現在も残っていますが,このような実装の過程で大部分は書き換えられ,現在は一部のモデリング・結果解析部分のコードを残すのみとなっています.千田顧問の最晩年における開発作業は,それらのコードのメンテナンスや完全に新作のコードの開発が主体となっていました.若手が書き換えた部分についても文句を言わず柔軟に対応頂いたのが印象的でした.高田純次の「歳とってやっちゃいけないことは説教と昔話と自慢話」という言葉が好きだったようで,それを実践しているように感じられました(Fig. 1).Winmostarの全体的な設計は,量子化学系のソルバに対してはロバストかつ使い勝手の良いものとなっていました.具体的には,ソルバの入力ファイルと出力ファイルが1つずつしかなく,入力ファイルはキーワードと座標から構成される,という場合に特化した設計になっていました.この場合,どちらかと言うとWinmostarは個々の入出力ファイルのエディタ・ビューワという役割を持ち,計算の実行やファイルそのものの管理はユーザ自身が行う必要があります.量子化学系のソルバではこの設計はあまり問題にならないのですが,量子化学系のソルバでも多数の計算をハンドリングするケースや,入出力ファイルが複数に跨る分子動力学系,第一原理計算系のソルバの時に不都合が生じます.千田顧問は量子化学計算以外専門にしていなかったため,分子動力学系,第一原理計算系の機能については千田顧問以外のメンバーで開発しましたが,分子動力学,第一原理計算については,2012年10月のWinmostar V4でのGromacs対応,2014年10月のWinmostar V5でのLAMMPS対応,2016年4月のWinmostar V6でのQuantum ESPRESSO対応などを経て,最新のWinmostar V11のプロジェクトモードでは全体の設計を見直し完全な形で複数の入出力ファイルを自動で管理できるようになりました.

Figure 1.

 SENDA-san (right) and author. A piece from the 10th anniversary of X-Ability (15th January

教訓ですが,想像を絶するような根気のいるリファクタリングができなければシニア世代のプログラム引き継ぎは難しいです.一見無意味に見えるコードが,本当に意味がない場合もあれば,重要なこともあります.古いコードを単純に枝刈りしながら新しくしていくのは簡単ですが,それでは既存のユーザを切り捨てることになるわけで,我々は一部泣く泣く切ったコードもありますが基本的には残すようにしています.

千田顧問の追悼記事は以上となります.

後半は細かい話になってしまいましたが,最後まで読んでいただきましてありがとうございました.

 
© 2022 Society of Computer Chemistry, Japan
feedback
Top