It's free as long as you have the source code with the permissive license. And a company shipping GPL code could stop updating it at any time--e.g. MySQL.
Also, unfortunately, no GPL code authored by a real person is guaranteed free forever, because US copyright law gives individuals an inalienable right to terminate a license at 35 years after publication, regardless of the terms of the license. (In practice this is nothing to worry about, but corporate lawyers like to bring this up and it's caused no end of bickering between Stallman, the FSF, and proprietary software advocates.)
Don't get me wrong, I'm not anti-GPL. But the differences between GPL and BSD, et al licenses are more subtle. Does the GPL nudge companies to contribute more? In some cases, yes; in others, no, because they simply avoid it.
For example, my company encourages me to work on and release Free Software (and I have, and Apple and Google and Hulu use my FOSS software), but they ask I use a BSD or MIT license. GPL licenses give them headaches and they don't want to be hypocrites about it. GPL licenses have real costs when distributing products, because even if compliance isn't a roadblock, it still takes time and effort. This is why everybody appreciated the U. of California Regents rescinding the advertising clause from the original BSD license.