[CentOS-devel] RFC: kmods SIG Proposal

Sun May 23 14:32:15 UTC 2021
Peter Georg <peter.georg at physik.uni-regensburg.de>

Thanks to everyone for the input so far. I updated the original proposal 
to reflect your input. In case I forgot something, please let me know.

Short summary of changes:
- Added information about kmod specific user space tools
- Specify concrete license requirements for third-party kernel modules
- Added working on a solution for signing kernel modules to the Roadmap
- Put more emphasis on collaboration with other existing efforts

I am happy to hear all your comments and suggestions!


The updated proposal:
= kmods SIG =

== Goals ==
The kmods SIG will focus on providing kernel modules currently not 
available in CentOS Stream.

== Status ==
Proposed: RFC and looking for a sponsoring Governing Board member

== What's in scope ==
This SIG is a good place for any kernel module that is beneficial to 
CentOS Stream, but cannot be directly contributed to any of the involved 
upstream projects. These kernel modules may be divided in three categories:

=== Restore support for deprecated devices ===
The CentOS Stream kernel includes several kernel modules for which the 
list of supported devices has been limited by Red Hat. This SIG aims to 
provide versions of these kernel modules with restored support for as 
many deprecated and removed devices as possible.

=== In-kernel modules not enabled for CentOS Stream ===
Many in-kernel modules are simply disabled for the CentOS Stream kernel. 
This may either be due to  drivers being deprecated and removed compared 
to older CentOS major releases or never being enabled in the first 
place. This SIG aims to provide these in-kernel drivers as external 
kernel modules to enable CentOS Stream running on a broader range of 
available hardware and provide other beneficial functionality.

=== Third-party external kernel modules ===
This SIG also aims to provide third-party kernel modules for CentOS 
Stream not (yet) available in upstream kernel.

=== User space tools ===
User space tools required by or specific to kernel modules provided by 
this SIG, which are not suitable to be included in EPEL, shall be 
provided by this SIG as well.

== What's not in scope ==
Anything that can be contributed directly to any of the involved 
upstream projects is not in scope. This includes, but is not limited to:

* Unrelated user space packages: These should be submitted to Fedora/EPEL
* Support for new architectures currently not supported by CentOS Stream
* Third-party kernel modules with a non GPL v2 compatible license

== Collaboration ==
It is desired to work closely together with other groups working on 
similar tasks within the CentOS Stream community and the broader 
Enterprise Linux community. In particular this includes, but is not 
limited to:

=== kernel-plus ===
Especially for in-kernel modules (the first two groups identified above) 
it is desired to closely work together with the kernel-plus 
developers/maintainers.

=== CentOS Stream kernel ===
A close collaboration with upstream is desired to get any valuable 
kernel module directly into the CentOS Stream kernel.

=== ELRepo ===
There is a large overlap with ELRepo for many of the kernel modules to 
be provided by this SIG for CentOS Stream. Hence we hope to establish a 
good connection with the ELRepo community which shall be beneficial to 
both sides.

== Roadmap ==
  * Provide packages for in-kernel modules with restored support for 
deprecated devices
  * Provide packages for in-kernel modules that have been supported in 
older CentOS major releases
  * Provide packages for further beneficial kernel modules requested by 
the community
  * Work with other SIGs and others involved to establish a common 
work-flow to sign kernels and/or kernel modules provided by SIGs.

== Resources ==
TBD

== Communication ==
The SIG uses the 
[[https://lists.centos.org/mailman/listinfo/centos-devel|centos-devel]] 
mailing list for coordination and communication.

TBD: Add note about regular meetings once established.

== Membership ==
The current set of members is:

##begin-members
  * ...
##end-members

The SIG is co-chaired by ... and ....

Everybody is welcome to join and contribute to the SIG. Membership can 
be requested by asking on the 
[[https://lists.centos.org/mailman/listinfo/centos-devel|centos-devel]] 
mailing list. Any current member can raise objections and request a 
simple majority vote on membership applications. SIG members are 
expected to actively contribute or otherwise remain engaged with the 
project. Stale members may be removed by a simple majority vote after 
six months of inactivity.

The SIG is co-chaired by two equal chairpersons elected by SIG members 
for one year. Each chairperson is elected individually using a plurality 
vote.