web-dev-qa-db-ja.com

JavaScriptコードは、オープンソースのWebサイトでのみ使用されますか?

書き換えられた質問:

JavaScript関連の質問はしていませんが、Webで使用されているすべての「クライアント」言語(HTML5、JavaScript、CSSなど)を質問しています。私のWebサイトにJavaScriptコード(つまりGPLが適用されています)を配置し、このWebサイトにWebを介して誰でもアクセスできる場合、何らかの方法でGPLに違反していますか?

クライアントコード(HTML、CSS、JavaScript)を誰かに販売したい場合はどうなりますか?この場合、別のライセンスが必要ですか?

JavaScript(Webサイトで使用する場合)は常にオープンソースではありませんか?ウェブページを開くと、いつでもソースを読むことができます。

JavaScriptのGPLコードを含むWebサイトを販売している場合、サーバー側のコードもリリースする必要がありますか?

このWebサイトは部分的にアクセス可能(一部は無料で、他は有料)であるが、GPLされたコード(同じ部分)がWebサイトの両側で使用されている場合はどうなりますか?

GPLされたコードが、アクセスするために支払う必要があるWebサイトの一部にのみある場合はどうなりますか?

この方法で顧客にウェブサイトを販売している場合:

  1. すべてのクライアント関連コード(JavaScript、HTML、CSS)を販売します(1回限りの料金)
  2. 私はnotサーバーサイドコードを販売しています。レンタルしています(サーバーサイドコードを再利用させたくありません)。

JavaScriptのGPL化されたコードを使用している場合、何かに違反していますか? (このWebサイトには、Web経由で誰でもアクセスできます。)

編集2:

新しい特定の質問を追加しました:

Webサイトがサーバー側のコードなしで機能する場合、つまり、JavaScriptはJSON形式のデータを含むPHPページを呼び出すだけです。他の人はクライアント側でWebサイトを構築できますが、データを提供する必要があります。この場合、JavaScriptは「PHP」コードを呼び出しています(ただし、その逆ではありません)。この場合、私はGPLに違反していますか?

12
Fire-Dragon-DoL

GPLに関して言えば、リリースの単位はライセンスの単位です。

WebサイトとそのJavaScriptが単一で機能する場合、全体が有効なライセンスを持っています。いずれかの部分がGPLである場合、全体の有効なライセンスはGPLです。 (これはnot LGPL、MITなどに当てはまります)

Webサイトをホストしていて、顧客がサービスへのアクセスを購入している場合、サーバー側のコードを配布または伝達していないため、GPLは関係ありません。 (AGPLはこれを変更し、サービスとしてのソフトウェアがそのソースをリリースする必要があると断言します。)

アプリケーションの一部であるJavaScriptは、いかなる方法でも自動的にライセンスされません。厳密に言えば、ブラウザで実行するためにJavaScriptをダウンロードすることは著作権侵害です。もちろん、それはばかげています。コードを実行するための暗黙のライセンスがある可能性がありますが、それだけです。

Javascriptライブラリを使用する場合は、そのライブラリのライセンスに従う必要があります。そのライセンスがGPLである場合、私の理解では、アプリケーション全体がGPLであることを理解しています。これがおそらくjQueryがデュアルライセンスを持っている理由です-MITまたはGPL。MITライセンスを使用するオプションがないと、 GPLアプリによる。

3
Sean McMillan

最初:ライセンス制限に準拠している限り、商用プロジェクトでオープンソースコードを使用する完全な権利があります(主に、すべての属性をそのままにして、変更を同様のライセンス)。

GPLは、プロジェクトの他の部分にライセンスを強制しようとする場合、より制限的なライセンスの1つだと私は理解しています。私はそれが法廷でテストされたことはないと思いますが、一般的に私がいつも見ている解釈は、GPLコードがそこに残されている場合、参照されるだけの個別のモジュールであるということです(つまり、完全にスタンドアロンの製品として扱われます)使用しているだけです)、大丈夫です。

ただし、これについてよくわからない場合や、安全性を高めたい場合は、規定の少ない他のライセンスがあります。

2番目:コードを表示する機能とそれを使用する権限は完全に独立しています。私はそれを見ることができるからといって、どのサイトからもJavaScriptを外して使用することはできません。たとえ合法的にも、Windowsソースにアクセスできたとしても、それは私のものではありません。 Webでは、多くのコードを表示する必要がありますが、必要に応じてライセンスを付与できます。

