If you’re a new open source contributor, the process can be intimidating. How do you find the right project? What if you don’t know how to code? What if something goes wrong?
A common misconception about contributing to open source is that you need to contribute code.
You don’t have to contribute just code
Before to write an issue or a new functionality
- check the FAQ first to see if your issue is addressed in a well-known question
- if you have a general question about the app (library etc.) usage, please ask it at Stack Overflow
- check the open issues to see if the issue has already been reported. If it has, don’t dismiss the report, but check the ticket history and comments. If you have additional useful information, please leave a comment, or consider sending a pull request with a fix.
- write complete, reproducible, specific bug reports. The smaller the test case, the better. Remember that other developers won’t have your project to reproduce the bug, so please include all relevant files required to reproduce it. See for example StackOverflow’s guide on creating a Minimal, Complete, and Verifiable example exhibiting the issue.
- provide falling testcase
- provide exact version
- fork the repo
- read the contribution guideline
- make your changes
- open PR (if it's a complex task, better open earlier to get a feedback)
- wait for the responses
- if the change is not accepted, don't complain about that
- There is exactly one person who can merge patches into the mainline kernel repository: Linus Torvalds.
- The kernel code base is logically broken down into a set of subsystems: networking, specific architecture support, memory management, video devices, etc. Most subsystems have a designated maintainer, a developer who has overall responsibility for the code within that subsystem.
- email conference: http://vger.kernel.org/vger-lists.html
- first search in the maillists
- dont ask userspace questions (it's not the overflow)
- Examples
https://lists.gnu.org/archive/html/coreutils/2016-01/msg00007.html https://opensource.com/article/18/8/first-linux-kernel-patch
https://github.com/torvalds/linux/commits/master/drivers/net/can/spi/mcp251x.c https://lists.freedesktop.org/archives/dri-devel/2015-July/087006.html