コンパイル済みバイナリでの戦略ライセンス——設計空間
ソース販売はリスクが高く、ホスト型SaaSは重い。販売者が境界を決められるコンパイル済みバイナリが PineForge マーケットプレイスの筋——そこに至る設計探求をまとめます。
ストラテジー作者はソースを渡さずに収益化したい。 購入者は自分のデータでバックテストし、自分のブローカーで運用したい。 この二つの要件は本質的に両立しにくく、現状の多くの解はその緊張をうまく解けていません。 本稿では、PineForge のマーケットプレイスの土台としてコンパイル済みバイナリのライセンスモデルを採用するまでに探った設計空間を整理します。
問題を平易に言うと
作者は動くものを作り上げました。 数か月かけてパラメータを詰め、エッジケースを直し、サンプル外でも検証しました。 売りたい。 購入者は自分のデータで実行し、作者の主張どおりバックテストできるか検証し、自前の執行パイプラインへ組み込みたい。
作者がソースを渡した瞬間、収益化は終わります。 購入者は無期限に実行でき、自由に改変し、第三者へ再販できます。 作者が取れたのは一回の売上だけです。 その後の購入者はみな失われた見込み客です。
作者がソースを握った瞬間、購入者は検証・調整・信頼の手段を失います。 ブラックボックスへのサブスクになります。 作者のサーバーが止まれば取引も止まります。
この板ばさみを逃れるよくある二つの方法があります。 どちらにもよく知られた失敗モードがあります。
パターン1:ソースを売る
作者は Pine スクリプトそのものを売ります。
一回の購入で .pineファイルが渡ります。
購入者側のメリットは実在します。 フルアクセス、フル検証可能性、フルコントロール。 任意のデータでバックテストし、パラメータを調整し、売り手から独立して永続的に実行できます。
売り手側のデメリットも実在します。 一度ソースが移転すると、継続的なレバレッジは残りません。 海賊版対策は購入者の善意の強さ次第です。 戦略は他プラットフォームに再掲載されたり、派生物として改変販売されたり、無償共有されたりします。 収益は正直な初回購入者の人数で頭打ちになります 。
シンプルさを継続収益より優先する作者には合います。 数年スパンで価値を守りたい作者には合いません。
パターン2:シグナルを売る
作者が自ら戦略を走らせ、エントリー・エグジット・ポジションサイズなどのシグナルを購読フィードへ流します。 ソースは作者の管理から外れません 。
売り手のメリット:ソース完全保護、サブスク収益、価値を一括で渡す単発取引がない。
購入者のデメリットは深刻です。 自前データでのバックテストはできません 。 作者が示す歴史的パフォーマンスを信じるしかありません。 作者のインフラに完全依存します——休暇、サーバー障害、サービス終了で購入者は手元に残りません。 パラメータ調整もできず、作者が設定した値を受け取るだけです。
シグナルサービスは、自前で戦略を動かす技術がない購入者向けです。 何を走らせているか理解し独立検証したい技術的購入者には出発点になりません 。
パターン3:コンパイル済みバイナリを売る
三番目が PineForge マーケットプレイスの中心です。
Pine 戦略は共有ライブラリ(Linuxでは.so、macOS では. dylib)にコンパイルされます。
作者はソースではなくバイナリを配布します。
購入者はオープンソースの PineForge ランタイムを通じ、自機上で自前のOHLCVデータに対してバイナリを実行します。
緊張の両側に応えられます。
作者向け: ソースは作者のマシンから出ません。バイナリは Pine スクリプトからビルドされますが、
コンパイル済み .so を読みやすい Pine に戻すには相当な労力が要ります——戻せたとしてもアセンブリ級の出力であり、慣用的な Pineではありません。
コアロジックは実質的に保護されます。
購入者向け: バックテストは自前データでローカル実行。執行は自前のブローカー連携を使います。 オープンソースのランタイムは監査可能です——セキュリティ意識の高い購入者は、戦略本体は読めなくても、資金を動かすコードを読めます。 バックテストそのものは売り手のサーバーに依存しません。
このパターンは PineForge初めてではありません。
MetaTrader 4/5 エコシステムは2012年頃のMQL5 Market 以降この方式です。
MetaTrader 戦略は.ex5バイナリにコンパイルされ、マーケットプレイス経由でアカウントロックと期間制限付きで配布されます。
購入者はMetaTrader のストラテジーテスターでローカルバックテストし、ソースは開発者側に留まります。
大規模で実証されたモデルです。
Pine にも同じプレイブックを、二つの追加で当てはめます。 ライセンスのつまみをより細かく(下記)、そして誰でも取引執行部分を監査できるようランタイムをオープンソースにします。
ライセンスの次元
ライセンス枠組みのないコンパイル済みバイナリは、コピー可能なファイルにすぎません。 ライセンス層がビジネスモデルを成立させます。
PineForge の売り手向けツールは六つのライセンス次元を公開します。
**期間制限。 ** ライセンスに満了日があります——購入からの日・週・月。 期限が切れるとバイナリは戦略実行を止めます。 購入者は更新できます。 売り手は継続収益を得られます。 最も一般的な次元で、マーケットプレイスの戦略のほぼすべてが使うでしょう。
**マシン紐付け。 ** ライセンスはハードウェアフィンガープリントに結び付きます。 登録したマシンでは実行できますが、二台目やクラウドインスタンスでは実行できません。 バイナリ共有の価値を抑えます——受け取り側のマシンには有効ライセンスがありません。 カジュアル共有より大規模な海賊版を懸念する売り手が有効化できます。
**ブローカー紐付け。 **ライセンスは戦略が執行してよいブローカー連携を指定します。 特定のブローカーAPI と提携した売り手は、それらへの執行に限定し、未対応や望まない執行場での利用を防げます。
**シンボル紐付け。 **ライセンスは取引可能なティッカーを制限します 。 BTC/USDT で構築・検証した作者は、そのシンボルのみ許可するライセンスを配れます。 一資産向けに最適化した戦略をまったく別資産に当てて予想外の結果を出し作者を責める、といった事態を防ぎます。
**入力レンジ制限。 ** 購入者はパラメータを調整できますが、売り手が許した範囲内だけです。 ルックバック窓がある戦略なら、10〜50本のバーに限定し、10 未満(作者が過学習していると知る帯)や 50 超 (意味が薄れる帯)は禁止、といった具合です。 売り手がレンジを公開し、 ランタイムが強制します。
**失効可能。 ** ライセンスサーバーが次の定期チェックで 403 を返せば、バイナリは実行を止めます。 規約違反——バイナリ共有や未承認ハードウェアでの実行——があれば、返金や法的手続きなしに作者は失効できます。 失効は最終手段であり、明確な違反にだけ使うべきです。
意図的にやらないこと
**DRM 風の難読化シアターはしない。
** .so は実際のコンパイル済みバイナリです。
時間と適切なツールがあれば熟練エンジニアはロジックを逆解析できます。
そうでないと主張しません。
契約はライセンスでありバイナリ形式ではありません。
保護は購入者が同意した条件とランタイムのライセンス強制から来ており、分解不可能性からは来ません。
破れないと装うのは不誠実です。
**バックテストのたびにホームへ電話しない。 ** ライセンス確認は定期であり、呼び出しのたびではありません。 ランタイムは有効ライセンスをローカルにキャッシュし、スケジュール(ライセンスごとに設定可能、既定は日次)でサーバーを確認します。 ライセンス期間中はオフラインでもバックテスト可能です。 バー計算のたびにホームへは呼びません。 ネット依存と遅延を増やすだけでセキュリティ上の実益は乏しく、一つのチェックを傍受できる攻撃者は百も傍受できます。
**不意の収益配分はない。 ** マーケットプレイスのテイクレートはローンチ前に公表された固定パーセンテージです。 ウェイトリスト参加の売り手は出品前に条件を知ります。 プロダクト公開後に手数料構造を示すマーケットプレイスもありますが、我々は悪意とみなし、しません。
まだ詰めている未決事項
**ライセンスキー侵害。 **購入者のマシンが侵害されキーが抜かれたらどうするか。 (a)失効して正当な購入者に再発行し混乱を招く、(b) 購入者ごとのキー回転でマシンインスタンスごとに別の派生キーを持たせ、 一台の侵害が全購入者に及ばないようにする。 我々は (b) に傾いていますが、鍵管理の実装は簡単ではありません。
**レンジに加え売り手定義の入力デフォルト。 **入力レンジ次元は各パラメータの上下限を公開します。 売り手はデフォルト——初回設定時に購入者が見る開始値——も公開すべきか。 おそらくyes:20 本ルックバックが最適だと分かっている売り手は、試行錯誤で気づかせるべきではありません。 デフォルトは参考であり強制ではありません。
**売り手公開の「デモバックテスト」レポート。
** 購入前に、戦略が機能する証拠——売り手の主張だけでなく——を見せるべきです。
現計画では、自前データとOHLCV ウィンドウで /galleryと同じスキーマのギャラリー形式レポートを公開できるようにします。
レポートは宣言された入力で PineForgeエンジンが生成したものとして検証されます。
購入者は実際のトレード一覧、実際のシャープ、実際のスパークラインを見られます——マーケ用スクショではありません。
「買う前に見る 」の正直な版です。
オープンコアとの整合
コンパイル済みバイナリのマーケットプレイスでは、購入者の資金の安全がバイナリ実行部に完全依存しがちで、多くの実装ではそれがプロプライエタリのブラックボックスです。
MetaTrader で.ex5を走らせるなら、MetaQuotesのランタイムと、未開示の挙動を実行しないという保証を信じることになります。
PineForge のランタイムは Apache 2.0で、ghc r.io/pineforge-4pass/pineforge-engi ne:latestから入手できます。
Codegen(Pine を C++にコンパイルする部分)はプロプライエタリ——ビジネスの核です。
しかし実際にコンパイル済みバイナリを OHLCV に対して走らせトレード一覧を出す実行部はオープンソースです。
セキュリティ意識の高い購入者は、バックテストを任せる前に実行部を監査できます。 戦略ソースは監査できません(それが狙いですが)、それを包むコンテナは監査できます。 意図的な分割です。 実資金に触れる部分は開く。 堀としての部分は閉じる。
マーケットプレイスのタイムライン
ベータは 2026 年 Q4 に、手動の売り手オンボーディングで開始します——審査済み作者の小規模コホート、 チームによるリストレビュー、購入者向けに簡素化した購入フロー。 本番取引でベータを回しつつカタログは限定し、 スケール前に連携上の問題を拾います。
フルセルフサービスのマーケットプレイスは 2027 年に開きます。 その時点で売り手は独立に出品し、 ライセンス次元を設定し、デモバックテストレポートを公開し、チーム介入なしでカタログを管理できます。
これは野心的な願望ではなく正直な日程です。 エンジンと codegen は今日あるものです。 ライセンスサーバー、売り手ダッシュボード、購入者の購入フローは 2026 年の構築項目です。
次のステップ
- 売り手ウェイトリストに参加——出品したい戦略を作っているなら登録し、ベータオンボーディング開始時に連絡します。
- 今日ランタイムを試す——MCP サーバー経由の
backtest_pineは、マーケットプレイス戦略が使うのと同じ実行部です。 MCP フローで正しく動けば、マーケットプレイスでも正しく動きます。 - 早期アクセスを取得——無料ティアは月 100 回のトランスパイルで、マーケットプレイス開始前に戦略を構築・検証できます。