3番目:ライセンスに関して、サイトの残りの部分はクライアントが何かを喜んであなたに支払ってからオープンソースにすることはほとんどありません。基本的な「なぜあなたが配ったものにお金を払ったのか」を除いて、それはおそらくデザインとブランディングに影響を与え、誰かが彼らのコーポレートアイデンティティの要素を借りることを許すでしょう。あなたが彼らにそれを売っているなら、彼らはそれがtheirsであることを望んでいるでしょう。あなたがそれらを少し売ろうとしているなら、あなたはそれを売ることができないのでそこにOSSがあること、それを使用する他のコードだけであることを彼らに伝える必要があります。

第4:これは、コードの1ビットを販売し、もう1つをレンタルする非常に奇妙なモデルです。それらは相互に大きく依存しているように見えるので、一方がなければ他方はほとんど価値がありません。技術的には、彼らがあなたが行ったフロントエンドの設計を採用して何かにパッチを当てるかもしれませんが、一般的にそれが起こったとき、人々は最初からやり直します。

2つの部分はお互いなしではそれほど有用ではないので、所有しているサービスとしてのソフトウェアとしてのソフトウェアのカスタマイズに費用をかけることをお勧めします。つまり、すべてのコードを所有し、仕様に合わせてカスタマイズするだけです(つまり、フロントエンドをブランド化します)。はるかにすっきりとしたシンプルなものにします。

4
Jon Hopkins

一般的に言えば、プロジェクトでGPLコードどこでもを使用していて、プロジェクトを再配布する(つまり、プロジェクトを販売または他の人に譲渡する)場合は、プロジェクトのソースコードをリリースする必要があります。 GPLライセンスに準拠するために全体に公開.

サーバー側でGPLコードを使用してサービスとして独自の公開Webサイトを提供している場合、これは再配布とは見なされないため、問題ない可能性があります。

ブラウザのJavascriptコードは、私には灰色の領域のように見えます。技術的には、すべてのブラウザーにGPLコードを再配布しているため、独自のソースをリリースする必要があります。

編集:私の要点を証明するために、ExtJSの licensing FAQ Webサイト。 ExtJsは、GPLに基づいてライセンスされたJavascriptフレームワークです。これは、ライセンスがフレームワーク(斜体)に関してどのように機能するかを解釈したものです。

派生作品
ソフトウェアプログラムがGPLv3でライセンスされているコードを呼び出すと、そのソフトウェアプログラムはGPLでコード化されたコードの派生物となり、したがってGPLv3著作権ライセンスの対象となります。ソフトウェアの場合プログラムがユーザーに「伝達」されると、GPLv3はそのソフトウェアプログラムのソースコードも「伝達」されることを要求します。 Webアプリケーションの「伝達」は、アプリケーションを作成した法人外のユーザーがアプリケーションを使用したときにトリガーされます。

ソフトウェアプログラムの定義
従来の静的または動的リンクではなく、内部通信にリモートネットワークベースのサービスインターフェイスを使用する今日のWebアーキテクチャを使用して構築されたソフトウェアプログラムの場合、関連するソフトウェアプログラムは実行されるコードを含むアプリケーションコードの全体です。サーバー上で実行され、クライアント上で実行されるコード、サーバーコードがアプリケーションに不可欠である場合。


アプリケーションに、JSON/HTTPを介してバックエンドサービスと通信する(Ext JS JavaScriptにリンクされたWebページを生成する)フロントエンドがあるとしましょう。このバックエンドサービスには、このアプリケーションのみの承認および検証ロジックが含まれています。フロントエンドのみがExt JSコードを使用する場合でも、フロントエンドとバックエンドの組み合わせがアプリケーションを構成することを考慮し、バックエンドとフロントエンドの両方のソースコードをアプリケーションのエンドユーザーに提供する必要があります。 GPLv3の下で Ext JSコードへのGPLv3ライセンスを保有する同じ法人の一部ではないエンドユーザーがアプリケーションを使用する場合。

3
Robert Harvey

クライアント側のJavaScriptを使用するWebサイトの場合、彼らはまだコードを所有しています。単にそのコードを取得して自分のコードとして使用するのであれば、それはおそらくIP侵害です。ライセンスが含まれていないかどうかはわかりません。強制力の問題もあります。おそらく弁護士に相談してください。しかし、彼らはおそらくあなたに役立つことは何も教えないでしょう。

ライセンスが混在するプロジェクトは複雑です。おそらくサーバー側のバックエンドを含む他のライブラリと相互作用するGPLのコードでは、それらもGPLである必要があります。 LGPLやBSDライセンスのように、他のオープンソースライセンスはそれほど厳格ではありません。

そして、いいえ、あなたが彼にあなたのphpコードを再利用してほしくないなら、それはGPLモデルに適合しません。 GPLでコードをリリースする場合、ソースコードを引き渡す必要があります。

したがって、誰かのためにWebサイトを作成していて、自分のコードを誰にも渡したくないようです。なぜオープンソースを検討しているのですか?オープンソースの場合は、コードを配布しています。

1
Philip