Even if a software is on Gnu public license or a free license, the software could be unreadable or difficult to understand for many reasons: not modularity, bad object definition, no comments, legacy piece of code inside the software, and so on..
this is a small experiment: <a href="http://synesthesiam.com/posts/what-makes-code-hard-to-understand.html" rel="nofollow">http://synesthesiam.com/posts/what-makes-code-hard-to-unders...</a>