But, when people use the word "free," even within a particular context, anyone would be able to understand what that person was talking about within an acceptable level of error.
I don't think so -- that is too much to ask. In any area, the meaning of freedom involves filling in details which are not obvious in advance. It seems simple while you stay at the abstract level; it becomes hard when you address the details. But, if I'm wrong (which is possible), please tell me how I can statically link a program that I write to a GPL'd lib and still retain my freedom to BSD license my code. Under the usual interpretation of the revised BSD license, this is straightforward. You put the revised BSD license on your file, you package it with the source of the GPL-covered library, and you release it all. The combination, as a whole, is under the GNU GPL, but anyone can use code from your file under the revised BSD license. This is lawful because the revised BSD license permits users to release the combination under the GPL.