P粉7764125972023-08-07 10:37:48
目標を考慮する必要があります:
1) 他の人がコードを読んだり変更したりできないようにしようとしていますか?その場合は、難読化/暗号化ツールが必要になります。 Zend Guard を使用して素晴らしい結果が得られました。
2) コードの不正な再配布を防止しようとしていますか? EULA/独占的ライセンスは、この行為を防止する法的権限を与えますが、完全に防止するわけではありません。キー/アクティベーション スキームを使用すると、使用状況を積極的に監視できますが、コードが暗号化されていない場合、これらのスキームは削除される可能性があります。 Zend Guard には、ニーズに応じて、特定のスクリプトを特定のクライアント マシンにロックしたり、時間制限のあるバージョンを作成したりする機能もあります。
私は vBulletin のようなソフトウェアには詳しくありませんが、暗号化/難読化が必要か、ユーザーが正しいことを行うと信頼される必要があります。後者の場合、EULA を通じて望ましくない行為を禁止し、EULA 違反に対する訴追を支援する法制度に依存します。
ソフトウェアを保護するために法的措置を講じる準備ができていない/その能力がなく、暗号化/難読化を望まない場合、選択肢は次のとおりです: a) EULA を付けてソフトウェアをリリースし、必要に応じて法的措置を講じます。オプションを選択し、最善の結果を期待するか、または b) 再配布を許可するオープンソース ライセンスの方が適切かどうかを検討します。
P粉0119126402023-08-07 09:00:04
混乱を招くことは、法律を遵守する正当な顧客に迷惑をかけるだけであり、あなたをだます可能性のある顧客は、お金を払う対象顧客ではありません。 (難読化に関する他の考えを編集しました)
ソフトウェアを保護するためのもう 1 つのヒント: コードが提供する価値の不完全な部分であるビジネス モデルを作成します。たとえば、製品ライセンスを販売し、Web サイトで管理する特定のデータへのアクセスを提供したり、サブスクリプション モデルまたはカスタマー サポート付きで製品にライセンスを供与したりすることができます。
ユーザー使用許諾契約 (EULA) の設計は、コーディングの問題ではなく、法的な問題です。まずは、使用する製品と Web サイトの EULA テキストを読むことから始めます。興味深い詳細が見つかるかもしれません!
独自のライセンスの作成は非常に柔軟であり、コーディング以外の作業も必要となるため、StackOverflow が意図した範囲を超える可能性があります。
EULA の中で思い浮かぶ部分は次のとおりです。
製品にエラーが含まれている場合、または損害が発生した場合の責任を制限します。
顧客がライセンスされたソフトウェアをどのように使用できるか、どのくらいの期間、何台のマシンで使用できるか、再配布権の有無などを明確に規定します。
ライセンスを強制できるように、サイトを監査する権利が与えられます。
ユーザーが EULA に違反した場合はどうなりますか (ソフトウェアを使用する権限を失うなど)。
商用 EULA を作成するには法律専門家に相談する必要があります。
編集: このプロジェクトに弁護士の費用が見合わない場合は、次のリソースを確認してください:
joelonsoftware の「EULA アドバイス」
「エンド ユーザーの書き方」ライセンス契約"###