2025年3月13日
フリーソフト「A5:SQL Mk-2」 開発者
松原 正和
1972年富山県生まれ。工場向けシステム開発やSESを経て、2020年より位置情報システム会社に参画。個人としては、1997年にSQLクライアント「A5:SQL Mk-2」の開発を開始。以来、約28年間にわたり改良と保守を続ける。ソフトの初期名は「あまのいわと5 IMPERIAL GODDESS II」。SF漫画『ファイブスター物語』の主人公名が由来。その後「あまのいわと5」を省略したA5に、旧日本軍の九六式艦上戦闘機の別名「A5M」とアニメ『重戦機エルガイム』の登場メカ「エルガイムMk-II」を組み合わせ、現名称に。
「A5:SQL Mk-2」公式サイト
X
「A5:SQL Mk-2」というSQLクライアントがあります。1997年に開発が始まり、個人開発のフリーソフトながらMySQLをはじめ多くの主要データベースに対応し、SQL実行と編集にER図作成など多岐にわたる機能を備えているツールです。近ごろは「ChatGPT」「Gemini」など各種LLMとの連携に対応し、SQLの構文エラーの発見や、最適なクエリの提案をしてくれるAIアシスタント機能を実装しました。
開発者は、システムエンジニアやソフトウェアエンジニアとして30年以上活動している松原正和さん。SIer企業などの開発現場で培ってきた経験とノウハウを、「A5:SQL Mk-2」の開発に生かしてきました。
これほど長い間、どんな思いでこのフリーソフトを開発し続けてきたのでしょうか? 「『データベース開発の全て』をカバーしたい」と語る松原さんに、A5:SQL Mk-2と歩んできた28年の歴史と、開発にかける情熱についてお聞きしました。
――本日はよろしくお願いいたします。「A5:SQL Mk-2」は、何を目指しているソフトウェアなのでしょうか。設計思想をお教えください。
松原:コンセプトは、データベース開発に関わる「全て」です。データベースをめぐる、あらゆるニーズをカバーできるようなソフトウェアを目指しています。
――データベース開発に関わる全て、ですか?
松原:はい。
そもそもの大目標として、私は少しでも多くの人々に「A5:SQL Mk-2」を使ってほしいと考えています。個人でSQLを書くユーザーはそう多くないので、メインターゲットは企業に勤めるエンジニアです。
多くのエンジニアに使ってもらうには、当然、SQLクライアントとしての使い勝手を高める必要があります。しかし「誰にとっても良いSQLツール」を目指すのは、現実的には不可能です。
なにせ、SQLに関わる人々の間には、SQL文を書くプログラマ、データベースを作成・修正する管理者、データ分析担当者やテスター職など、いろいろな役割があります。開発環境もスタイルも、必要な機能もバラバラなため、何をもって「使い勝手が良い」と感じるかは人それぞれで異なるはず。
「ならば、データベース開発に関わる『全て』の機能を開発していこう」と、私は考えました。本当に「全て」を網羅できれば、どんな人にだって、ひとつくらいはいずれかの機能を「便利だ」と思ってもらえるかもしれない。
もちろん、個人が趣味で開発しているソフトのため、今のところはそれを十分に実現できているとはいえません。例えば、「PostgreSQL」や「Microsoft SQL Server」など、個々のデータベースに特化した管理ツールの固有機能に比べると、ユーザー管理やパフォーマンス監視といった管理機能において及ばない部分があるのは否めません。
それでも、目標としては常に、「全て」をカバーできるソフトを目指してきました。
――そうした意図で、さまざまな機能を実装し続けてきたのですね。
松原:はい。しかし現実は厳しいものです。「A5:SQL Mk-2」は、2003年にネット上で一般公開したのですが、数年の間はその名が広がる気配はなく、誰にも使ってもらえませんでした。
このこと自体は、「いずれは自然に名前が広がればいいか」と考え、あまり気にしてはいませんでした。しかし、知名度の低さは、異なる問題につながりました。「自分の業務で『A5:SQL Mk-2』を使いたくなっても、使えない」のです。
当時の私はSES企業に所属し、さまざまなSIerに客先常駐のシステムエンジニアとして派遣されていて、SQLを記述してデータベースを操作する機会も多々ありました。当然、使い方を熟知している自作ツールで業務にあたれれば楽なので、業務で「A5:SQL Mk-2」を使いたいと考えました。
しかし、多くの企業では、社員が使えるソフトをあらかじめ指定していますよね。素性の知れないフリーソフトを、自由に使えるような環境は限られています。なので、無名ソフトだった「A5:SQL Mk-2」には、使用許可の下りないことが多かったのです。
――難しい状況ですが、「A5:SQL Mk-2」の名を広めるために、松原さんは何をしましたか?
松原:まず、派遣先が変わるたび、必ず相手企業に「実はこんなツールをつくっています。仕事で使ってもいいですか? いいですよね?」とプレゼンし、運よく許可が下りた数少ない現場で「A5:SQL Mk-2」を使い倒すようにしました。地道ですが、少しずつ、着実に名を広められる手段ではありました。
松原:そして、現場での実運用を通して、「A5:SQL Mk-2」に改良を重ねることにしました。単純に、「開発現場におけるニーズを汲んでより実用的なソフトにできれば、他の人たちも使ってくれるだろう」と考えたのです。
一例を挙げると、SIerの現場では、SQLのSELECT文の実行結果をExcelにペタペタと貼りつけ、正常動作のエビデンスとして残す作業が頻繁に行われます。しかし1件1件コピー&ペーストを繰り返すのは、非常に面倒です。そこで、「A5:SQL Mk-2」には「複数のSQLを実行し、その結果をまとめてExcelに貼り付ける」機能を実装し、ワンクリックで実行できるようにしました。また、2000年後半からはAWSの普及に伴い、オンプレミスが主流だった時代と比べて、データベースのホスト名がとても長くなるケースが増えました。それに合わせ、「A5:SQL Mk-2」によるデータベースへの接続時に、ホスト名を入力するフォームのサイズを大幅に拡張する、など。
こうした些細な仕様も含め、実務で新たな問題に遭遇するたびに何度も改善を行ってきました。結果的に、SIerの現場とは特に相性が良いソフトになっているかと思います。
――ER図作成やAIアシスタントといった目玉機能の裏には、開発現場での運用を踏まえた実直な改善がいくつも重ねられているのですね。
松原:そのつもりで、開発に取り組んできました。
そうして、2000年代半ばからでしょうか。新たに赴任した先でいつも通り「実は、こういうツールをつくっているんですけど」とプレゼンをすると、「あなたが『A5:SQL Mk-2』の作者だったんですか!」などと驚かれることが、少しずつ増えてきたんです。最初に、派遣先に認知されていると知った時は、飛び上がるほどうれしかったのを覚えています。
同時期から、Web上では個人ブログなどで「A5:SQL Mk-2」の技術記事を目にするようにもなりました。草の根的な活動が実ってか、知名度が広がったのを実感したものです。
――「多くの人に使ってもらうこと」を最大の目的として、「A5:SQL Mk-2」を開発してきたとのことでした。では、どのような経緯で開発を始めたのでしょうか。
松原:もともと、社内向けツールとして開発したのが発端です。
1997年、新卒3年目のこと。私は地元・富山県をはじめ、全国に工場を抱える化学メーカーのシステム開発部門で、生産管理システムの開発・運用に携わっていました。当時、工場ごとにバラバラだったシステムを統合し、2000年問題(※1)に対応させるという開発プロジェクトが立ち上がり、てんやわんやの状態でした。
かなり大規模な開発だったため、外部のソフトハウス企業にも協力をいただいていたのですが、その中のある会社のメンバーがVisual BasicによりGUIで動作するSQLの実行ソフトを個人開発し、プロジェクト内で使用していました。使い勝手に手応えを感じたのか、ビジネスチャンスだと考えたのか、ある日、その開発者は「いずれはこのSQLツールをシェアウェアとして販売したい」と語っていた。
確かにGUIベースのSQLクライアントというのは当時、珍しい存在でしたが、そのツールの機能はかなり限定的なものでした。それを売り出すという方針を聞いた私は、なぜか「がんばれば、自分にだってこれぐらいのツールはつくれそうだぞ? そちらがいずれ有料化するなら、こっちはフリーソフトとして開発して社内で使ってもらおう」と対抗心を燃やしたんですよ。
いわば、技術者としての功名心でした。無料で便利なものをつくり、賞賛されてみたい…という願望が湧いたんです。
このようにして、社内向けソフトとして開発・導入を行いました。その後、SESへの転職時、より多くの人に使ってもらいたいと考えて、2003年にネット上で一般公開したというのが経緯の大筋です。
(※1)2000年問題:西暦の年を下2桁で管理していたコンピュータシステムが、2000年に入ると年月日を正しく認識できなくなり、各地でさまざまなシステム障害が発生する可能性が懸念された年問題。
――若い頃の「功名心」が出発点となり、無料で開発を続けてきたのですね。
松原:しかし私はその判断を、後に少し悔やむことになります。
実をいうと、「A5:SQL Mk-2」の開発には、「Delphi」という有料の開発環境を用いており、毎年6~7万円のライセンス料がかかっています。その他有料の関連ライブラリも含めて、開発費用は年間十数万円が必要です。
決して少ない額ではありません。でも工場時代の私は、独身で実家暮らしという環境だったため、金銭的に何かに追われる心配がなく、生活に一定の余裕があった。なので、収益度外視の無料ソフトとして開発する判断を下せたし、ライセンス料も「功名心」のための必要経費と捉えることができました。
しかし、2010年に結婚を経て、子どもが生まれた瞬間、状況は一変しました。子育てにかかる費用というのは、実に青天井ですよね。しかも、授かったのが双子だったため、家族がいきなり2人増えて、家計は一気に苦しくなりました。
あらゆる出費を切り詰めてやりくりする中、趣味のソフトウェア開発では、ライセンス料ばかりがかさんだ。この状況に、「あの時、シェアウェアとして開発していれば…」と苦悶することがありました。少しでも負担を軽くするために、「A5:SQL Mk-2」公式サイト上に広告を導入したり、寄付を募ったりもしましたが、焼け石に水でしたね。
――でも結局、有料化には踏み切らなかったのですよね?
松原:そうですね。理由は、いくつかあります。
まず、何名かから既に寄付をいただいている、というのは悩ましい点でした。仮にシェアウェア化となった場合、この方々には追加料金無しでお使いいただくのが道理かと思います。しかし、私は、プライバシー保護の観点から、寄付時に取得した個人情報を一切、手元に残していないため、どなたが寄付してくださったかを正確に判別できないのです。
次に、私にはお金稼ぎの才能が全くありません。シェアウェアやサブスクリプションなど含めて、適切な販売形態や価格設定を模索したり、思わず課金したくなるような有料版限定機能を考案したりして、大きな収益を生める自信がない。
そして、有料化を見送った最大の理由は、「きっとユーザーが激減する」からです。
「A5:SQL Mk-2」は、「無料だから」こそ現場に立つエンジニアの皆さんに使ってもらえているのだと、私は思っています。
SESでの経験上、無料のソフトウェアは比較的簡単に現場で使えましたが、有料となると話は別です。厳格な稟議が必要になったり、セキュリティチェックが厳しくなったりと、導入ハードルは一気に上がります。「A5:SQL Mk-2」を有料化した場合、現在の利用ユーザー全体の1%でも残れば良い方ではないでしょうか。
多くの方に役立ててもらおうと開発を続けてきたのに、下手に有料化に手を出し、誰にも使ってもらえなくなるようでは、元も子もない。
松原:そうなるぐらいならば、と。
大げさな表現ですが、「俺の小遣いで日本のIT業界を支えるぜ!」という意気込みで、趣味として楽しく開発を続ける方が良いと割り切ったんですよ。
赤字とはいえ、そもそもどんな趣味でも普通は一定のお金がかかるものですしね。むしろ、年間十数万円で済む趣味なら、安い方かもしれません。
――そうした葛藤を乗り越えて、フリーソフトでの提供を続けてきたのですね。
松原:はい。
そうして開発を続けていると、2022年に転機が訪れました。ODBCドライバー(※2)を開発・販売しているCData Softwareさんという企業から「スポンサーになりたい」とお話をいただいたのです。「A5:SQL Mk-2」はODBCドライバーに対応しており、ユーザー基盤が類似していることから、自社製品の認知を広げるのに絶好の場だと判断されたようです。
自分のつくったものがこのように評価されるというのは、本当に嬉しいものですね。おかげさまで、開発収支はプラスに転じました。Delphiなどの各種ライセンス料を支払ってもお釣りが残るようになったので、余剰分はありがたく、私のお小遣いとさせていただいております(笑)。
(※2)ODBCドライバー:アプリケーションが様々なデータベースシステムにアクセスするために用いるODBC(Open Database Connectivity)という標準インターフェースを通じて、特定のデータベースとの接続を可能にするソフトウェアコンポーネント。
――「A5:SQL Mk-2」の開発が2022年に黒字に転じるまで、1997年から数えると25年。そして、2025年現在で、28年が経とうとしています。なぜ、ここまで長い間モチベーションを維持して開発を継続できているのでしょうか。
松原:シンプルな答えになってしまうのですが、恐らく「そういう性格だから」です。いちど「これ、いいな」と思うと、何年も同じことを続けるタイプなんです。
例えば、家族にリクエストされて調理したカプレーゼのおいしさに自分でハマり、約3年間、ほぼ毎日食べ続けているとか。我が子にせがまれて買ったゲーム『スプラトゥーン3』に私の方が凝るようになり、子どもがとっくに飽きた後も、毎晩のようにオンライン対戦に臨んでいる、とか。
とはいえ、今まででいちばん長く続いているマイブームは、やはり「A5:SQL Mk-2」の開発です。このソフトは、私にとってもはや人生そのものです。
なので、開発モチベーションも特に何かを意識して能動的に保っているわけではありません。「あのバグを修正してから寝ないと気持ち悪いな」という具合に、自然と湧き上がってきます。
――完全に、松原さんにとってのライフワークなのですね。では、今後の目標をお教えください。
松原:「データベース開発に関する全て」を目指すのもそうですが、実は「A5:SQL Mk-2」のオープンソース化も、大きな目標として見据えています。
28年間、私はひとりでこのソフトを開発・保守してきました。数十年分のコードは属人化しきっており、他人が読めるような状態ではありません。「仮に仕事として依頼されても、誰も読みたくないだろうな」というレベルです。なので万が一、私の身に何かあった場合、開発がストップしてしまうという不安感がひしひしとしてあります。
そこで他の方が引き継げるようコードをリファクタリングし、可読性と保守性を担保した上で、オープンソース化したいと考えています。しかし、それには大きな障壁がありまして。数十年にわたって使用し続けているライブラリの中には、ソフトウェアライセンスが不明瞭で、かつ作者への連絡手段が存在しないものが複数あるんです。例えば、フォント選択と、表形式でデータを表示・編集するためのグリッドに関するコンポーネントが該当します。このままでは、再配布ができません。
これらの機能は別のOSSに置き換えるか、自分で開発して内製化する必要があります。しかし、極めて慎重にリプレースしないと、他の機能に影響が出て予期せぬ不具合が起きると予想しています。現状の、仕事の合間に行う限られた開発リソースで取り組むのは困難です。なので、オープンソース化は約10年後、定年退職を迎えてから本腰を入れて臨むつもりです。
――本当に、先を見据えているのですね。一体、いつまで「A5:SQL Mk-2」の開発を続けていくおつもりなのでしょうか?
松原:「自分の葬式の前日まで」です。
…これは、トーマス・エジソンの言葉です。人から「いつまで研究を続けるつもりですか?」と質問された時に、こう答えたそうです。振り返ると、幼少期の私が最初に憧れた人物がエジソンでした。彼の影響で、ものづくりの世界に進もうと考えるようになったのです。
ただ、エジソンと私の間には、少し異なる点が存在します。私が取り組んでいるソフトウェア開発は、彼に比べると「お手軽」だということです。
エジソンは電球の発明にあたって、大量の研究素材を用意し、気が遠くなるような数の実験を繰り返しました。きっと、多額の費用もかかったことでしょう。
もちろん、ソフトウェア開発も膨大な数の試行錯誤が連続します。しかし、物理的な材料や装置をそこまで必要としない分、パソコン1台あれば、ずいぶん手軽に試すことができます。それが、お金の無かった新卒時代から、私がソフトウェア開発という趣味に時間を注いできた理由でもあります。
そうして28年も続けてきたA5:SQL Mk-2の開発は、きっと生涯続けていくことになるでしょう。この先もこのツールが少しでも多くのエンジニアの役に立ち、開発現場の困りごとを解決する一助となることを願っています。
取材・執筆:田村 今人
編集:光松 瞳
撮影:赤松 洋太
関連記事
人気記事