Microsoftは、ウィンドウやMFC DLLライブラリなどを作成しています。オープンソース開発者は、新しいMFCアプリケーションを作成し、ソースコードをGPLとしてリリースします。アプリはWindowsで実行するためにMSDLL/ライブラリとリンクする必要がありますが、MicrosoftのGPLにDLLを強制する権利があると誰もが主張できるとは思いません。
これは、GPLライセンスが実際に最初に「作成」されたものに依存していることを意味しますか? リンクせずに公開されたプロプライエタリライブラリ(Windows DLLなど)が最初に作成され、GPLコードがリンクされた後、GPLプログラムがリンクされた場合、プロプライエタリコードは「 GPLコードにリンクされています。
この場合、そのようなNVidiaまたはRealNetworksの会社は次のことを行うことができますか?プロプライエタリのHDDecodingメディアデコードエンジンライブラリをプライベートに保ちたいが、オープンソースのGPLコードを「活用」してハードウェアを紹介したいとします。
- 彼らは、メディアのデコードを行い、いくつかのサンプルコードをリリースするための独自のライブラリを作成します。
- 誰か(オープンソース開発)が、XBMC、Mplayer、VLCなどのGPLコード用のこのプロプライエタリライブラリにリンクされた「プラグイン」を作成します。
- 彼らはプロプライエタリライブラリを最初に作成したので(MSが最初にすべてのDLLを作成するのと同じように)、プロプライエタリコードとリンクするGPLプログラムはそれらをGPLコードに変換しないと主張できますか?
理論的には、NVidia独自のメディアデコーダライブラリとリンクするGPLvlc.exeファイルを作成するオープンソース開発者がGPLライセンスに違反していると主張することができます。
つまり、VLC、git、cygwinなどのWindowsで実行されているすべてのGPLプログラムは、実行するために独自のMicrosoft Windowsライブラリとリンクする必要があるため、すべてGPLライセンスに違反しています。
ケース2:これの何が問題になっていますか:
NVidiaは、最新のグラフィックス機能を隠す新しいハードウェアアブストラクションライブラリを作成できます。また、このライブラリを使用してFreeBSDドライバを作成し、BSDドライバのソースコードをリリースしますが、ライブラリのソースコードはリリースしません。
誰か(Linux開発者)は、このライブラリとリンクするLinuxドライバーを実装して、Linux用のNVidiaグラフィックスドライバーを作成できます。しかし、NVidiaはこれを行わなかったため、「Linuxサポート」を有効にしている間、ライブラリソースを「非表示」に保つことができます。
それは確かにGPLの精神に違反しています。
Windows / Mac / iPhone / PSP3でGPLされたソースで作成されたexeを実行することもGPLの精神に違反することを意味しますか?