From Fedora Project Wiki
Stop (medium size).png THIS IS A DRAFT. DO NOT RELY ON IT FOR ANYTHING UNTIL THIS NOTICE DISAPPEARS AND THE DOCUMENT IS PLACED IN ITS FINAL NAMESPACE


Banish kernel module packages from Fedora entirely

Summary

Entirely banish all packages containing kernel modules from Fedora, except for the kernel itself. Any non-upstream drivers we support shall be supported by the stock kernel RPM; not an add-on.

Owner

  • Name: DavidWoodhouse, JesseKeating

Current status

  • Targeted release: Fedora 8
  • Last updated: 2007-09-08
  • Percentage of completion: XX%

Detailed Description

There is no justification for shipping kernel modules as separate packages within Fedora, in either source (dkms payload) or binary (kmod/kmdl) form. If code is good enough to ship, it should be shipped in the kernel package. If it's not, then it should not be shipped at all with the 'Fedora' name on it.

Third parties can of course ship whatever they like, however dubious the legal or technical aspects of it... but they do so outside the confines of the 'Fedora' offerings.

Kernel module packages just cause gratuitous complexity for RPM/YUM and for users, without any real benefit.

Where there are certain drivers which are almost ready to be merged upstream and which Fedora would benefit from shipping, we have always managed to do that. The bcm43xx driver is such an example, and other wireless drivers more recently. There have been plenty more in the past too. It was never necessary to ship these as separate modules -- only for them to have an active maintainer and permission from the owners of the kernel rpm.

Instead of shipping kernel add-ons in separate packages, we should consider adding patches to the kernel RPM instead. There would be very few such patches, and in general it should be only drivers which are acceptable upstream and are shortly to be merged. The owners of the kernel RPM would be the final arbiters of what may or may not be included.

If a contributor is permitted to maintain such a driver, they may be given commit access to the kernel, but they would be expected to touch _only_ their own patch, which should cleanly and unintrusively add the new code. If the patch ever causes problems during a kernel build, kernel maintainers may disable it or disable the config option which enables the driver in question (just as they do for in-tree drivers from time to time when stuff breaks). The owner of the feature will be expected to fix it up.

Benefit to Fedora

The complexity of separately-packaged kernel modules is unnecessary, and the users' problems with upgrading when the modules are not built synchronously with the kernel will no longer be possible.

Scope

Just Say No.

Test Plan

yum search kmod

User Experience

1. Users should no longer have problems with kernel modules being out of sync with the latest kernel erratum. 2. Users may miss kernel modules that are useful for them but not in the Fedora kernel.

Dependencies

None

Contingency Plan

Have Lobotomy. Stop caring about how stupid it is to ship kernel modules separately from the main kernel package.

Documentation

Release Notes