Few months ago, i promised myself that my code should be in the operating system i use.
I have a modified Linux kernel that i run . But that will never make it in mainline because i will need to go through a gazillion repos to check i did not break something.
With FreeBSD it took me months to learn the structure and get patches merged.
How i did it ?
1) I upgraded to 16-CURRENT
2) I targeted the region that nobody likes to touch => Drivers.
it boring, cause lot of kernel panic (Reboots) , but that taught me lot about the industry, expecially how some vendors will add complexity for the sake of complexity.
---
One of my initial fear was that i will get rejected or roasted by the maintainer because 'the driver is fine or hardware is 10-15 year old).
It did not happen. in fact, i learn more C coding from those review (I'm a ruby dev, so lot of optimisations is not a concern there)
Today, i'm targeting Realtek drivers.