Several Democratic Congressmen are trying to prevent code developed by federally funded research projects from being released under the GPL because it might discourage commercial interests from adopting it. There’s an argument to be made there, but the Congressmen do a poor job of making it. They’re 100% correct in citing TCP/IP as an example that shows how government-produced technology can create massive returns in the private sector, but TCP/IP is a protocol, not a software package. People are free to implement TCP/IP under the GPL (as they have), the BSD license (as they have), and under commercial licenses (as they have). So the argument they make is utterly and completely specious.
I like the GPL, and I use plenty of software released under the GPL, but I don’t think it’s the right license for everything. For software produced as part of government research projects, the BSD license,or one like it, might indeed make more sense. The key is that volunteers working on public projects should be able to benefit from government researchers just as commercial concerns are able to. Hence, no proprietary licenses. At the same time, it should also be possible to integrate innovations that stem from federal research into commercial products without the burden of rewriting them from scratch to get around licensing issues. So, in this case, to me BSD makes the most sense.