For some, reading a body of source code without any guidence about what path to walk or where to focus your attention is really quite a hard way to learn.
And it is a skill, I also had a lot of trouble with it initially, but diving into several open source projects was the perfect way to practice it, and it helped me tremendously in my professional development.
For example, I would make sure to read about B+ trees first, before reading the implementation of indexes in SQLite or PostgreSQL.
I find that without knowing where to direct my attention, it is really hard to avoid getting distracted.