パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「DVDコンバータ with DivX PRO」ソースコード公開、でも不十分?」記事へのコメント

  • by Anonymous Coward

    GPL の dll をクローズドからリンクする場合と、逆にクローズドの dll を GPL コードからリンクする場合、それぞれのライセンスの波及のしかたについてどなたか詳しい方教えていただけないでしょうか?

    少なくとも前者に

    • Re:dll (スコア:2, 参考になる)

      前者を解決するのがLGPLです。
      ただし、DLLを動的ローディングする限りにおいては適用外です。(GPL source codeを使わなくてもAPIで呼び出せるので)
      windows においてDLLを使う方法には2種類あって、
      • .dllをロードするAPIを叩いて自分のコードポイントに取り込む(動的ローディング)
      • .dllと対になる.libを
      --
      # rm -rf ./.
      • Re:dll (スコア:2, 興味深い)

        dlopen(3)やLoadLibrary(Win32)してGPLなコードを呼んだ場合はソースを公開する必要は無いのでしょうか?
        もっというと、GPLなコードにわずかな修正を施し(当然そのコードは公開する)て独立したプロセスで動作させ、本体プロセスから
        socket, pipe, shared memory等で通信して処理をさせる場合はどうなるのでしょうか?
        • Re:dll (スコア:1, 参考になる)

          by Anonymous Coward
          モジュールが同じ実行ファイルに含まれている場合、それらは言うまでもなく一つのプログラムに結合されています。もしモジュールが共有アドレス空間でいっしょにリンクされて実行されるよう設計されているならば、それらが一つのプログラムに結合されているのはほぼ間違いないでしょう。

          逆に、パイプやソケット、コマンドライン引数は通常二つの分離したプログラム
          • by G7 (3009) on 2003年02月14日 0時34分 (#258140)
            >モジュールが同じ実行ファイルに含まれている場合、それらは言うまでもなく一つのプログラムに結合されています。もしモ
            >ジュールが共有アドレス空間でいっしょにリンクされて実行されるよう設計されているならば、それらが一つのプログラムに
            >結合されているのはほぼ間違いないでしょう。
            >逆に、パイプやソケット、コマンドライン引数は通常二つの分離したプログラムの間で使われるコミュニケーションメカニズ
            (以下略)

            それって、C的というかUnix的というかの、そっち方面で伝統的な解釈ですよね。
            でも、それ以外の環境だとどう解釈すればいいんだろう?という疑問が、どうにも消えません。

            Javaみたいな奴は動的リンクなのか否か?…

            Javaじゃシグネチャがコンパイル時に確定するから静的だろ、と言われるならば、
            じゃあJVMを使って(笑)もうちょっと動的な言語を作った場合はどうなのか?…

            JavaOS(笑)みたいにプロセスという概念が無い(スレッドは有るが)ならばどうなのか?…
            完全にプロセス的なものが無いとDoSに対して弱くなるんで、プロセスの壁は無いが
            quota(ってのか)みたいなものは有る、というOSも有るらしいが、それだとどうなのか?…

            LispOSだとどうなのか?…
            Smalltalkみたいに動的に全部やれる環境で、ただし「お約束」としてシグネチャを縛る場合は、
            静的と呼ぶのか否か?…

            コンポーネント間をTCPで接続する(それこそGNOMEとか?)ようなアーキテクチャのOSの類はどうなのか?…
            Interface定義がオプションで(笑)用意されてるような環境だと、Interfaceをオマケで書いた瞬間に
            GPLが波及するようになるのか?…

            GPLは、この辺の「新しい(?)技術」について、何も語ってくれていないような気がするんですが、
            どうなんでしょうか?

            GPLの効き目をはっきりさせる「ため」に古典技術だけを使う、なんていう本末転倒が生じないことを祈るので、G7。
            リンクという概念の定義自体が、技術の進展に伴って、どんどん変化していくんだと思う。

            #RMS的には、「なんでもいーから際限なく波及してほしい」という心的衝動が、きっと有るに違いない。
            #だからこそわざと不明瞭にしている…んだったりするまいな?
            親コメント
            • by bero (5057) on 2003年02月14日 4時46分 (#258252) 日記
              同感です。GPLは古いunix(的なOS)しか想定していなかったように思います。
              unix(的なOS)でも共有ライブラリが出てきて破綻してます。

              新しい技術に限らす、

              組み込みなど「プロセス」の概念のないOSの場合は?

              初期RAM(ROM)DISKをカーネルに「スタティックリンク」する場合は?

              ROMやCD=ROM起動等静的媒体において、LGPLの「ユーザがLGPL部分を差し替え可能にする」には?

              OSやコンパイラ付属のライブラリが肥大化していっても、全部「主要なコンポーネント」?
              親コメント

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...