|
さて、以下では、私のソフトウェア作りに対する考え方(OmegaChartだけではなく、ソフトウェア全般についてです)と、OmegaChartの提供形態を決めた理由を説明します。少々堅い話になりますがご容赦を...
|
バージョンアップに終わりはない
ソフトウェアは常にバージョンアップを必要とします。どれほどよくできたソフトウェアであっても、使えば使うほど改善したい点がでてきます。WindowsやOfficeやLinux KernelやEmacsのように、かなりの歴史と労力を積み重ねてきたソフトウェアであっても例外ではありません。むしろ、そうしたバージョンアップの蓄積こそがソフトウェアの本質であると思います。(*1)
|
|
この点は、音楽や映画のようなほかの知的財産活動との大きな違いです。(*2)
あるソフトウェアがバージョンアップを必要としなくなったとすれば、それは機能が完成したからではなく、そのソフトウェアそのものが必要とされなくなったからでしょう。
|
|
さて、そういった継続的改善をするためには何が必要でしょうか。それはユーザからのフィードバックと報酬です。
ユーザからのフィードバックは、何をどう改善すればよいかの指針になります。これには単純なバグの指摘から将来に期待する方向性の提案までのさまざまなものが含まれます。また、作る側の気持ちとしては、内容はどうあれ自分の作ったものに興味を持ってもらい、コメントをもらうというのは大変嬉しいものです。これは精神的な原動力になります。
一方報酬は、物質的な原動力です。端的にはそれはお金で、それによって製作に必要な物や本を購入したり、開発の手伝いをしてくれる人を雇ったり、一仕事終えた後にビールを飲んだりすることができます。しかしお金以外の報酬もあります。たとえば優秀なソフトウェアを作って名が知れれば名誉が得られますし(*3)、製作を通して新しい人と知り合うこともできます。それも報酬のひとつです。ここでは、金銭に限らず、プロジェクトを遂行することで得られるものを報酬と総称することにします。
つまり、継続的にソフトウェアを作っていくためには、フィードバックと報酬をどうやって確保するのかが課題になるわけです。この点について、既存の製品がどういう方式をとっているかをみてみます。
|
有料ソフトウェアの場合
この方式を採用しているソフトウェアはたくさんあります。お金を払った人だけがソフトウェアを使えるようにするというやり方です。こうすることで確かにお金は確保できそうですが、その代わりフィードバックを集めるという点ではマイナスの効果が出てきます。それは、そのソフトウェアに値段分の価値がないと判断した人は使わないのでユーザ数が増えにくいからというのがひとつと、お金を払った人はどうしても「お客様」の立場になってしまうために積極的なフィードバックを返したり、製作に協力したりはしづらいという傾向があります。お金を払った上に、製品の欠陥まで指摘させられるのでは誰も良い気持ちはしないので、それは当然のことです。
|
|
また、有料ソフトウェアには別の弊害があります。「お金を払った人だけがソフトウェアを使えるようにする」ということは、同時に「お金を払っていない人は使えないようにする」ことが求められます。そうでないと、お金を払った人が損をしてしまうからです。当然ソースコードは非公開になり、容易に真似をされることがないようにがっちりガードを固めることになります。すると、改善する意思も能力もある人が現れたとしても、その人は開発作業に参加することは大変困難になってしまいます。(*4)
|
フリーソフトウェアの場合
一方世の中には、GNUプロジェクトをはじめとするフリーソフトウェア(*5)を推進する人達もいます。この方式のもとでは、ソフトウェアの中身はすべて公開され、誰でも自由に利用・改善できるようになります。それどころか、GNUでは自由であることを"強制する"ライセンスのもとでソフトウェアが配布されています。こうすることでユーザは増え、フィードバックを得ることは容易になります。なにしろ中身が公開されているので、足りない機能があれば自分で作ることだってできるわけです。ソースコードが秘匿されていると、足りない機能は製作者が作ってくれるまで待つしかありません。
|
|
しかし、この方式ではお金の面ではあまりうまくありません。現在でも、フリーソフトウェアは製作者の純粋な創作意欲に依存するところが大きく(*6)、大勢を組織的に動員できるプロジェクトは少ないのが実情です。従って、創作意欲のあまり刺激されない分野(「インストールを簡単にする」「マニュアルを整備する」「初心者に親切に教える」など)はどうしても手抜きになることが多く、そういう分野では有料ソフトウェアに遅れをとっているわけです。
|
「ただ乗り」は良くない
上記2つの方式はどちらも理解はできますが、どちらも全面的には賛成できません。ソフトウェアに改良の自由があるべきだというのは納得できますが、GPLはあまりに共産主義的であるとも思います。
ただ、どちらの立場にも共通しているのは、いわゆる「ただ乗り」、つまりソフトウェアを使うだけで他には何もしないのは良くない、という考えで、これには私も賛成です。
そこで、OmegaChartでは、運営形態がうまくいくのかの実験も兼ねて、具体的な貢献があった人にキーを発行するという形態をとることにしました(*7)。具体的な貢献とは、プログラムを書いたり、拡張キットを書いて公開したり、宣伝に協力したり、寄付をしたりといったことです。「ただ乗り」をする人には使わせない、とまでは言いませんが、活動に積極的に参加する人が増えるように誘導しようと思います。
|
製作は楽しい
もう一度強調しますが、私からユーザへのお願いは、OmegaChartを良いと思ったら何らかの協力をしてほしいということです。協力というのはいろいろあります。作るのを手伝ってもらえると最高ですが、新機能の要望を出したり、バグの報告をしたり、宣伝をしてユーザの数を増やすのも重要な協力です。寄付をするのも、また「○○の機能を付けてくれたら寄付をする」と交渉するのも歓迎です。要するに、単に黙って使うだけでは何も生まれないので面白くない、ということです。実際、協力しながら何かものを作っていくのは非常に面白い作業です。
この点は、ユーザに金を払わせることが目的のソフトウェア(*8)とは大きく違います。単に無料で使えて嬉しい、というだけで終わらないでください。
もちろん、無償であることを品質が低いことの言い訳にしようとは全く思っていません。きちんと役に立ち、まともな動作をするソフトウェアをリリースすることは、プロ・アマチュアを問わずソフトウェア技術に関わる者としての責務だと思います。(*9) しかし、それを一人で背負い込む必要はないのです。多くの人が作業に参加し、負荷を分散すればそれほど難しいことではありません。
|
余談:製作の発端
OmegaChartの原形は、私自身の株取引の経験から始まっています。現在の機能で言えば「スクリーニング」「セオリー検証」の2つになるのですが、自分用にチャッチャと作ったものなのでGUIですらありませんでした。ですが、これでいろいろな銘柄の機械的な発掘に成功したわけです。もともと短期売買指向だったので、テクニカル面さえわかっていればよかったのです。
一方、ある時期に本業の仕事がいまいち面白くなくなってきた上に、プライベート面でもいやなことが重なって(具体的には失恋とか)落ち込んでいた時期がありました。2003年の8月くらいだと思います。で、そのときに発作的に何か一心不乱に打ち込めるものがほしくなり、この銘柄発掘ツールを大幅に強化することを思いついたのです。これがOmegaChartです。
「一心不乱に打ち込めるものがほしくなり」というのは、例えるなら「空手バカ一代」で大山倍達が山篭りをしたようなものでしょうか。心境は近いものがあると思います。この勢いで、序盤ではかなりのスピードで製作が進行しました。
|
余談:製作過程
しかし、やるからにはちゃんとしたものを作らなければいけません。ちゃんと一般の人が使える水準のソフトウェアを作るのはどうしても手間がかかるので、決して楽ではありません。さらに、これを作るために割ける時間はそれほど多くなく、平日の夜と週末の中でやりくりするわけです。一時は目の疲労が相当マズい段階になりました...。
でもまあ私はソフトウェアを作るのは好きなので投入時間の割には順調に進みました。それでも、当初は11月中旬公開の予定が年末ぎりぎりまでずれ込みはしましたが...。しかし、自分自身も個人投資家であるのでどういう機能が必要か、どうしたら使いやすいかが考えやすかったので、その点は幸い迷うことは少なかったです。
完成度が高まってきた段階では、何人かの友人にレビューをしてもらって微調整をしました。協力してくれた人にはこの場でお礼を言います。ありがとうございました。
その後、2004年の春以降は、協力を申し出る人も増えてきたので盛り上がりを見せてきました。ぜひこの流れを推進して、いろいろ「面白いこと」にめぐり逢いたいと願ってやみません。
|