• 締切済み

GPLの派生物の範囲が分かりません

GPL v2 における派生物についてのご意見を頂戴したく思います。 以下のような状況において OS のカーネルは派生物に該当するかどうか ご意見を頂ければ嬉しく思います。 カーネル(非 GPL) ドライバ(GPL) 組み込み機器で使用するソフトなので,ソフトウェアの形態としては 最終的には1つの実行ファイルになります。ただ,これは組み込み機器 への搭載に際して不可避なことであり,単に1つの実行ファイルである からといって,即派生物になるという認識は一般的でないと考えています。 さて,本論に入ります。 GPL カーネルを 非 GPL のドライバがファンクションコールする場合, 当該ドライバがカーネルの一般に公開されている I/F のみを用いるの であれば,当該ドライバは派生物とは見なされないのが一般的であ ると認識しています。これはソフトウェア情報センターによる報告 (2004.10)に基づいています。 本件は,これを逆に解釈し,非 GPL カーネルが GPL ドライバの 一般に公開されている I/F のみを使用する場合も,カーネルが 派生物と見なされないという余地があるかについての質問です。 通常は linux のカーネル(GPL)が例に多く出されるので,本件の ような事例は調査しところ見つけることができませんでした。 ご意見お待ちしております。

みんなの回答

  • ts244
  • ベストアンサー率41% (53/127)
回答No.4

もう解決されたようですね 私もNO.2さんの意見に同意です。 まぁGPLが効力を発揮するのは配布した時なので、 販売する製品につかったりしなければ余り気にする必用はないですが

todaiji
質問者

お礼

ご意見ありがとうございます。 何とかぎりぎりのところで回避できないか考えていたのですが, やはりそう簡単にはいかないようですね。 ありがとうございました。

  • ts244
  • ベストアンサー率41% (53/127)
回答No.3

Linuxカーネルの多くのデバイスドライバやプロトコルスタックが そうなのでごっちゃになっている印象を受けるんですが、 ローダブルカーネルモジュール(動的にリンクされるカーネルの一部) と デバイスドライバ(何がしかH/Wデバイスを駆動するカーネルの一部) と H/W制御用のユーザプロセス が、ごっちゃになっていませんか? 少なくともどの件について質問されているのかが、御質問の文章からは伝わってこないので、 期待されているような答えが返ってきていないように見えます。

todaiji
質問者

補足

ご意見ありがとう御座います。 説明不足でした。 申し訳ありません。 環境としては,以下のものとなります。 ・カーネル(自前開発なので非GPL) ・デバイスドライバ(GPL) デバイスドライバは,ネットワークデバイスの制御用のものでして,メーカーよりGPLで頒布されていたものを自前開発のカーネル用に移植しました。勿論,移植により改変されたデバイスドライバ自体はGPLの派生物であると認識しております。 このような状況において,デバイスドライバと静的リンクされるカーネルもデバイスドライバの派生物と見なされるか否かについて知りたく思っております。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

今回のご質問の場合、FAQの次の項目が当てはまるのではないでしょうか? http://www.gnu.org/licenses/gpl-faq.ja.html#GPLPluginsInNF フリーではないプログラム向けのプラグインにGPLを適用することはできますか? もしプログラムがforkやexecでプラグインを呼び出すならば、プラグインは別のプログラムですから、メインプログラムのライセンスは何の条件も課しません。ですからあなたはプラグインにGPLを適用できますし、特別な要件はありません。 プログラムがプラグインと動的にリンクされ、お互いにファンクションコールを使ってデータ構造を共有している場合、それらは単一のプログラムを形成していると見なされますので、プラグインはメインプログラムの拡張部分として扱われなければなりません。このことは、GPLで保護されたプラグインをメインプログラムとリンクするのはGPL違反となることを意味しています。しかし、あなたはこの法的問題を、あなたのプログラムのライセンスにフリーではないメインプログラムとのリンクを許可する例外を加えることで解決できます。 より詳しくは、「フリーではないライブラリを利用するフリーソフトウェアを書いています」という項目で始まる既出の質問をご覧ください。 --- ドライバとカーネルも、fork&exec かそれに類する手段で呼ばれる 関係ではないですから、ドライバとカーネルは単一のプログラムを形成する考えられ、 したがって全体がGPLによる縛りを受けるものと判断すべきだと思います。 最終的には(裁判所で)法的に判断してもらうしかないですし、 GPLの縛りを嫌うのであれば、徹底的に避けるべきだと思います。

todaiji
質問者

お礼

アドバイスありがとう御座います。 ご紹介いただいたFSFの見解の中で,見落としていたFAQがありました。 「私の独占的なシステムに,GPLで保護された・・・」 というものですが,これが私の質問内容に当てはまるのではないかと思います。 多くの方の意見やFSFの見解から,朧気ながらですが,やはりリンク形式はともかく,本件は1つのプログラムと見なされるような気がしてきました。 ありがとうございました。

