Introducing Myself, Looking to Learn

Robert P. J. Day rpjday at
Tue Sep 3 17:44:30 EDT 2013

On Tue, 3 Sep 2013, Valdis.Kletnieks at wrote:

> On Wed, 04 Sep 2013 02:05:42 +0530, Varad Gautam said:
> > Hi Vladis! Thanks for replying. I think I would be fine with
> > writing real code once I figure out what goes where.
> Well, assuming you have a background as a professional or very
> serious amateur programmer, *and* you have a *particular* drive to
> do something specific.  There's still a lot of code being added by
> amateurs who have some weird USB device that doesn't have a driver
> and so on - but there's less and less room for beginners that just
> want to hack code and don't care where.  Data structures and
> algorithms have gotten more complex, the locking is more
> fine-grained and subtle - gone are the days you could just take the
> Big Kernel Lock and not worry, now you ofteh have to understand
> stuff like RCU locking.
> So you might want to stop and ask yourself *why* you want to write
> code for the kernel. :)

 i'm going to jump in here since i see this question annoyingly
frequently -- "i'm new to the kernel and i want to get involved and
write code; how do i start?"  to be blunt, if that's your starting
point, you're not ready to write code for the kernel. period.

 as vladis quite correctly points out, gone are the days when there
was piles of simple coding to be done. most of the kernel is well
established, solid and stable, and ongoing development is *very*
advanced. in other words, there's less and less room for enthusiastic
beginners. but there's more.

 at the very least, you should have an idea of what part of the kernel
interests you most. if you can't even identify which major subsystem
-- networking, USB, video, etc. -- you want to work on, you aren't
even *remotely* ready to start writing code.

 it's somewhat absurd to say you want to get involved in kernel
development, then ask *others* where you should start. it's like
saying, "i really want to write a book, but i have no idea what i
should write about. can you give me some ideas for a plot? and
characters? and possibly an ending?" yes, it's that silly.

 if you're a beginner, then the obvious starting point is to start
reading. and read. and read. and when you're done reading, read some
more. and slowly, you'll figure out what interests you most. and
that's where you then spend your time.



Robert P. J. Day                                 Ottawa, Ontario, CANADA


More information about the Kernelnewbies mailing list