パスワードを忘れた? アカウント作成
14662 story
BSD

NDA にサインして GPL ドライバ開発ってどう? 103

ストーリー by yourCat
落としどころ 部門より

tamo 曰く、

Free Linux Driver Development キャンペーンについてどう思いますか。
これは、いわば企業向けの「Linux 用ドライバを無料で書いてあげますよキャンペーン」なわけですが、問題は「仕様を公開してください」ではなく「見せてください」というところにあります。 「GPL ドライバさえ作らせてくれれば NDA にだってサインしちゃいます」というのです (KernelTrap の記事)。
これに噛みついたのが OpenBSD 陣営で、以前から各社へ「仕様書を公開してほしい」と働きかけてきただけに、「この活動は企業の態度を悪化させる」と大反発しています。 曰く、「NDA を結んで GPL ドライバを書けば、仕様書公開の望みは少なくなり、他の開発者が後日コードをメンテしづらくなる」あるいは、「結局、Linux で動くというだけで、リバースエンジニアリングしないと意味のわからない blob じゃないか」というわけです。
これに対する反論は、「こちらとしては、皆さんの邪魔をするつもりはありません。 ただ Linux にあらゆるデバイスの GPL ドライバを用意することを目指しているだけです」と、なかなか説得力があります。 理想の OpenBSD プロジェクト、実利の Linux コミュニティ、といったところでしょうか。
ご意見をどうぞ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Free Linux Driver Development [kroah.com]を日本語訳してみました。
    おかしい点があれば修正して頂ければと・・・。

    # 意訳がかなり入ってます

    ==以下日本語訳==

    私が発表したLinuxドライバーアナウンスメントに対し、多くの質問がありました。
    以下はその中でも多かった質問とその回答になります。
    繰り返しになりますが、このプログラムに質問のある方、もしくは活用したいと思う方は
    私までお気軽にご連絡ください。

    Q:あなたは企業にとって最も利点となることについて言及するのを忘れています。即ち、
     「このプラグラムによってもっとデバイスが売れるかもしれない。
      どうしてこのようなオファーを断ることができようか。」
    A:確かに(笑)

    Q:あなたはNDAにサインすることによって、どのようにGPLなドライバーを作ろうと考えていますか?
      バイナリー形式のblobを必要とする、もしくはコードの取り扱いに関して困惑を招きませんか?
    A:いいえ、全く違います。私は企業とNDAを締結した上で多くのドライバーを書いてきました。
      それらのNDAはたいてい、将来的に発表されるまでそのデバイスについての情報を守秘するか、
      もしくは仕様ドキュメントを私が直接公開しないように締結されます。
      それらのNDAプログラム締結によって作成された全てのコードは、GPLの元でカーネルツリーに含まれる
      形でリリースされますので、混乱は何も生じません。

    Q:これは宣伝が不十分であり、Linux developmentsは常にこのようなやり方をしてきたのでは?
    A:我々がLinux Foundationと共に締結してきたNDAプログラムは新しいものです。
      しかし、それよりも、これは確かにLinux kernel developmentsがやってきたことです。
      しかし、そのことに馴染みのない人に知らしむるためには良いですね。

    Q:あなたはドライバーを書くことを仕事にしている人たちの邪魔をしている。やめてくれ。
    A:それは全く違います。実際、それらの仕事をしている人たちから、この問題を広めた
      ことに対する感謝の連絡がきています。彼らは、いくつかの会社が契約上の問題を達成するために
      開発・サポートしている人々へ金を出したがっていること、またコミュニティが保証できない
      方法でサポートするために困難な立場にいる社員がいることを知っているのです。

    Q:企業が本当にこのプログラムをやると思いますか?
    A:はい、我々は自社デバイスにLinuxドライバーを書いている複数の企業から既に問い合わせを受けています。
      詳細は細部を詰めた後に発表できると思います。

    Q:弊社の某製品のドライバーを書いてもらえますか?その製品は製造中止となっており、誰も仕様を知りません。
    A:申し訳ありませんが、このプロジェクトは、我々が仕様を把握できたり、製造者のサポートが受けられそうな
      デバイスを対象としています。我々にはデバイスをリバースエンジニアリングするための労力や時間が
      余っていないのです。ご了承ください。

    Q:このプロジェクトでは開発者を必要としていますか?
    A:はい、e-mailを私に送ってもらうだけでこのプロジェクト参加者リストに加えさせてもらいます。
          我々は常に助けを求めています。

    Q:企業はこの申し出を受けますか?
    A:はい、最初の反応は素晴らしいものでした。このプロジェクトのおかげで、かなりの数にのぼる新しい
          Linuxドライバーが生み出されることでしょう。

    Q:カーネルツリーから外れているGPLドライバーをメインカーネルツリーへ組み込む事に関してはどうですか?
    A:過去に多くの人々からオファーがあり、Linuxに組み込むことについては歓迎しています。
          しかし、我々は作者からの許可なしにそのコードをメインカーネルへ引き込みません。

    Q:BSDに関してはどうですか?
    A:彼らに関して何を?彼らが何をするかは彼らの自由ですし、私は彼らの開発にコミットすることはありません。
          ご了承ください。
    • by Anonymous Coward on 2007年02月18日 11時15分 (#1111913)
      わかりやすい翻訳、お疲れ様です!
      紳士的に意訳されていますね :)

      ただ、

      Q:あなたは企業にとって最も利点となることについて言及するのを忘れています。即ち、
       「このプラグラムによってもっとデバイスが売れるかもしれない。
        どうしてこのようなオファーを断ることができようか。」
      A:確かに(笑)

      この部分、鍵括弧の位置が違うような…。
      「どうしてこのようなオファーを断ることができようか。」の部分は原文では括られていないので、企業に対するアピールというより、このプロジェクトの中の人に対して言っているように私は読みました。

      Q:あなたは企業にとって最も明白な利益について言及するのを忘れてます。
       「このプラグラムによってもっとデバイスが売れるかもしれない!」
        彼らは、どうしたらこのオファーを断れるんでしょう?
      A:なるほど(笑)

      みたいな。
      親コメント
  • by amura (15484) on 2007年02月18日 0時45分 (#1111775) 日記
    これに対する反論は、「こちらとしては、皆さんの邪魔をするつもりはありません。 ただ Linux にあらゆるデバイスの GPL ドライバを用意することを目指しているだけです」と、なかなか説得力があります。
    ごめん、どこに説得力があるのかわからない。
    theo は、「仕様書を公開しなくてもFree UNIXのドライバを用意してもらえる」という流れになるのが嫌だと言っているんでしょう?その立場からすれば、「Free Linux Driver Development 」キャンペーンは邪魔な活動でしかないと思えますが。

    NDA下でGPLドライバを書くとなると、ソースコード中のレジスタマップとか、フラグの名前とか、動作状態のコメントをごっそり省かないといけないんじゃないでしょうか。個人的には、そんなメンテしづらい物をGPLで公開しても意味無いとしか思えません。
    --
    なんちゃってプログラマ?
    • by Anonymous Coward on 2007年02月18日 8時57分 (#1111880)

      廻りに迷惑を掛けずに理想論の世界で生きたければ、人間界から隔絶した仙界に行くしかないでしょ。そういう道を選んだ仙人様が人間のやることに文句をいうのは、筋違い。人間が仙界に手を出したならともかく、人間が人間界で勝手にやってることで仙界に影響が出ようが出まいが、人間の知ったことじゃありませんよと。

      ってうか、そもそも Linux の存在自体が、BSD にとっては活動の邪魔でしょ。Linux が興隆し始めた頃の BSD コミュニティはそんな雰囲気に溢れてた。その BSD が、ドライバごときで何を今更。このさい、Linux は邪魔な存在です、ぐらい言いきっちゃえば神なのに。あ、仙人から神になったんじゃ、格落ちですか。

      親コメント
      • by Anonymous Coward on 2007年02月18日 16時40分 (#1112007)
        Free Linux Driver Development キャンペーンの方式が達成された場合
         Linux陣営:
         ・NDAの元で仕様書を見てGPLなドライバを書く。
         ・メンテナンスできなくて困る。
         BSD陣営:
         ・Linux陣営のドライバから仕様を推測してBSDLなドライバを書く。
         ・メンテナンスできなくて困る。

        Theo の方式が達成された場合
         Linux陣営:
         ・公開された仕様書を見てGPLなドライバを書く。
         ・BSD陣営からドライバをパクってくる。
         ・メンテナンスできる。
         BSD陣営:
         ・公開された仕様書を見てBSDLなドライバを書く。
         ・メンテナンスできる。
        親コメント
        • それを言うにはそれぞれの実現可能性を考慮する必要があるでしょう。
          それに、関係者のピラミッドで一番多いであろう「一般ユーザ」が望むことは
          「ドライバが使える」ことですからね・・・。
          それがベンダが提供・管理するものであっても全く問題ないわけです。
          --

          --- (´-`)。oO(平和な日常は私を鈍くする) ---
          親コメント
          • 「ドライバが使える」ではなく「使いたいデバイスが (問題なく|安心して) 使える」では。ユーザが求めるのはドライバが動作することではなくデバイスが動作することなのですから。

            で、NDA 契約を取り交わした開発者がリリース後 1 年ちょっとで不慮の事故で亡くなったりした場合、そのドライバはメンテナンスされ続けるのでしょうか。ベンダが「もう生産終了したのでこれ以上資料は出せない」などと言ったら「十分なサポートが得られない」からあっさりサポートを打ち切るのではないかという疑念は消せないでしょう。

            そういった点も Theo が吼えている理由なのではないかと思います。

            ま、それでも、まずドライバが増える方向はいいと思います。最初から完璧な理想を望んで一歩も進めないよりは。たとえそれが no-GPL なベンダ提供バイナリドライバでも。

            親コメント
    • GPL下でリリースしたコードに、第三者が「勝手な」推測によって、「それらしい」コメントを付与したり、変数名を変更すれば良いのでは?

      親コメント
    • 僕もタレコミ文の「これ [OpenBSD 陣営の反発] に対する [Greg KH 氏の] 反論は…なかなか説得力があります」という表現は最初ピンときませんでした。

      べつに Greg KH 氏は Theo de Raadt 氏 (OpenBSD のリーダー) の反発に反論しているわけではありません。 Greg KH 氏が説得しようとしている相手はハードウェアメーカーや Linux ドライバー開発者 (これからなる人も含む) であって、彼らに対しては Greg KH 氏の「よそはよそ、うちはうちで行きましょう」という表明には説得力があるでしょう。一方この表明で蚊帳の外に置かれている de Raadt 氏が納得するはずもありません。 de Raadt 氏は今後も反対を続けるでしょう。どちらの主張もおかしいとは思いません。

      僕はオープンソースの楽しいところは勉強する意志さえあれば中身が理解できることだと思っているので、コードのライセンスだけ GPL でも正直面白くないなと思ってしまいます。しかし、もちろんこのプロジェクトがなければ Linux 用のドライバーが用意できないハードウェアだってあるでしょうから、「だったらお前が使おうとするハードウェアのドライバーがなくて困ってもかまわないのか」と言われると、そんなに簡単にどちらが良いとは言えないし、それ以前に「お前には仕様書を読んでドライバーを理解するだけの勉強をする意志があるのか」と言われるとニントモカントモ。

      NDA下でGPLドライバを書くとなると、ソースコード中のレジスタマップとか、フラグの名前とか、動作状態のコメントをごっそり省かないといけないんじゃないでしょうか。個人的には、そんなメンテしづらい物をGPLで公開しても意味無いとしか思えません。

      この点はどうなのか僕も知りたいところです。このプロジェクトが (OpenBSD の役に立たない/むしろ OpenBSD にとっては有害かもしれないのはおいておいて) どの程度 Linux の役に立つのかという点です。

      親コメント
      • とりあえず、現状でバイナリドライバすら提供されていなくて使えないデバイスや、継続的にメンテナンスの行われていないバイナリドライバしか提供されていないデバイスに関しては、良くなることはあっても悪くなることはありません。

        しかし、Linuxでの状況が改善されてしまうことによってメーカーに対する仕様公開圧力が弱くなってしまうと、メーカーに対する影響力が皆無に等しいOpenBSDのようなところは困るわけです。

        親コメント
        • とりあえず、現状でバイナリドライバすら提供されていなくて使えないデバイスや、継続的にメンテナンスの行われていないバイナリドライバしか提供されていないデバイスに関しては、良くなることはあっても悪くなることはありません。

          そこが本当にどれだけ改善するかがポイントだと思うんですよね。

          Free Linux Driver Development プロジェクト (以下 FLDD) に賛同するハードウェアメーカーと開発者が多数いた場合、一応 FLDD は短期的には成功だと言ってよいでしょう。この場合、自動的に、ハードウェア仕様が公開されることは減るでしょう。そのとき:

          • これで良いドライバーがたくさんできて、しかも今後カーネルのバージョンが上がる等しても、 (必要なら別の人が再度秘密保持契約を結ぶなどすることで) メンテナンスが可能ならば → Linux 得、 OpenBSD 損
          • 案外メンテナンスの面でぼろが出て、結局使えなければ → Linux 損、 OpenBSD 損

          FLDD 失敗 (FLDD に賛同するメーカー・開発者がほとんどいない) → 現状のまま (Linux も OpenBSD も得も損もしない)

          僕は、オープンソース OS どうしだから協力するべきだ、なんて甘い考えは持っていないつもりです。 Linux ドライバー開発者が自分たちにとって得なことをするのは結構だと思います (「神の見えざる手」的な楽観主義というよりは、ほかにやりようがないというだけ)。でも、この FLDD については、本当に Linux にとって得なのかな、というのが僕の疑問です。

          親コメント
  • by Anonymous Coward on 2007年02月18日 8時44分 (#1111878)
    一般的に、セキュリティに関しては、

    プロプライエタリ→ソースが公開されてなくて悪人に見られないからセキュア
    オープンソース→ソースが公開されピアレビューが働くからセキュア

    だという主張だと思います。実際にはソースが公開されていなくても
    解析されてしまったりとか、ピアレビューとか言ってても実際には誰も
    見てなかったりとか、理想どおりには行かないですが、いちおう、理念と
    してはそういうことだと思います。

    でも今回のは、ソースが公開されているから簡単に悪用可能で、かつ、
    仕様が公開されてないからソースを見ても意味不明なのでピアレビューが
    働きにくい。セキュリティ的には最悪のケースだと思います。
  • by gonta (11642) on 2007年02月18日 1時26分 (#1111808) 日記
    PCMCIAのSCSIカードで、NinjaSCSIというデバイス名で識別されるカードがあった。FreeBSDのPAOで利用できるのだが、まあ、メーカー配布のドライバがタコ。PAO関連でデバイスドライバ書いていた連中が「こんなドライバなら、仕様公開してくれた方が、よっぽどこっちでまともなの、書いたのにねぇ」といっていた。

    しばらくしたら、PAO連中が本当にまともなドライバを書いてきた。こういったこともあるから、nVIDIAだし、せっかくのカードだから、是非「わかった連中によるドライバ」を書いてほしい。もちろん、メーカに「わかった連中」がいれば別ですが。
    --
    -- gonta --
    "May Macintosh be with you"
  • by KENN (3839) on 2007年02月18日 13時56分 (#1111957) 日記

    言いだしっぺはPenguin haiku [kroah.com]の人みたいですね。
    (参考:Kernel Watch [atmarkit.co.jp]の「ペンギンはバイナリモジュールの夢を見るか?」)

    ということは、「ドライバを増やすこと」よりもむしろ「GPL以外のライセンスで配布されるバイナリドライバを減らすこと」の方が主目的なのかもしれません。そう考えると、「原則を貫き通そうとするOpenBSD」と「実利優先のLinux」という、よくある構図のようにも見えます。

    • Re:アプローチの違い? (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2007年02月18日 14時15分 (#1111962)
      「ドライバを増やすこと」よりもむしろ「GPL以外のライセンスで配布されるバイナリドライバを減らすこと」の方が主目的なのかもしれません。そう考えると、「原則を貫き通そうとするOpenBSD」と「実利優先のLinux」という、よくある構図のようにも見えます。
      ???「ドライバを増やすこと」が主目的なのであれば実利優先というのは ある程度納得できるんですが、「GPL以外のライセンスで配布されるバイナリドライバを減らすこと」って実利優先って事になるんでしょうかね?

      長期的に見ればハードの仕様公開を要求するのだって利益になるはずだし……
      親コメント
      • Re:アプローチの違い? (スコア:4, すばらしい洞察)

        by KENN (3839) on 2007年02月18日 18時16分 (#1112034) 日記

        「バイナリドライバを制限する手法の1つを提案した」つまり、メンテナンス性などの面からバイナリドライバを無くしたがっていた開発者と、今回のキャンペーンを提案した人が同一人物だというのがミソでしょう。

        単純にバイナリドライバを制限してデバイスを使えないようにしても、デバイスメーカーの理解もユーザーの共感も得られないけど、今回の手法であれば、

        • 開発者はドライバのソースが手に入る
        • メーカーは自分でドライバを提供する必要が無くなる
        • ユーザーは今まで通りデバイスを使える。
          (むしろ使えるデバイスが増えるかも)
        と、誰にもデメリットが無い、いいこと尽くめの話のように見えます。

        もちろん、仕様を公開してもらってドライバを作成するのが理想ですが、すべてのデバイスメーカーが受け入れてくれるわけではないというのは、OpenBSDの例を出すまでも無く自明です。
        (判りやすいのはX)

        つまり「ソース付きのドライバが欲しい」という目的はどちらも大差ないんですが、理想を追い続けてデバイスメーカーに仕様の公開を働きかけてきたOpenBSDに対して、「とりあえずソースつきのドライバを増やそう」というのが今回の話な訳です。で、「それで妥協したらメーカーが仕様を公開しなくなるだろ!」ってのがOpenBSD側の言い分でしょう。

        親コメント
      • by marudiana (31904) on 2007年02月18日 18時09分 (#1112032)
        長期的に見ればハードの仕様公開を要求するのだって利益になるはずだし……
        ホントに?

        クローズドな俺仕様で囲い込むのは利益の大きいビジネスモデルですが。
        PCの仕様を公開したIBMと、公開しなかったNECを見ればよく分かるかと。

        仕様はノウハウを含んでるので他社に見られたくないだろうしね。
        親コメント
  • 乗る会社があるのか? (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2007年02月17日 22時39分 (#1111728)
    仕様を公開したがらないところがGPLなものを作らせるのか?
  • GPLのドライバを作成した時点で、仕様を公開したのと同義では無いのでしょうか?
    • by iouri (268) on 2007年02月18日 1時01分 (#1111789)
      たとえていえば、英日対訳がついた教科書ガイドだけでは、英和辞典は作れないといった感じ?
      GPLでソースコードは公開しないといけないけど、詳細に仕様をコメントに書く必要はなし。
      それでも、無いよりはずっとマシってのが今回の考え方で、現実的ではあるけど、周りの迷惑考えろって言ってる人たちのこともわからないではない。
      親コメント
    • by b-wind (13096) on 2007年02月18日 0時43分 (#1111772) 日記
      ドライバから分かるのはインターフェイスの使用例のみ。
      それが本当に仕様どおりに作成されているかの検証すら第3者には不可能。

      と思えるのですが違うのでしょうか?
      親コメント
    • 仕様の範囲 (スコア:2, 興味深い)

      by gm300 (14617) on 2007年02月18日 15時31分 (#1111980) ホームページ 日記
      そうかな?
       仕様書をどこまで書くかはいろいろなんだろうけど、普通の状況では使わない仕様というのもあるんじゃ
      ないかな。たとえば、最近まで関係していたTV用デバイスだと、いろいろな形式の入力画像信号を統一的
      な形式で出力するというものがある。が、普通はFPlinkというLVDSしか使わない。赤外線リモコン入力信
      号も普通は1chしかとれないけど、実際は最大100個とれる。シリアルコンソールが実は2個繋がると
      いのも初期の仕様にはあった。最終的にはその部分は検証が間に合わず、仕様書にはあっても使えるかど
      うかは不明ということになった。

       けど、もしセットになったら絶対にそんな機能は使わない&使えない。従ってDriverソフトをどんなに
      見たってそんな機能があることは分からない。シリアルコンソールも普通にRS232Cとかに繋げたければ電
      圧を上げないといけないので、仕様書無しでは、適当に総当りで試しても簡単に探し出せるものではない。

       というわけで、仕様書の中でdriver開発に使われるのはほんの一部なんではないかな?DVD用のdevice
      でもregion codeを無視するとか、region codeの変更回数とかも含めて「出荷時の状態に戻す」なんての
      も仕様書には書いてあったりして。

       まずい部分を隠して仕様書を書き直すというのもアリだけど、開発が終了したデバイスに対してそんな
      面倒なことはしたくない。「この製品版のグラフィックカードを改造なしで使える範囲だけしかドライバ
      として実装しない。」という文面にサインさせれば多少の逸脱があっても、見逃すといのがコスト的には
      見合うのでは?
      親コメント
    • by Anonymous Coward on 2007年02月18日 21時10分 (#1112083)
      せいぜいが“仕様を公開した気になれる”止まりですよ。

      Linuxのドライバで使えた方法がOpenBSDでそのまま使えないって話は以前もあった。
      あのときもLinux陣営はさっさとNDAを結んで、Theoは情報を開示しろって吠えたけどもう忘れた?
       
      Miller氏は、UltraSPARC III版Linuxを見れば、同プロセッサの仕組みは「はっきりと分かる」と考えている。だがde Raadt氏によると、OpenBSDプログラマーたちがその方法を試してみたが、役に立たなかったという。
      OpenBSD開発者、Sunのオープンソース対応を批判 [archive.org]

      ドライバのソースを公開することで、全てを公開したことと同義になるなら
      EUの命令に対して、Windowsのソース公開で対応しようとしたマイクロソフトはどうなるの。
      あれ結局、仕様書がないと駄目だって突っぱねられたんでしょう。
      そこの所をよく考えてね。
      親コメント
  • RMS御大は、なんと? (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2007年02月18日 11時16分 (#1111914)
    RMS御大とかそこらへんのかたがたは、どう思うんでしょうね?
    「どこがフリーやねん?」と噛みついてたりしないのかな。
    コメント期待。
    #本家スラドなら本当に「コメント」を期待できるのかも。

    それにしてもNDAを満たしつつGPLなソースっての、
    なんかベニスの商人じみていて、
    実在する形がちょっと想像つかないな。

    対象物の仕様が滲み出ないソースって一体何?
    普通にソース書いたら、滲み出て当然でしょう。
    でもそれってハードメーカーに査読させたら(させるんでしょ?)ダメ出しされまくりそう。
    査読をクリアできるソースなんて、
    「劣悪な出来のソース」の見本みたいなものしか想像できないや。

    もしかして何らかの「難読化」のようなことをするんでしょうか?
    だとすればGPLの中での「ソース」の定義に抵触しかねない、
    グレーなものということになっちゃいそうだけど。
    (人間様がまともに読める、っていう条件がたしか有ったよね>GPL)

    #発注者が「関数名は通し番号にせよ」とかホザキやがったので、
    #関数名の対応表をDBに保管したうえで通し番号に置換するツールを自作して対抗したAC。
  • by Anonymous Coward on 2007年02月17日 22時23分 (#1111718)
    いつかは「無料で書きます」が終わるのでしょう。この企業としたらそこからが勝負で

    ・バグフィックスなどのメンテナンスは有料
     (いや、もしかするとキャンペーン期間中でもメンテ有料かも!)
    ・新製品のドライバも有料

    で、企業が金を出すのを拒めば「ああ、残念ですがこの製品のドライバはもう改定しません」と言えばすみそうです。

    とっかかりを作るにはよさげで、結局企業は金か仕様を出さなきゃいけない羽目になるんじゃないかなぁ
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...