回答No.1

単一の実行ファイルの場合にGPLを含む場合は、それ全体がGPLとなるのは一般的だと思いますよ。 まず、GPLとLGPLというのはご存知でしょうか? GPLの場合、動的リンクであってもそれは派生物の一部とみなされ、LGPLの場合はみなされないというライセンスです。 ただ、これらはあくまでも動的リンクの場合であって、静的リンクの場合はどちらも派生物の一部とみなされます。 ところで、どう解釈するかどうかという以前に一度でもGPLのライセンスを読んだことがあるのでしょうか?

todaiji
質問者

お礼

アドバイスありがとうございます。 情報が不足していたようで,申し訳ありませんでした。 GPL,LGPLともに存じておりますし,それぞれのライセンス条項も確認済みです。 ですが,ライセンスの文言からはリンク形式に基づいて派生物か否かが定義されていません。 従って,実質的なプログラム間の依存関係に基づいて判断するしかないと考えていました。 本件の場合,一般的なWebや著作権関係の研究報告にあるようなGPLカーネルを利用するプロプライエタリな プログラムのパターンではなく,その逆であったので,何かしらご意見を頂戴したいと思った次第です。 > 静的リンクの場合はどちらも派生物の一部とみなされます。 参考にさせていただきたいので,この根拠について出典等の情報が有ればご教示願えますでしょうか? 失礼いたします。

