議論中 タスクスケジューラに関して、議論参加者の1人が、カーネル開発中に互換性を維持する必要性についての発言にもかかわらず、 Linuxカーネルの最近の変更により、モジュールの正常な動作が妨げられています。」。 ライナス・トーバルズ その原理」 「」は、カーネル自体だけでなく、ユーザー空間アプリケーションによって使用される外部カーネル インターフェイスも保持することを指します。 ただし、カーネルの主要な構成に受け入れられず、カーネル上で個別に開発されたサードパーティのアドオンはカバーされていません。その作成者は、自らの危険とリスクを負ってカーネルの変更を監視する必要があります。
プロジェクト「ZFS on」に関して Linux「LinusはCDDLとGPLv2ライセンスの非互換性を理由にzfsモジュールの使用を推奨しなかった。Oracleのライセンスポリシーにより、ZFSがコアカーネルに組み込まれる可能性は非常に低い。外部コードにカーネル機能へのアクセスを提供する提案されている仲介手段は、疑わしい解決策である」と弁護士は続けている。 ラッパーを介して GPL カーネル関数を再エクスポートすると、GPL に基づいて配布する必要がある派生著作物が作成されるかどうかについて。
Linus が ZFS コードをメインカーネルに受け入れることに同意する唯一の選択肢は、主任弁護士、またはできればラリー・エリソン自身によって認定された、Oracle からの正式な許可を取得することです。 プログラミング・インタフェースの知的財産に関するOracleの積極的な方針を考慮すると、カーネルとZFSコードの間の層などの中間ソリューションは許可されません(たとえば、 Java API に関しては Google と協力してください)。 さらに、Linus は、ZFS を使用したいという要望は、技術的な利点ではなく、ファッションへの賛辞にすぎないと考えています。 Linus が調査したベンチマークは ZFS をサポートしておらず、完全なサポートがないため長期的な安定性は保証されません。
念のため申し上げますが、ZFS コードは無料の CDDL ライセンスの下で配布されており、GPLv2 とは互換性がないため、ZFS を統合することができません。 Linux メインカーネルブランチへ LinuxGPLv2 ライセンスと CDDL ライセンスの下でコードを混在させることは許容されないため、このライセンスの非互換性を回避するために、「ZFS on Linux「本製品は、カーネルとは別に提供されるダウンロード可能なモジュールとして、CDDLライセンスの下で完全に配布されることが決定されました。」
既製の ZFS モジュールを配布キットの一部として配布する可能性については、弁護士の間で議論の余地があります。 Software Freedom Conservancy (SFC) の弁護士 ディストリビューションでのバイナリ カーネル モジュールの配布は、GPL と組み合わされた製品を形成しますが、結果として得られる作業は GPL に基づいて配布される必要があります。 正規弁護士 そして、コンポーネントがカーネルパッケージとは別の自己完結型モジュールとして提供される場合、zfs モジュールの配信は受け入れられると述べています。 Canonical は、ディストリビューションが NVIDIA ドライバーなどの独自のドライバーを提供するために長い間同様のアプローチを使用していると指摘しています。
反対派は、独自ドライバとのカーネル互換性の問題は、GPLライセンスの小さな中間モジュールを提供することで解決できると反論している(GPLライセンスのモジュールがカーネルにロードされ、その後、独自コンポーネントがロードされる)。ZFSの場合、このような中間モジュールは、Oracleがライセンス例外を認めた場合にのみ開発可能である。 Oracle Linux GPLとの非互換性については、OracleがCDDLに基づいて結合された著作物をライセンスする必要性を排除するライセンス例外を提供することで解決されますが、この例外は他のディストリビューションには適用されません。
回避策としては、モジュールのソースコードのみを配布する方法があります。この場合、リンクは発生せず、2つの別々の製品が配布されているものとして扱われます。 Debian この目的のために、DKMS(Dynamic Kernel Module Support)システムが使用される。このシステムでは、モジュールはソースコードで提供され、パッケージのインストール後すぐにユーザーのシステム上でコンパイルされる。
出所: オープンネット.ru
