スクリプト言語でもライセンスビジネスを容易に実現
これまでもウイブシステムズではPythonをはじめとするスクリプト言語が持つ課題を解決するため、耐タンパーソリューションを提供してきた。例えば「Pythonコードの秘匿化はすでに他社技術で対応しているので、アプリケーションライセンスを付加してエンドユーザーに提供したい」というニーズには「CodeMeter Core API」、「PythonコードをCythonというプラグインで高速処理したバイナリファイルに、アプリケーションライセンスを付加してエンドユーザーに提供したい」というニーズには「AxProtector」がある。
だが、これらはすでに手元にあるPythonコードを秘匿化したりバイナリ化したりする手間がかかっている。そうではなく、何も保護対策をしていないPythonコードを、秘匿化し、アプリケーションライセンスを付加してエンドユーザーやパートナーに提供したいというというニーズに対応するために、新たに用意したのが「AxProtector Python」である。
「当社のAxProtector Pythonを、用意したPythonコードに適用することで、中身を第三者が見てもロジックが解析できない、アプリケーションライセンスがないと動かない仕組みになります」(清水氏)
具体的には、Pythonコード内のすべての関数を個別に暗号化し、耐タンパー対応したファイルを生成するという仕様になっている。
AxProtector Pythonの暗号化には次の4つのオプションが用意されている。
- Pythonアプリケーション全体を暗号化し、アプリケーションライセンスチェック機能を自動的に追加する(基本機能)
- Pythonアプリケーションを機能ごとにモジュラー型暗号化し、エンドユーザーが機能ごとにアクティベートできるオプション(カスタムライセンス)
- IP Protection モード(アプリケーションライセンスの紐づけをせず、Pythonアプリケーションの保護を適用できるオプション)
- 更なる保護レベルを希望する場合は、ドングル(CmDongle)にあるメモリー上で暗号化されたPythonコードを実行するオプション
JavaScript向けには、「AxProtector JavaScript」を用意。保護したいファイルを選択後、3つのオプションから暗号化を選ぶことができる。
もう一つの課題「売りたい」をどう実現していくか。CodeMeterは、アプリケーションライセンスがないと動かないようにアプリケーションを加工することで、耐タンパー性を確保し、「売りたい」というニーズに応える。
「売りたい」を実現する最大の仕組みが、顧客のビジネスにあった形でライセンス形態を容易に構築できること。開発したソフトウェアの提供形態(有効期間、有効回数、シングルユーザー、サブスクリプション、ペイパーユースなど)に合わせ、柔軟にライセンス化することができるのだ。
「例えばライセンス形態をサブスクリプションからペイパーユースにする場合、アプリケーションコード内にそのためのコードを入れると、バージョンごとにそれらすべてのコードを作成する必要が生じてしまいます。このような方法は開発者にとって現実解とは言えません。ですが、CodeMeterであれば、アプリケーションライセンスの中身を変えることで、容易にサブスクリプションからペイパーユースにすることができます」(清水氏)
またアプリケーションライセンスをERPやCRMなどのバックエンドシステムと連動させることで、自動的にライセンスを作成することもできる。
CやC++、組み込み系、バイトコード、スクリプト言語など幅広いコードに対して、ソフトウェア開発会社の「売りたい」「守りたい」という2つのニーズを満たすCodeMeter。その良さは分かったが、「パフォーマンスが気になる」という人も多いだろう。
「どんなコードアプリケーションで書かれているか、どんなOS、どんなハードウェアで動いているのかなどによっても、パフォーマンスが変わってきます。ぜひ、当社では無料で評価できるようSDKを用意しているので、ぜひ、弊社の営業、もしくはホームページからコンタクトしてほしい。そしてぜひ、私たちと一緒に、ビジネスを拡大していただけると非常に嬉しい」(清水氏)
最後にこう語り、セッションを締めた清水氏。スクリプト言語によるソフトウェアの販売を考えている企業にとって、CodeMeterの採用はビジネスを拡大できるチャンスとなりそうだ。