Как ввязаться в большой opensource-проект?
Я расскажу как я начинаю работу с новичками в нашем проекте.

Первая задача — вытянуть последнюю версию из репозитория кода и скомпилировать на целевой платформе, попутно установив все зависимости.

Затем, в зависимости от интересов человека, ставлю задачу либо по исправлению какого-либо существующего бага, либо по разработке небольшой функциональности из списка TODO.

От новичка ожидается, что он будет приходить в IRC или стучаться в Skype, и я подсказываю, где и куда смотреть, какой код править.

Без такого коучинга процесс был бы крайне небыстрым, так как строк кода очень много, несмотря на структурированность и логичность.

Многолетний опыт работы в Google Summer of Code показывает, что практически во всех крупных проектах есть люди, готовые заниматься менторством, при условии что новичок будет сам работать, сам читать девелоперские доки и задавать вопросы, которые отсутствуют в документации, либо нетривиальны. Для общения доступно много каналов, начиная с IRC, и заканчивая -devel списками рассылок.
К слову о ядре Linux — есть книжка Бовета и Чезати «Ядро Linux» (в английском варианте — Understanding The Linux Kernel). ИМХО — неплохое введение в общую архитектуру, основные идеи и «где что лежит».

Но, конечно, в случае ядра linux просто жизненно необходимо просто научиться программировать под linux, разобраться с системными вызовами, механизмами IPC и прочим, прежде чем лезть в само ядро