Becoming a Linux Kernel Programmer?
Young Grasshoopa asks: "In my 6 years of IT life, I've been a sys admin, perl programmer, and a config. mgmt. engineer. I've recently learned programming in C, and somehow ended up learning a bit of Linux Kernel programming as well. I now have developed a strong motivation to become a Linux kernel developer, but given my background, I am not sure how to approach companies or Open Source Project groups. I ask all those who were in a similar situation - how do you become a full-time kernel developer?"
Start for free. Sure, it sounds odd, but you have to get your foot in two doors. First, the linux kernel proper. Second, a company or position that will pay you for the privilege.
If your code isn't accepted into Linus' kernel, why should they pay you? I'm sure there's a lkml faq that has answers for the first step. Finding an employer who will pay you... I understand Red Hat will have an opening, now that AC is taking a sabbatical:)
Jesus was all right but his disciples were thick and ordinary. -John Lennon
the easiest way would be
to start as a part time kernel developer.
find something wrong.
fix it.
find who's in charge of that code.
send it to them.
if there's not anyone,
contact one of the high mucky-mucks,
and let em know.
maybe the maintainer will be you.
Well its a strange question to ask, normally one becomes a Kernel Developer, by having a need, usually unsupported hardware, and they write a driver for it... It sounds like you are at this stage already
To me it sounds like Young Grasshoopa wants to be a kernel developer because [s]he would like to be a kernel developer, not because they have a requirement for features no-one else is working on.
In which case I would think the first thing [s]he should do is get themselves a purpose. Or, as others have suggested, become a janitor or documentation writer.
Not that I know what I'm talking about as I'm not a kernel hacker, but I acknowledge that there would be a certain coolness about being one.
Yours Sincerely, Michael.
I think wanting to contribute "just because" is motivation enough ...
;).
At my POE, we are planning to rewrite a lot of stuff real soon now; when we do so, we intend to create a LOT of generic, reusable components a) for our own benefit, naturally and b) so we can contribute (the now not-so-proprietary) code back to the community, because essentially, without Free Software, we would not be able to operate (and trying to convince the boss to give money is futile
My point is, simply wanting to contribute back to the community that many of us have benefitted so much from is motivation enough; why would you suggest that someone only contribute when they have a personal need for a feature set? Isn't that sort of selfish? And so what if someone just wants to contribute for "geek points" or ego, or whatever; their code shouldn't make it into the kernel unless it is up to snuff, so to speak, so who the hell cares what their motivation is?
Make a compilable module for the kernel. It doesn't actually have to be in the kernel-proper code to be useful as lots of companies release 3rd-party kernel-module-source (my fasttrak promise TX2000 pro RAID card, and also the DIGI multiport card for example).
If it's useful and stable enough to be of benefit to the linux users at large, perhaps you could then lobby to have it put in the base kernel. One trick would simply be to find out a new technology or popular device that is coming out and create a decent driver module for it...