[1] explains the difference. Why is a BSD license not free but the GPL is? Because a BSD type license allows you to take software and turn it into non-free software. IOW, you could take BSD software, base your new software on that software and not release your changes or your source code.
I'm not imparting morality here, just trying to explain to you the difference between BSD and GPL and why some consider BSD to be not free.
[1] http://understandinglimited.com/2007/12/13/rms-on-bsd-vs-gpl...