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

Linux開発者向けMLに大きなパッチを送るにはどうすれば良い?」記事へのコメント

  • 問題のパッチは、56ファイル13万行で4.6MBありますが、
    日立のファイバチャネルボード用のドライバ(hfcldd)を新規追加するもののようです。
    基本的に「複数のパッチに分割」なんてできそうにないと思いますが、いったいどうしろというのでしょうか?…

    対応機種が多いのか、hfcl_detect.c と hfcl_detect_fx.c で3万行取られてるのが大きい感じですので、
    「対応機種の少ないhfclddドライバを新規追加」と「hfclddに対して対応機種を増やすパッチ」という形なら分割できそうですが…無駄に手間をかけるだけだよなぁ。

    • 日立製品なのか社員なだけで関係ないファイルなのかで迷ってましたが、
      日立製品ならサポートページにULしたからDLしてね、をMLに回すじゃダメなの?
      親コメント
      • こういうのって、根回しが重要なんです。
        いきなり完成品の巨大パッチ送られても、そんなものレビューできないからお断りといわれるだけだ。

        最初に新しいハード用に新しいドライバを追加したいってお伺いする。
        単一機種用のプロトタイプを投稿してマージしてもらう。
        機能追加と、対応機種追加のパッチを送る。
        もちろん、その間によそ様のパッチが自分のところに影響があるようなら反映する。

        というような、根回ししながら、少しづつ受け入れ要請するのが普通。
        受け入れ時にレビューしてからマージするという過程が発生するということを、よく考えた方がいい。

        たぶん、自社のエンジニアが、大物コミッターとしてコミュニティーに君臨していて、その信頼で、俺が大丈夫と確認したからマージするとかって大ナタ振るわないと無理だよなあ。
        貢献度が大きくて、IntelとかAMD、IBMあたりだと、そういうゴリ押しができるところが強いわけだけれどね。

        親コメント
        • 最初に新しいハード用に新しいドライバを追加したいってお伺いする。
          単一機種用のプロトタイプを投稿してマージしてもらう。
          機能追加と、対応機種追加のパッチを送る。
          もちろん、その間によそ様のパッチが自分のところに影響があるようなら反映する。

          というような、根回ししながら、少しづつ受け入れ要請するのが普通。
          受け入れ時にレビューしてからマージするという過程が発生するということを、よく考えた方がいい。

          原理原則的にはそうでしょうね。
          日立の事情を知らないから推測になりますが、コードを公開するのに稟議を通してやっと承認がとれたから公開したという感じなのでは…07年位からコード書き続けて終わったから公開する。と言う事で、
          今更それに対して、linux-scsi方面に根回しするだけの工数を確保できないとかそういう、ものすごくしょっぱい社内事情がある感じがするんですよね。

          実際、最低限これがあればこの(基本的な)製品が動くはずです。と言う部分だけ抜き出して(それでも1メガバイト近くなる?)パッチで送って、それが承認されたら追加で…と段階を踏んでいくより無いでしょうね。
          git使って送るなら面倒くさいけどブランチを細かくしてやっていく。

          親コメント
        • >いきなり完成品の巨大パッチ送られても、そんなものレビューできないからお断りといわれるだけだ。

          実際そう言われてるね。

          親コメント
        • by Anonymous Coward
          ごめん、自分が理解出来てないみたいなんだけど
          これってカーネルとかディストリに取り入れてくれって話なの?

          パッチって書いてあったから自社製品の独自パッチと考えてたんだけど…。
          • by Anonymous Coward

            以前のsradのタレコミ(このスレッド [linux.srad.jp])でも話題になりました。
            Linuxでは、ある種のドライバはカーネルソースの一部としてでないと実装できない仕様になっているようです。
            そのため、ハードウェアのドライバを実装するだけでも、カーネル開発チームのレビューを受ける必要があります。

            自社製品のドライバを実装するのに、必要もないコードの書き直しが求められるとか、
            コミュニティへの根回しが必要とか、個人的にはちょっと嫌な感じがしますが、
            Linux文化的には当然視されているようですね。

            • > ハードウェアのドライバを実装するだけでも、カーネル開発チームの
              > レビューを受ける必要があります。
              ...
              > Linux文化的には当然視されているようですね。

              OS とハードウェアを製造している会社でハードウェア担当部門が
              ドライバを作ったら OS 部門はドライバのコードレビューをするでしょ。

              当然のことなんであって文化がどうという話ではない。

              親コメント
              • by Anonymous Coward

                自社内ならそうでしょう。
                当然日立もしてると思いますよ。
                しかし、他社OSのドライバ出すときに他社のコードレビュー受けるとか当然のことではない。
                Windows用のドライバはMSがレビューするのが当然とかありえないことは分かるでしょうに。
                最近はドライバに限らずカーネル機能の多くをモジュール化して、さらに動的な付け外しすら可能にするのが流れなんだが……

              • by Anonymous Coward

                そのかわりじゃないけどWHQLテストがあるし、Linuxもモジュール化することと、一体のソースセット内に入ることでのレビューは別の問題でしょう。

                # あとLinuxでのモジュールは、マージできるオープンソースであること、マージして変化に追従するって流れもあるので、なんか提示している問題がちがう気がするぞ

              • > 他社OSのドライバ出すときに他社のコードレビュー受けるとか当然のことではない。

                他社OS用のドライバを他社OSとは全く別に配布する場合と
                他社OSの一部としてドライバのコードをマージしてくれと
                他社に頼む場合を混同している。

                前者の場合なら Linux だってプロプラエタリ・ドライバのコードレビューなんて
                していない。

                後者ならマージする側の会社は当然、コードレビューするでしょ。

                親コメント
              • by Anonymous Coward

                「ある種のドライバはカーネルソースの一部としてでないと実装できない仕様」
                これが諸悪の根源ですね。
                「他社OS用のドライバを他社OSとは全く別に配布する」という手段が取れない。

              • その制限を克服するための仕掛けが DKMS [wikipedia.org] じゃなかったっけ?

                --
                uxi
                親コメント
            • そうなんですか。解説ありがとうございます。
              Linuxは自由なOSではないんですね…。セキュリティ面、堅牢性などの大義名分があるんでしょうが…。

              語弊覚悟でこれでは普及しない訳だ。

              # CentOS7拒否、6で強行
              親コメント
              • 他人があなたのコードを拒否したって、それは相手の自由なんだから当然でしょう?
                あなたにはあなたのコードを使ったり公開する自由があり、また他人から信用ならないコードを
                押し付けられない自由さを持っています。
                なぜ自由なOSでないと思うんでしょう。

                親コメント
              • by Anonymous Coward

                自由の意味を履き違えているとしか……

              • by Anonymous Coward

                普及の要因に自由不自由が関連しているとは思えないな。

              • by Anonymous Coward

                Windowsの場合、Vita以降なら過去のバージョンのドライバがそのまま動いたりするほどバイナリ互換がある。

                Linuxの場合、ドライバやカーネル内部のインタフェースを改良の名のもとに変更しすぎて、カーネルローダブルモジュールに互換性はなく、カーネルとともにメンテし続けないと、簡単に動かないドライバになり果てる。

                RHELとか一部のディストリビュータは、同一世代のディストリビューションの中でカーネルのバイナリー五感を保証して、カーネルローダブルモジュール型のドライバをrpmパッケージ化している。
                バニラのカーネルの場合、いつ内部構造が変更されるかわからないので、カーネルのレポジトリーにドライバを組み込めるかどうかが、死活問題だったりする。レポジトリに組み込まれれば、少なくともインタフェースの非互換が発生するような変更が行われれば、変更しないとコンパイルエラーになるので、変更したい側がメンテナンスせざるを得なくなるわけだ。

              • ドライバすら自由に配布出来ないのは要因になると思いますが。
                メーカーが参入しないのでユーザーは不便で利用しない。
                親コメント
              • by Anonymous Coward

                ドライバ作って配布するのも自分たちでカスタマイズしたカーネルを配布するのも自由ですよ

      • 自己レスだけど、これもしかしてLinuxとかML関係ない?
        単純にでかいファイルがメールに添付できないって事をMLで聞いただけ?
        親コメント

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...