関連するQ&A

  • GNU GPLのソースコードの公開範囲

    最近、GNU特にGPLに関してすこし触れる機会が多くなったため、 GPLについて学習していたところ、疑問ができたので質問させて いただきます。 GPLはGPLライセンスのものを改変・複製して使用した場合は ソースコードを公開しなければならない。と記述されていますが、 その範囲はどこまでなのでしょうか? 質問の内容が良く分かりにくいと思うので、例をひとつ挙げると、 SONY製品です。SONY製品はウォークマンをはじめ、液晶TVなどに おいて組み込み型Linuxを使用しています。 GPLに基づいてSONYはソースコードを公開しています。が、それは 一般的なGPLパッケージのみです。 SONY製品は液晶TVにしろなんにしろ改変されたGPL/Linuxのパッケージを含む OSを使用しているわけです。(カーネルも当然Linux) この場合は、OS全体のソースコードを提示する必要があるのでしょうか? OS全体という言い方があいまいなのかもしれませんが、 ウォークマンならウォークマンの中に、GPLライセンスが含まれた ソフトウェアが組み込まれているわけです。 その中でSONYはATRAC等の自社開発のものの ソースコードは公開していないわけですが、 それはOSの一部に含まれないのでしょうか? コンピューターならOS(Linux)の上で動くソフトウェアは そのOSとは独立しているため、OSがGPLでもソフトウェアは 公開しなくてよいはずですが、ウォークマン・液晶TVなど そのもの自体を商品として販売している場合、どこまでがソースコード公開の範囲にはいるのでしょうか? 長文失礼いたしました。ご返答お待ちしております。

  • GPLの適用範囲

    GPLなソフトウェアのランチャーのようなものを作っています。 説明の便宜上、各プログラムに以下の名前をつけておきます。  プログラムL:自作のランチャー、GPLではない  プログラムG:GPLなオープンソースソフト(自分で改造済み) プログラムGはコマンドラインオプションの処理を少し改造しました。 こちらはGPLなので、当然ソースコードを公開します。 プログラムLは、プログラムGをコマンドラインオプション付きで実行するプログラムです。 プログラムLの画面上で色々設定して、その設定をパラメータとしてGに渡す感じです。 私の認識では、この形式の連携であれば、プログラムLはGPLにする必要が無いはずです。 ここからが本題です。 この両プログラムを1つのインストーラにまとめて配布したいと考えています。 配布形式はClickOnceを使い、プログラムLのインストーラにプログラムGのEXE等を同梱します。 この場合、プログラムLはGPLにしなければならないのでしょうか。 だとすると、プログラムLを非GPLにするには、インストーラを別々に配布するしかないのでしょうか。

  • ダイレクトな繋がりの可否について

    たとえ『アプリケーションソフトウェア』と『デバイスドライバー』との両方が、同一の主記憶装置にページインされていましても、 もしOSが機能してくれていませんでしたら、 『アプリケーションソフトウェア』と『デバイスドライバー』との連携を、 当該主記憶装置は認識し得ないのでしょうか? それとも、OSに頼らず直線的にそれ等を連携させる仕組みもが、 何処かへ準備されているのでしょうか?

  • ドライバー再インストールでエラー発生

    MFC-695CDNを使用しています。 Win10Ver.UP後、PC-FAXが使えなくなったため、  →アンインストールツールを使用してドライバー削除  →ドライバーのフルパッケージをダウンロードし、インストール実行 をしたのですが、 “本製品の使用に必要なドライバやソフトウェアは既にインストールされています。  追加でインストールするドライバやソフトウェアはありません“ のエラーが出て、ドライバーがインストールできません。 アンインストールが完全に行えていないのでしょうか? ドライバー再インストール→PC-FAXの使用 ができるように したいと思っております。 本件解決の方法について、ご教示いただきたくお願いいたします。 ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • インターフェースについて

    Redhat9 2.4.20-8 をインストールしています。 機器は「FMV-830NU/L」です。 ifconfig -a を打ってもeth0が認識されません。 service network resatar を実行すすと 「インターフェース eth0 を活性化中 OK」と出てきます。 ifconfig -a eth0 up を実行してもそのようなデバイスはありませんと出てきます。 以前にも質問させて頂き、lspciでpciバスレベルで認識しているか、カーネルに組み込まれているか、dmesgでハードウェア上で認識されているかどうか、と助言を頂いたのですが、結局何を見ればいいかわかりません。 助言頂けると助かります。

  • Win10用のドライバーについて

    Win10で突然にnec multiwriter 5100f使用出来なくて弱っています。Win10用のドライバーはまだ公開されていませんか? ※OKWaveより補足:「NEC 121ware :周辺機器」についての質問です

  • シェルとカーネルについて。

    UNIX等ではシェルとカーネルの概念は有名ですが、Windowsにもシェルとカーネルの概念があると聞きましたが、具体的にはどの機能(?)がシェルに当たるのでしょうか? UNIXとかならシェルはコマンドラインの命令をカーネルに伝える、というのでなんとなく分かるのですが、Windowsでは基本的にはGUIで操作するのでどこがシェルなのかな?と疑問に思います。 (コマンドプロンプトで実行する際はWindowsでのシェルの役割が何となく認識できますが) どなたか分かる方、ご意見・ご回答お願いします。 (乱文ですいません)

  • LG製DVDドライブアクセス不可

    本日、LG製DVDマルチドライブ(GSA-4163B)に突然アクセスできなくなりました。動画関連ソフトをいろいろダウンロード&インストールしていたのですが、DVDドライブに影響を与えるようなことはしていません。 デバイスマネージャを開くと、当該デバイスは黄色の!表示で、 「このハードウェアのデバイス ドライバを読み込むことができません。ドライバが壊れているか、ドライバがない可能性があります。 (コード 39)」のエラーになります。 ”ドライバの更新”を行っても、「現在インストールされているソフトウェアより適合性の高いソフトウェアは見つかりませんでした」となってしまいます。 それなら最新のドライバを探そうとしてLGのサイトに行っても、ファームウェアのアップデートはあるもののドライバはありません。 もちろん、BIOSレベルではHWの認識はしていますので、接続が悪いということはないはずです。 このような例、対処方法はあるでしょうか。

  • 条件を満たしてるのにF904iがPCに認識されない↓

    F904iで音楽を聴きたいのですがなぜかUSBにつないでもパソコンに認識されてません。通信ドライバもインストールが完了して。ちゃんとXPでバージョンがSP2でWMPもバージョン11です。どうすればパソコンに認識されるんでしょうか??お願いします!

  • 1394でDV(デジタルビデオ)カメラを接続できません。

    1394でDV(デジタルビデオ)カメラを接続できません。 PCのIEEE1394ポートに、デジタルビデオカメラを接続しても正しく認識されません。 デバイスマネージャーで見ると、「ドライバーがインストールされていません」と表示されます。(添付ファイル参照) 「ドライバーの更新」のボタンを押して、ドライバーソフトウェアの自動検索を実行すると、「このデバイス用のドライバーソフトウェアが見つかりませんでした」となります。 DVカメラはCanonなので、Canonのホームページを見ましたが、USBのドライバは存在するものの、1394のドライバはありませんでした。 キャプチャーソフト「CyberLink_PowerDierctorV5」でキャプチャー画面を起動すると、CanonのDVは認識されているようですが、再生や巻戻しなどのボタン類は白けたままで機能しません。 1394ポートは、デバイスマネージャーのプロパティによれば「このデバイスは正常に動作しています」と表示されます。 残念ながら1394機器はDVカメラしか持っていないので、他の機器が動作するかどうか検証できません。 どのような原因が考えられるでしょうか。 ご教示をよろしくお願い致します。 なお、環境は下記の通りです。 PC GIGABYTE_31M-ES2C+Intel_Core2DuoE7500+Memory4M OS Windows7(32Bit) 1394ボード バルク品 DVカメラ Canon_IXY DV M2 よろしくお願い致します。