2009-04-06 11 views
7

Javaアプリケーションでライセンス強制を実装する最良の方法は何ですか?そのため、ユーザーはライセンスを購入せずにアプリケーションを「配布」して使用できません。ベストプラクティス:Java Desktopアプリケーションのライセンス強制

+0

ここでは、ライセンスの実施について説明しています。ライセンスなし。ライセンスは技術的な問題ではなく、法的な問題です。 –

答えて

8

コピープロテクションを追加しないことをお勧めします。あなたは人々に迷惑をかけます。人々があなたの製品を好むならば、あなたは販売を得る可能性が非常に高いです。泥棒のような些細なことや顧客を扱うことは助けにはならない。 (製品が本当に吸わない限り、購入前に試してみることができないようにする必要があります)

何かを受け取りたいユーザーを満足させることだけを目的とするライセンスキーを送信することもできます彼らのお金のために。それが支払われたかどうかを示すためにどこかにステータスを追加するだけです。状態は合理的に明らかでなければならないので、何かが起こったことが明らかである(私が以前仕事をしていた製品はフロッピー2枚のディスクになった - サポート呼び出しの半分はインストーラが2番目の[win32s]ディスク)。

+0

私は「nagware」と不可解なコピープロテクトの仕組みが私にソフトウェアを支払うことを望まないことに全く同意します。 – karim79

+1

とにかくJavaコードを保護することにはほとんど意味がありません。私は非常に高価なJavaソフトウェアを開発しています。これは、私が心配している限り、人に知られている最もゆるいライセンスです。 –

+3

私は同意しません。ライセンスなしでプログラムを使用するのが簡単であれば、より多くの人がライセンスを購入することはありません。あなたは、ユーザーがソフトウェアに支払う必要があると感じるようにする必要があります。 – Jules

7

これを行うためのオープンソースのフレームワークであるtruelicenseを見てください。独自のものを作成したい場合は、コンセプトを説明するドキュメントがあり、コードを見ても良いアイデアを得ることができます。

編集:30日間のバージョンをフル機能:それは個人的に私はIntelliJのは右のそれを取得すると思いますコピープロテクション方式

2

ではないことを言及する価値 。それ以上の制限はないはずです。

「完全機能」の部分が重要です。あなたの登録されていないバージョンが役に立たないように非常に不自由な場合、どのように人々がそれを購入することを期待していますか?彼らは、彼らが好きだと思って欲しいと思う前に機能を試しなければならないが、試してもらえなかった機能の約束で何かを購入するというベンダーの考え方は、ばかげている。

Oracleは、最も自由度の高いスペクトルです。基本的には、完全に機能するバージョンのソフトウェアをダウンロードして使用することができます。彼らはライセンスを社会問題として扱い、その議論には多くのメリットがあります。

あなたは潜在的な顧客をいたずらしたり、迷惑をかけてはいけません。あなたが与えなければならないことは、スプラッシュ画面などで「X日が満了する」ことです。

もう1つのことは、ソフトウェアの入力を妨げることです。

安価(無料でない場合)のアカデミック版または個人版を提供してください。マーケティングも良い考えです。これは私がIntelliJを取ることを意味します:承認されたオープンソースプロジェクトに無料で提供されています。

施行の技術的側面については、技術的側面についても心配しないでください。ユーザーを煩わせるスキームを選択しないでください。悪化すると、ソフトウェアの速度が低下したり、悪化したりすると、ユーザーのオペレーティングシステムのセキュリティ(たとえば、ソニーのルートキットのような)に違反します。あなたの施行はハックプルーフではありません。人々があなたのソフトウェアを盗もうとするなら、彼らはそうするでしょう。執行システムは、技術的な問題ではなく社会的なもののための穏やかなリマインダ(そしてそれ以上のもの)として存在します。

5

私は容易に解読できないことを認識しているライセンス制度はありません。私は具体的には触れませんが、Javaの場合Javaの場合は逆コンパイル(C++やコンパイルされた言語が可能ですが、JavaはC++よりも簡単です)することができます。それがネイティブに行われた場合、ネイティブメソッドが必要であり、DLL /はアクセスを許可するものに置き換えることができます。

C/C++の例では、CL(Microsoftコンパイラ)を逆コンパイルして名前のマングリングをどのように行うかを知る人を知っています。彼らが持っていたことはすべてバイナリでした。そして、彼らは逆アセンブラと多くの時間を使ってそれを行うことができました。

このタイプのもので気にしないでください。それは正直なユーザーを困らせ、それをコピーしたいユーザーを適度に減速させます。 Take a look at World of Goo (great game!) and their take on DRM(あなたの話題と同様の考えです)。

World of Gooの開発者は、product was pirated 90% of the time(その数字が不正確である可能性があることを説明している)が、DRMに同梱され、92%の時間が海賊された別のゲームとは対照的であることを発見しました。

合法的なビジネスについて話しているのであれば、通常はライセンスコンプライアンスになりたいので、コピーしていないことを保証するのは無駄です。あなたが最初に製品を購入しない人について話しているのであれば、それを支払うことを望まないだけで、あなたのソフトウェアを違法に入手する人々の数を本当に変えるつもりはない。それを取得した最初の人 - その後、猫は袋から出ています。

0

oracleのBCL(商業的な自由を認めている)を読んだ後。私はその後JavaSEが商用で無料であると言ったオラクル代理人と会話しました!

+2

質問は、Javaアプリケーションのライセンス強制についてです。あなたの答えは、Java自体のライセンスに関するもので、質問には関係ありません。 – xhochy

関連する問題