There are countless ways to contribute to open source projects like Fedora. Perhaps one of the most obvious ways to contribute is by helping with the Linux kernel in Fedora. At Flock 2016, I gave a talk about the state of the Fedora kernel. One of the themes of the talk was getting more people involved. The kernel is a project for everyone and all are welcome to take part. This article details what you can do to become a part of the kernel.
Understanding the Fedora kernel
If this is your first time sending patches, kernel newbies has a good tutorial on setting up your git environment. One way to get involved is to contribute to the Fedora-specific parts of the kernel. The Fedora kernel is separate, but based on the upstream kernel. Almost all the files in the Fedora kernel pkg-git repository are Fedora-specific. This includes the
kernel.spec, kernel configuration options, and support scripts. Changes to these files can be sent directly to the Fedora kernel mailing list. In general, anything that is not a kernel patch can be sent directly to the Fedora kernel mailing list for review. If there are configuration options that need to be adjusted for example, send a patch to the mailing list or attach it directly to a Bugzilla report.
For patches to the kernel itself, the best practice is to make sure all patches go into the upstream project first and then come into Fedora. It’s okay to have discussion in Fedora spaces first though. Fedora maintainers and other contributors give input about whether a proposal makes sense in general before it goes to a wider audience. Eventually, discussion and approval will need to head to the appropriate kernel mailing lists.
New comers may feel intimidated contributing to the kernel community outside of Fedora. It’s helpful to remember that the kernel community does not expect every patch to be perfect the first time, especially from new contributors. The best way to be successful in the kernel community is to do background research, make the best effort you can, and listen to whatever feedback is given. When maintainers have “acked” (acknowledged) your patch for the upstream kernel, you can submit it as a patch for the Fedora pkg-git repository and send it to the mailing list or attach it to a Bugzilla report.
Figuring out a first contribution can be tricky. The best way to get ideas is to build and run the project. Start by learning how to build the Fedora kernel. When patches come on to the Fedora kernel mailing list, download and apply them to your own build. As you build and test patches, think about if there is part of the process that could be improved. Would a script make building easier? Is some of the documentation confusing? Patches that improve your experience with the kernel will benefit everyone, even small fixes.
The easiest way to have discussions about the Fedora kernel is to use the Fedora kernel mailing list. Bugzilla may also be appropriate if the proposal has to do with a bug. There is also an IRC channel on Freenode, #fedora-kernel.