Maintaining Permissive-Licensed Files in a GPL-Licensed Project
softwarefreedom.orgAs a general rule, I prefer to keep BSD/MIT-licensed code I incorporate into my GPLed works in a separate include file, so it's clear what code is covered by what license. Any enhancements or changes I make to said BSD/MIT-licensed code, I release as BSD/MIT despite my preference for the GPL* for the overall work so the upstream developer as well as any other interested parties can make use of my work under their preferred license if they so choose.
* as a general rule, I prefer to release things like Windows apps as GPL to prevent a third party from just taking the work and commercializing it without giving back, similarly to how apps like GIMP, AbiWord, Pidgin, etc are licensed. I prefer to release things like libraries and components as BSD/MIT (and occasionally LGPL in very specific circumstances) to ensure they get broader use and broader contributions.