All of the major Linux distributions ( Craftworks, Debian, Slackware, Red Hat etcetera) include the kernel sources in them. Usually the Linux kernel that got installed on your Linux system was built from those sources. By their very nature these sources tend to be a little out of date so you may want to get the latest sources from one of the web sites mentioned in chapter . They are kept on ftp://ftp.cs.helsinki.fi and all of the other web sites shadow them. This makes the Helsinki web site the most up to date, but sites like MIT and Sunsite are never very far behind.
If you do not have access to the web, there are many CDROM vendors who offer snapshots of the world's major web sites at a very reasonable cost. Some even offer a subscription service with quarterly or even monthly updates. Your local Linux User Group is also a good source of sources (no pun intended).
The Linux kernel sources have a very simple numbering system. Any even number kernel (for example 2.0.28) is a stable, released, kernel and any odd numbered kernel (for example 2.1.21 is a development kernel. This book is based on the very stable 2.0.28 source tree. Development kernels have all of the latest features and support all of the latest devices. Although they can be unstable which may not be exactly what you want it is important that the Linux community tries the latest kernels. That way they are tested for the whole community. Remember that it is always worth backing up your system thoroughly if you do try out non-production kernels.